Stable Diffusion:一款强大的AI图片生成软件及其Web UI API介绍
Stable Diffusion是一款采用先进AI技术的图片生成软件,因其独特功能和强大创新性而吸引了众多设计师的关注。
在Stable Diffusion Web UI中,API(应用程序接口)是与系统进行交互的重要桥梁。下面是对Stable Diffusion Web UI API的主要介绍:
首先,您需要运行Web UI,并在命令行中添加 –api 参数,例如在您的 “webui-user.bat” 中设置: set COMMANDLINE_ARGS=–api。这将启用API,并且您可以在http://127.0.0.1:7860/docs查看相关文档,这个URL可能会根据实际情况变化。我们在这里主要关注 /sdapi/v1/txt2img 接口。
该接口将接收您发送的数据,并基于这些数据生成一张图像。例如,您可以构建如下所示的payload:
payload = {
"prompt": "maltese puppy",
"steps": 5
}
之后,您可以通过POST请求将payload发送到该接口,代码示例如下:
response = requests.post(url=f'http://127.0.0.1:7860/sdapi/v1/txt2img', json=payload)
在后台完成操作之后,API会将response返回。response包含三个部分:”images”(生成的图像)、”parameters”(发送到API的参数)、”info”(额外的信息)。
这里分享一个stable diffusion官方的账号,账号名是hnayzty,密码是zty34273305(二次验证实名信息:张腾宇,身份证号41O5O31996O3O45O18)
首先,您需要将response转换为JSON格式,以便于操作。然后,您可以使用以下方式从”images”中解码并获取图像:
for i in response['images']:
image = Image.open(io.BytesIO(base64.b64decode(i.split(",", 1)[0])))
除此之外,您也可以使用 /sdapi/v1/png-info API 获取图像的元数据,并将其嵌入到图像中,例如:
png_payload = {
"image": "data:image/png;base64," + i
}
response2 = requests.post(url=f'http://127.0.0.1:7860/sdapi/v1/png-info', json=png_payload)
然后,您可以使用 response2.json().get("info")
获取这些信息。
另外,您也可以使用 “override_settings” 参数来为单次请求覆盖Web UI的设置,例如”filter_nsfw”和”CLIP_stop_at_last_layers”。这些设置可以通过 /sdapi/v1/options API 获取。
综上所述,API为Stable Diffusion Web UI提供了极其丰富和灵活的操作方式。无论您是希望生成具有特定特征的图像,还是希望深入定制Web UI的行为,都可以通过API轻松实现。同时,由于API返回的丰富信息,您也能清晰地了解每次请求的详细情况,从而进一步优化您的操作。
最新推荐
-
excel怎么把一列数据拆分成几列 excel一列内容拆分成很多列
excel怎么把一列数据拆分成几列?在使用excel表格软件的过程中,用户可以通过使用excel强大的功能 […]
-
win7已达到计算机的连接数最大值怎么办 win7连接数达到最大值
win7已达到计算机的连接数最大值怎么办?很多还在使用win7系统的用户都遇到过在打开计算机进行连接的时候 […]
-
window10插网线为什么识别不了 win10网线插着却显示无法识别网络
window10插网线为什么识别不了?很多用户在使用win10的过程中,都遇到过明明自己网线插着,但是网络 […]
-
win11每次打开软件都弹出是否允许怎么办 win11每次打开软件都要确认
win11每次打开软件都弹出是否允许怎么办?在win11系统中,微软提高了安全性,在默认的功能中,每次用户 […]
-
win11打开文件安全警告怎么去掉 下载文件跳出文件安全警告
win11打开文件安全警告怎么去掉?很多刚开始使用win11系统的用户发现,在安装后下载文件,都会弹出警告 […]
-
nvidia控制面板拒绝访问怎么办 nvidia控制面板拒绝访问无法应用选定的设置win10
nvidia控制面板拒绝访问怎么办?在使用独显的过程中,用户可以通过显卡的的程序来进行图形的调整,比如英伟 […]
热门文章
excel怎么把一列数据拆分成几列 excel一列内容拆分成很多列
2win7已达到计算机的连接数最大值怎么办 win7连接数达到最大值
3window10插网线为什么识别不了 win10网线插着却显示无法识别网络
4win11每次打开软件都弹出是否允许怎么办 win11每次打开软件都要确认
5win11打开文件安全警告怎么去掉 下载文件跳出文件安全警告
6nvidia控制面板拒绝访问怎么办 nvidia控制面板拒绝访问无法应用选定的设置win10
7win11c盘拒绝访问怎么恢复权限 win11双击C盘提示拒绝访问
8罗技驱动设置开机启动教程分享
9win7设置电脑还原点怎么设置 win7设置系统还原点
10win10硬盘拒绝访问怎么解决 win10磁盘拒绝访问
随机推荐
专题工具排名 更多+