Stable-diffusion-WebUI 的API調用(內含文生圖和圖生圖實例)

前情提要

在之前嘗試使用Diffusers庫來進行stable-diffusion的接口調用以及各種插件功能實現,但發現diffusers庫中各復雜功能的添加較為麻煩,而且難以實現對采樣器的添加,safetensors格式模型的讀取。在官網上找到了webui有專門的api接口,能夠極大方便我們進行類似webui界面的api調用。

webui實例圖

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 Imageurl = "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 cv2url = "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')

如要修改其他參數可參照官網文檔進行修改。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/41339.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/41339.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/41339.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

1117 數字之王

solution 判斷現有數字是否全為個位數 全為個位數,找出出現次數最多的數字,并首行輸出最多出現次數,第二行輸出所有出現該次數的數值不全為個位數 若當前位數值為0,無需處理若當前位數值非0,則每位立方相乘&#xff0…

10.x86游戲實戰-匯編指令lea

免責聲明:內容僅供學習參考,請合法利用知識,禁止進行違法犯罪活動! 本次游戲沒法給 內容參考于:微塵網絡安全 工具下載: 鏈接:https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F2Q?pwd6tw3 提…

Prometheus + Grafana 監控系統搭建使用指南-redis_exporter 安裝與配置

Redis 接入 Prometheus 監控系統 系列文章目錄 Prometheus 的安裝部署Grafana的安裝部署Linux服務器接入Prometheus監控-Node Exporter 安裝指南Prometheus 接入SpringBoot微服務監控Mysql 接入 Prometheus RocketMQ 接入Prometheus 監控ElasticSearch 接入 PrometheusNacos …

vue使用axios獲取信息的案例

List組件&#xff08;用來展示搜索的信息&#xff09; <template><div class"row"><!-- 列表數據 --><div class"card" v-for"user in info.users" :key"user.login" v-show"info.users.length">&l…

智慧校園-資產管理系統總體概述

智慧校園資產管理系統是面向教育機構設計的一體化數字平臺&#xff0c;其核心目標在于通過先進的信息技術手段&#xff0c;全面優化校園內部的資產管理流程。該系統致力于提升資產管理的效率與透明度&#xff0c;同時降低成本并確保所有操作符合財務及審計規范&#xff0c;為校…

Debezium系列之:單表多個tinyint(1)類型字段支持選擇字段轉化為int或者boolean

Debezium系列之:單表多個tinyint 1類型字段支持選擇字段轉化為int或者boolean 一、需求二、相關技術三、創建表和插入數據四、參數設置和字段選擇五、查看數據一、需求 單表中有多個tinyint(1)字段,需要能支持選擇某個字段類型轉化為int,某個字段類型轉化為boolean二、相關技…

RNN文獻綜述

循環神經網絡&#xff08;Recurrent Neural Network&#xff0c;RNN&#xff09;是一種專門用于處理序列數據的神經網絡模型。它在自然語言處理、語音識別、時間序列預測等領域有著廣泛的應用。本文將從RNN的歷史發展、基本原理、應用場景以及最新研究進展等方面進行綜述。 歷…

getResources().getDimension引起的問題

在xml中設置字體&#xff1a; <!-- <TextView--> <!-- android:textSize"dimen/sp_9"android:layout_height"dimen/dp_14" -->然后想著不這么設置&#xff0c;想著代碼中動態設置字體大小&#xff0c;改為如下&#xf…

TC3xx NvM小細節解讀

目錄 1.FlsLoader Driver和FlsDmu Driver 2. FlsLoader小細節 3.小結 大家好&#xff0c;我是快樂的肌肉&#xff0c;今天聊聊TC3xx NvM相關硬件細節以及MCAL針對NvM的驅動。 1.FlsLoader Driver和FlsDmu Driver 在最開始做標定的時候&#xff0c;認為標定數據既然是數據&…

安裝easy-handeye

一、aruco_ros配置 mkdir -p ~/ros_ws/src cd ~/ros_ws/src git clone -b melodic-devel https://github.com/pal-robotics/aruco_ros.git cd .. catkin_make 二、visp配置(需要聯外網下載東西&#xff0c;不然會一直出問題&#xff09; sudo apt-get install ros-melodic-…

比賽獲獎的武林秘籍:02 國獎秘籍-大學生電子計算機類競賽快速上手的流程,小白必看

比賽獲獎的武林秘籍&#xff1a;02 國獎秘籍-大學生電子計算機類競賽快速上手的流程&#xff0c;小白必看 摘要 本文主要介紹了大學生參加電子計算機類比賽&#xff08;電賽、光電設計大賽、計算機設計大賽、嵌入式芯片與系統設計大賽等比賽&#xff09;的流程和涉及到的知識…

3dmax全景圖用什么渲染軟件好?渲染100邀請碼1a12

全景圖是常見的效果圖類型&#xff0c;常用于展示大型空間&#xff0c;如展廳、會議室等。全景圖的制作需要渲染&#xff0c;下面我介紹幾個常用的渲染軟件分享給大家。 1、V-Ray&#xff1a;十分流行的渲染引擎&#xff0c;功能強大&#xff0c;它提供了高質量的光線追蹤技術…

六、資產安全—信息分級資產管理與隱私保護練習題(CISSP)

六、資產安全—信息分級資產管理與隱私保護(CISSP): 六、資產安全—信息分級資產管理與隱私保護(C

Vue實現文件預覽和下載功能的前端上傳組件

Vue實現文件預覽和下載功能的前端上傳組件 一、前言1.準備工作1.1 創建 Vue 組件1.2 組件說明 2.注意事項 一、前言 在前端開發中&#xff0c;文件上傳和預覽是常見的功能需求之一。本文將介紹如何利用 Vue.js 結合 Element UI 的上傳組件&#xff08;el-upload&#xff09;實…

RAM和ROM的區別

RAM和ROM的區別 RAM和ROM都是用來存東西的&#xff0c;比如我們熟悉的CPU緩存、電腦和手機的內存就是屬于RAM&#xff0c;而固態硬盤、U盤&#xff0c;還有我們買手機時候說的32G、64G的存儲空間&#xff0c;就屬于ROM。RAM和ROM的區別&#xff0c;簡單說就是RAM在斷電之后&am…

正則表達式語法+常用正則表達式

1. 簡介 1> 正則表達式(Regular Expression)是一種文本模式&#xff0c;包括普通字符&#xff08;例如&#xff0c;a 到 z 之間的字母&#xff09;和特殊字符&#xff08;稱為"元字符"&#xff09;&#xff0c;可以用來描述和匹配字符串的特定模式 2> 正則表達…

沙龍回顧|MongoDB如何充當企業開發加速器?

數據不僅是企業發展轉型的驅動力&#xff0c;也是開發者最棘手的問題。前日&#xff0c;MongoDB攜手阿里云、NineData在杭州成功舉辦了“數據驅動&#xff0c;敏捷前行——MongoDB企業開發加速器”技術沙龍。此次活動吸引了來自各行各業的專業人員&#xff0c;共同探討MongoDB的…

Java使用線程實現異步運行

在Java中&#xff0c;實現異步運行的一個常用方式是使用Thread類。下面&#xff0c;我將給出一個詳細且完整的示例&#xff0c;該示例將創建一個簡單的異步任務&#xff0c;該任務將模擬一個耗時的操作&#xff08;比如&#xff0c;模擬網絡請求或文件處理&#xff09;。 1. 使…

【MySQL】mysql訪問

mysql訪問 1.引入MySQL 客戶端庫2.C/C 進行增刪改3.查詢的處理細節4.圖形化界面訪問數據庫4.1下載MYSQL Workbench4.2MYSQL Workbench遠程連接數據庫 點贊&#x1f44d;&#x1f44d;收藏&#x1f31f;&#x1f31f;關注&#x1f496;&#x1f496; 你的支持是對我最大的鼓勵&a…

第9章:Electron的安全性

在開發Electron應用時&#xff0c;安全性是一個非常重要的考慮因素。由于Electron應用可以訪問Node.js的全部API&#xff0c;以及使用Web技術開發界面&#xff0c;因此需要特別注意安全問題。本章將介紹如何提高Electron應用的安全性&#xff0c;包括禁用不必要的功能、設置內容…