Stable-diffusion-WebUI 的API调用(内含文生图和图生图实例)

Stable-diffusion-WebUI 的API调用(内含文生图和图生图实例)

    正在检查是否收录...

前情提要

在之前尝试使用Diffusers库来进行stable-diffusion的接口调用以及各种插件功能实现,但发现diffusers库中各复杂功能的添加较为麻烦,而且难以实现对采样器的添加,safetensors格式模型的读取。在官网上找到了webui有专门的api接口,能够极大方便我们进行类似webui界面的api调用。

diffusers文档

webui项目官网

webui API说明

webui项目部署

这种调用webui自带的api的方法需要先将webui运行起来,无论是自己从官网配置的webui,还是各类启动器一键启动的都是可以的。(我使用的为一键启动包,较为简单)

一键启动包教程

如果是自己配置的

使用

bash webui.sh --nowebui

或者

python launch.py --xformers --api

API接口调用

当我们把webui项目启动之后,我们可以看到运行的端口(默认为7860)

可以进行调用

1. 文生图(python示例):

import json import requests import io import base64 from PIL import Image url = "http://127.0.0.1:7860" prompt = "dog" negative_prompt = "" payload = { # 模型设置 "override_settings":{ "sd_model_checkpoint": "v1-5-pruned.ckpt", "sd_vae": "animevae.pt", "CLIP_stop_at_last_layers": 2, }, # 基本参数 "prompt": prompt, "negative_prompt": negative_prompt, "steps": 30, "sampler_name": "Euler a", "width": 512, "height": 512, "batch_size": 1, "n_iter": 1, "seed": 1, "CLIP_stop_at_last_layers": 2, # 面部修复 face fix "restore_faces": False, #高清修复 highres fix # "enable_hr": True, # "denoising_strength": 0.4, # "hr_scale": 2, # "hr_upscaler": "Latent", } response = requests.post(url=f'{url}/sdapi/v1/txt2img', json=payload) r = response.json() image = Image.open(io.BytesIO(base64.b64decode(r['images'][0]))) image.show() image.save('output.png')

2. 图生图(python 示例)

import json import requests import io import base64 from PIL import Image import cv2 url = "http://127.0.0.1:7860" prompt = "cat" negative_prompt = "" # 此处为读取一张图片作为输入图像 img = cv2.imread('image.jpg') # 编码图像 retval, bytes = cv2.imencode('.png', img) encoded_image = base64.b64encode(bytes).decode('utf-8') payload = { # # 模型设置 # "override_settings":{ # "sd_model_checkpoint": "v1-5-pruned.ckpt", # "sd_vae": "animevae.pt", # "CLIP_stop_at_last_layers": 2, # }, # 基本参数 "prompt": prompt, "negative_prompt": negative_prompt, "steps": 30, "sampler_name": "Euler a", "width": 512, "height": 512, "batch_size": 1, "n_iter": 1, "seed": 1, "cfg_scale": 7, "CLIP_stop_at_last_layers": 2, "init_images": [encoded_image], # 面部修复 face fix "restore_faces": False, #高清修复 highres fix # "enable_hr": True, # "denoising_strength": 0.4, # "hr_scale": 2, # "hr_upscaler": "Latent", } response = requests.post(url=f'{url}/sdapi/v1/img2img', json=payload) r = response.json() image = Image.open(io.BytesIO(base64.b64decode(r['images'][0]))) image.show() image.save('output.png')

如要修改其他参数可参照官网文档进行修改。

codepromptwebuiwebapiurljsonfixcliclippngpythonstoretpuideapi接口面部修复图生图diffusionapi调用文生图bash
  • 本文作者:李琛
  • 本文链接: https://wapzz.net/post-5961.html
  • 版权声明:本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。
本站部分内容来源于网络转载,仅供学习交流使用。如涉及版权问题,请及时联系我们,我们将第一时间处理。
文章很赞!支持一下吧 还没有人为TA充电
为TA充电
还没有人为TA充电
0
  • 支付宝打赏
    支付宝扫一扫
  • 微信打赏
    微信扫一扫
感谢支持
文章很赞!支持一下吧
关于作者
2.3W+
5
0
1
WAP站长官方

大模型语言模型的全面测评:ChatGPT、讯飞星火认知大模型、文心一言、昆仑天工和通义千问

上一篇

AIGC创作系统ChatGPT源码,支持最新GPT-4-Turbo模型,支持DALL-E3文生图

下一篇
  • 复制图片
按住ctrl可打开默认菜单