【AIGC】如何在使用stable-diffusion-webui生成图片时看到完整请求参数

背景

通过代码调用Stable Diffusion的txt2img、img2img接口时,很多时候都不知道应该怎么传参,比如如何指定模型、如何开启并使用Controlnet、如何开启面部修复等等,在sd-webui上F12看到的请求也不是正式调用SD的请求,所以当引入新插件或需要使用新功能时,怎么传参成了一个大问题,网上关于接口传参的资料也很少,接下来就介绍一下,如何在每次通过sd-webui点击生成图片时,获取到完整的请求参数。

开搞

需要使用到开源的项目:https://github.com/huchenlei/sd-webui-api-payload-display

里面只有几个文件,直接打包下载:

接下来需要做的工作很简单:

  1. 拷贝.js文件至sd-webui所在目录的javascript目录;

  2. 拷贝.py文件至sd-webui所在目录的script目录;

  1. 拷贝style.css中的内容,粘贴至sd-webui根目录下的style.css文件的末尾;(千万不能覆盖哦,是追加)

  1. 重启sd-webui

使用

打开sd-webui页面,可以看到多了一个按钮

展开就能看到所有的请求参数了

当然,如果要复制所有json的话,可以点击API payload旁边的Copy按钮,会自动复制所有内容。

遇到的问题

点击Copy按钮时,复制失败,显示:Failed to copy

原因可以认为是js中的代码被浏览器的安全机制拦截了,打开浏览器控制台可以看到:

Cannot read properties of undefined (reading ‘writeText’)

可以参考这篇文章解决:Enable the “Insecure origins treated as secure” setting

我用的是HTTP,所以看这一段就行

主要就是4步解决:


还有一点很重要,抓到的参数,可能比实际SD接口需要的多,最好是通过web-ui对比下哪些参数是必要的,传必要的参数即可,比如在使用面部修复插件时,遇到下面的问题:
在这里插入图片描述
杜比web-ui,将参数缩减后不报错了。
在这里插入图片描述
在这里插入图片描述

从日志中可以看到面部修复插件生效了:在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值