新手向,Stable Diffusion API 接口,在本地调用

这篇具有很好参考价值的文章主要介绍了新手向,Stable Diffusion API 接口,在本地调用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

首先应该有本地部署好的 WEB-UI。

启动项目时打开API接口。

如果你是在Git上copy的项目,在启动web-ui.bat时加上--api的启动参数.

新手向,Stable Diffusion API 接口,在本地调用

如果是使用秋叶大佬的整合包,请勾选

新手向,Stable Diffusion API 接口,在本地调用

以及

新手向,Stable Diffusion API 接口,在本地调用

 在这里设置随意用户名和密码。

之后启动Web-UI,确认成功启动。

在python脚本里构建request请求,使用POST,尝试请求图片:

import requests
url = "http://127.0.0.1:7860"

payload = {
    "prompt": "puppy dog",
    "steps": 5
}

response = requests.post(url=f'{url}/sdapi/v1/txt2img', json=payload)

r = response.json()
print(r)

如果print出来的结果是一大长串乱码,说明请求成功,这些乱码其实就是图片文件,具体如何转码见下文。

如果结果是:{'detail': 'Not authenticated'}

那么你应该是用的一键启动包进行登录,或是在别的地方设置了用户名和密码,解决方法如下:

启动web-ui后访问  http://localhost:7860/docs

新手向,Stable Diffusion API 接口,在本地调用

找到这一条:

新手向,Stable Diffusion API 接口,在本地调用

点开之后是这样的:

新手向,Stable Diffusion API 接口,在本地调用

点击右上角的 Try it out 按钮,

新手向,Stable Diffusion API 接口,在本地调用

 直接点击Excute提交,网站会弹出让你登录的窗口,输入自己设置的用户名密码即可。

登录后,如果它向你返回的是这样的信息:

新手向,Stable Diffusion API 接口,在本地调用

说明你已经验证成功了。

接着按F12,开发者工具。

新手向,Stable Diffusion API 接口,在本地调用

在保持开发者工具打开的情况下,再次点Excute。

你会在里面看到,有一个POST请求,点开之后长这样,注意我箭头标出来的这个值:

新手向,Stable Diffusion API 接口,在本地调用

把他复制下来,在你的Python代码里加上如下一行:

headers = {
    "Authorization": "(里面填写你复制的值,如Basic YWFhYTphYWFh)"
}

并且在提交请求的时候,后面加上headers的提交:

response = requests.post(url=f'{url}/sdapi/v1/txt2img', json=payload, headers=headers)

再运行,你就可以成功请求到图片。

当你成功请求图片后,进行如下处理:

r = response.json()

for i in r['images']:
    image = Image.open(io.BytesIO(base64.b64decode(i.split(",", 1)[0])))
    image.save('output.png')

 记得在前面加上相应的import:

import io
import base64
from PIL import Image

 启动,如果成功运行,你就可以在项目目录中看到狗狗的图片,名字叫output.png。

在发送请求时,payload里面的值是重点,如果用过sd的应该都比较熟悉了.

这里面大部分都不是必填项,具体每一项的意思,都比较明显,和WebUI里的一一对应,我就不再赘述了。

如果是不太了解json的萌新,可以只选择如下几项:

payload = {
    "prompt": "puppy dog", # 正面提示词
    "negative_prompt": "wrong hands", # 负面提示词
    "steps": 20  # 步数
}

基本可选参数如下(请自行修改每项的值,如True或False的大小写,string替换成的内容):

payload = {
  "enable_hr": false,
  "denoising_strength": 0,
  "firstphase_width": 0,
  "firstphase_height": 0,
  "hr_scale": 2,
  "hr_upscaler": "string",
  "hr_second_pass_steps": 0,
  "hr_resize_x": 0,
  "hr_resize_y": 0,
  "prompt": "",     #  提示词
  "styles": [
    "string"
  ],
  "seed": -1,
  "subseed": -1,
  "subseed_strength": 0,
  "seed_resize_from_h": -1,
  "seed_resize_from_w": -1,
  "sampler_name": "string",
  "batch_size": 1,
  "n_iter": 1,
  "steps": 50,
  "cfg_scale": 7,
  "width": 512,
  "height": 512,
  "restore_faces": false,
  "tiling": false,
  "do_not_save_samples": false,
  "do_not_save_grid": false,
  "negative_prompt": "string",     #  负面提示词
  "eta": 0,
  "s_churn": 0,
  "s_tmax": 0,
  "s_tmin": 0,
  "s_noise": 1,
  "override_settings": {},
  "override_settings_restore_afterwards": true,
  "script_args": [],
  "sampler_index": "Euler",
  "script_name": "string",
  "send_images": true,
  "save_images": false,
  "alwayson_scripts": {}
}

也有更多的可选请求,比较了解http请求和Json数据的老哥请自行访问 ​​​​​http://localhost:7860/docs/文章来源地址https://www.toymoban.com/news/detail-434695.html

到了这里,关于新手向,Stable Diffusion API 接口,在本地调用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • stable diffusion API 调用,超级详细代码示例和说明

    本文主要介绍 stable diffusion API 调用,准确来说是对 stable diffusion webui 的 API 调用。接口文档可以查看: http://sd-webui.test.cn/docs 这里的 sd-webui.test.cn 是自己的 sd webui Endpoint。 文生图是: /sdapi/v1/txt2img 这个 POST 接口。 图生图是: /sdapi/v1/img2img 这个 POST 接口。 本文主要介绍文生

    2024年02月12日
    浏览(34)
  • 修改 Stable Diffusion 使 api 接口增加模型参数

     参考:https://zhuanlan.zhihu.com/p/644545784 1、修改 modules/api/models.py 中的 StableDiffusionTxt2ImgProcessingAPI 增加模型名称  2、修改 modules/api/api.py 中 text2imgapi 代码:  3、修改 modules/processing.py 中的 StableDiffusionProcessingTxt2Img ,增加模型名称接收

    2024年02月06日
    浏览(28)
  • 前端调用 Stable diffusion 秋叶启动器 Web-Ui API

    在启动器启动前,开启启用 API 就可以调用 通过访问 API DOCS 查看完整的接口地址。 POST 请求体以 JSON 形式发送。 以 axios 为例: 文生图 地址:/sdapi/v1/txt2img 参数说明 图生图 地址:/sdapi/v1/img2img 其中 init_images 参数可以是服务文件路径也可以是 base64

    2024年02月08日
    浏览(52)
  • Stable-diffusion-WebUI 的API调用(内含文生图和图生图实例)

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

    2024年01月17日
    浏览(43)
  • 免费体验Stable Diffusion deforum文转视频插件,还有deforum API 接口部署介绍!

    如何使用 Serverless Devs 和函数计算快速体验部署 Stable Diffusion,这个是小白也能简单体验安装部署的教程.有电脑就能操作,依托阿里云原生服务.不用考虑硬件问题 本篇主要讲解怎么安装跟部署自定义安装插件跟模型.以deforum文转视频插件举例.deforum api 接口 自定义开发 镜像定制

    2024年02月16日
    浏览(36)
  • AI画图 Ubuntu 20.04.5 LTS x86_64 Docker stable diffusion webui 及 http api接口

    Docker镜像 参考地址: docker一键运行stable diffusion webui,常用插件和功能完备,获得镜像后可打包带走 - 哔哩哔哩 nvidia cuda 驱动 ​​​​​​​Linux x64 (AMD64/EM64T) Display Driver | 525.116.04 | Linux 64-bit | NVIDIA lora模型下载 热门Civitai LoRA模型下载第一批合集 Stable Diffusion WebUI - openAI 注

    2024年02月08日
    浏览(38)
  • Stable Diffusion 新手入门手册

    探索Stable Diffusion的无限可能:本手册为新手提供详细的入门指导,包括提示词权重调整技巧、Prompt Editing语法、Token理解以及Controlnet图像控制方法。

    2024年04月16日
    浏览(23)
  • Stable Diffusion 系列教程 - 1 基础准备(针对新手)

    使用SD有两种方式: 本地: 显卡要求: 硬件环境推荐NVIDIA的具有8G显存的独立显卡,这个显存勉勉强强能摸到门槛。再往下的4G可能面临各种炸显存、炼丹失败、无法生成图片等各种问题。对于8G显存,1.0模型就不行,需要更高的环境配置,所以8G仅仅是个基础。最好还是16

    2024年02月03日
    浏览(40)
  • 包看包会Stable Diffusion原理,新手也能看明白

    知道看文章的人怎么看,听我讲的人经常反应的就是听不明白。于是我又在网上找了一下,发现这篇文章讲的很好,算得上是深入浅出,可惜是英文的,就把它翻译了一下: https://stable-diffusion-art.com/how-stable-diffusion-work/ 在翻译的过程中,我增加了自己的一些东西,调整了一些

    2024年02月09日
    浏览(32)
  • 深入浅出讲解Stable Diffusion原理,新手也能看明白

    最近一段时间对多模态很感兴趣,尤其是Stable Diffusion,安装了环境,圆了自己艺术家的梦想。看了这方面的一些论文,也给人讲过一些这方面的原理,写了一些文章,具体可以参考我的文章: 北方的郎:图文匹配:Clip模型介绍 北方的郎:VQGAN(Vector Quantized Generative Adversar

    2024年02月08日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包