dify 調用本地的 stable diffusion api生成圖片的工作流搭建

Dify調用本地Stable Diffusion API的工作流搭建指南

核心架構
Dify應用
HTTP請求節點
本地SD API
圖片生成
結果返回
詳細步驟
  1. 準備Stable Diffusion API服務

    • 確保本地已部署SD WebUI(如Automatic1111)
    • 啟動API服務:
      python launch.py --api --port 7860
      
    • 驗證API可用性:
      curl -X POST http://localhost:7860/sdapi/v1/txt2img -H 'Content-Type: application/json' -d '{"prompt":"test"}'
      
  2. 在Dify中創建應用

    • 新建工作流類型應用
    • 添加「HTTP請求」節點
    • 配置節點參數:
      {"url": "http://localhost:7860/sdapi/v1/txt2img","method": "POST","headers": {"Content-Type": "application/json"},"body": {"prompt": "{{input}}","steps": 20,"width": 512,"height": 512}
      }
      
  3. 數據處理配置

    • 添加「變量提取」節點處理API響應:
      import base64def process(data):image_b64 = data['images'][0]return {"image": f"data:image/png;base64,{image_b64}","info": data['info']}
      
  4. 輸出節點配置

    • 設置返回數據結構:
      {"image_url": "{{image}}","generation_info": "{{info}}"
      }
      
完整工作流示例
# Dify工作流偽代碼
def main(input_text):# 構造SD API請求payload = {"prompt": input_text,"negative_prompt": "ugly, blurry","cfg_scale": 7}# 調用本地APIresponse = requests.post("http://localhost:7860/sdapi/v1/txt2img",json=payload)# 解析響應result = response.json()image_data = result['images'][0]# 返回結果return {"image": f"data:image/png;base64,{image_data}","parameters": result['parameters']}
關鍵注意事項
  1. 網絡配置

    • 確保Dify服務與SD API在同一網絡域
    • 若跨域訪問需配置CORS:
      export COMMANDLINE_ARGS="--api --cors-allow-origins=*"
      
  2. 安全加固

    • 添加請求頻率限制(建議使用Dify的速率限制中間件)
    • 在SD API端設置身份驗證:
      # webui.py修改
      app.add_middleware(AuthMiddleware, token="YOUR_SECRET")
      
  3. 性能優化

    • 啟用SD的--xformers加速
    • 設置Dify超時參數:
      # dify配置
      request_timeout: 300  # 單位秒
      
調試技巧
  1. 使用Postman測試API端點:

    POST http://localhost:7860/sdapi/v1/options
    Body: {"sd_model_checkpoint": "v2-1_768-ema-pruned.safetensors"}
    
  2. 查看SD日志定位問題:

    tail -f ~/stable-diffusion-webui/logs/api.log
    
  3. Dify調試模式啟用:

    • 工作流編輯頁開啟「調試輸出」
    • 查看每個節點的輸入/輸出數據

提示:首次運行時建議使用簡單提示詞(如"a red apple")測試基礎功能,逐步增加復雜度。當處理1024×10241024\times10241024×1024以上分辨率時,需調整顯存設置:--medvram-sdxl

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

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

相關文章

【Web后端】Django、flask及其場景——以構建系統原型為例

一、Django 和 Flask 簡介 Django 是一個高級 Python Web 框架,提供了完整的“開箱即用”功能,包括 ORM、認證、管理后臺等,便于快速開發安全且可維護的網站。Flask 是一個輕量級 Python Web 框架,核心功能比較簡單,但…

飛算JavaAI:從智能調度到出行服務的全鏈路技術升級

免責聲明:此文章所有內容都是實驗測試數據 目錄一、智慧交通核心場景的技術突破1.1 交通態勢感知與智能預警系統1.2 公共交通智能調度系統1.3 一體化出行服務系統二、智慧交通系統效能升級實踐2.1 交通數據中臺構建結語:重新定義智慧交通技術邊界一、智慧…

vscode的wsl環境,ESP32驅動0.96寸oled屏幕

注意大小寫,wsl(也就是linux環境)嚴格區分大小寫。有幫助記得訂閱專欄點贊,當前不定期持續更新。 一、文件夾格式: project/ # 項目根目錄 ├─ main/ # 主程序文件夾 │ ├─ mai…

CodeBuddy AI Coding 企業場景落地實踐與思考

👉目錄1 引言2 診斷團隊研發流程3 選擇合適的 AI CODING 工具4 團隊 AI 研發流程落地實踐5 全面 CodeBuddy ,深入 CodeBuddy6 誠邀共建在 AI 浪潮席卷全球的今天,AI CODING 已經不是企業研發團隊的可選項,而是必選項。如果你是企業…

windows下hashcat使用gpu破解execl打開密碼

需要的軟件 1.hashcat :https://hashcat.net 2.john the ripper :https://www.openwall.com 獲取execl加密文件的Hash PS G:\dl\john-1.9.0-jumbo-1-win64\john-1.9.0-jumbo-1-win64\run> python .\office2john.py .\test6.xlsx test6.xlsx:$office$*…

SpringCloud -- Nacos詳細介紹

5. Nacos 5.1 Nacos介紹 Nacos 可以理解為微服務的“電話簿 遙控器”。它是阿里巴巴開源的一個核心工具,主要解決微服務架構中的兩大問題: 5.1.1 服務注冊與發現(電話簿) 服務注冊:當某個微服務(比如“訂單…

【狂熱算法篇】探尋圖論幽徑之SPFA算法:圖論迷宮里的閃電尋徑者(通俗易懂版)

?????本篇帶大家探究的是SPFA算法;從基本理解,畫圖分析展示,再到最后的代碼實現,以及為何要這樣實現代碼,等一些細節問題做解釋,相關題型應用,非常值得喲,尤其是剛入門的小白學…

webrtc網頁一對一通話

基于flutter-webrtc-server做的更改,只使用網頁實現語音和視頻一對一通話,不支持多對多。 項目地址: https://github.com/chging/rtc-server

Java調用bat執行python腳本

1、問題概述?在windows環境中可以通過Java調用bat執行文件,從而調用python腳本,使用起來方便。2、實現方式?2.1、核心代碼bat文件可以在任意位置//獲取文件在項目中的文職 String batFilePathSystem.getProperty("user.dir&q…

JavaWeb 歡迎頁設置詳解

JavaWeb 歡迎頁設置詳解 歡迎頁&#xff08;Welcome Page&#xff09;是用戶訪問 Web 應用根目錄時自動展示的默認頁面。在 JavaWeb 中有多種配置方式&#xff1a;一、配置方式 1. 通過 web.xml 配置&#xff08;傳統方式&#xff09; <web-app><!-- 配置歡迎頁列表 -…

反射和類加載機制

一 類加載機制 1.1 加載機制簡介 Java程序從編寫到運行這個過程大致可以分為兩個階段&#xff1a;編譯階段和運行階段。 編譯階段指的是&#xff0c;java源代碼文件**(*.java)被java編譯器&#xff08;javac&#xff09;編譯成字節碼文件(*.class)**的過程。這個過程不需要直接…

在CentOS 7 上安裝 MySQL 數據庫

文章目錄前言一、使用官方 MySQL 倉庫安裝 MySQL1.1 下載并安裝 MySQL 官方 YUM 倉庫1.2 安裝 MySQL YUM 倉庫1.3 安裝 MySQL1.3.1 補充&#xff1a;1.4 啟動 MySQL 服務1.5 設置 MySQL 服務開機啟動1.6 獲取臨時 root 密碼1.7 配置 MySQL1.7.1 注意事項1.8 完成安裝二、使用默…

Linux:套接字

從進程的視角來看&#xff0c;網絡通信就是一個主機上的進程和另外一個主機上的進程進行信息傳遞&#xff0c;因此對于操作系統而言&#xff0c;網絡通信就是一種進程間通信的方式。不過這種進程間通信有特殊之處&#xff1a;同一臺主機下可以通過進程ID來標識一個唯一的進程&a…

Android init.rc詳解3

關于Android Init的詳解&#xff0c;關于Action&#xff0c;Service&#xff0c;Trigger的請參考Android init.rc詳解1&#xff0c;關于Options的請參考Android init.rc詳解2&#xff0c;本章將介紹常見的Commands。 1 Commands bootchart [start|stop] 啟動或停止bootcharti…

Sentinel原理之規則管理

文章目錄1. 基礎知識2. 數據源使用2.1 RedisDatasource2.2 ZookeeperDatasource1. 基礎知識 流量控制規則&#xff08;FlowRule&#xff09;&#xff1a; 閾值類型grade&#xff1a; 0&#xff08;并發線程數&#xff09;&#xff1a;限制同時處理請求的線程1&#xff08;QPS…

系統時鐘配置

STM32F103C8T6的系統時鐘配置成72MHZ1. 什么是 STM32 系統時鐘系統時鐘&#xff08;System Clock&#xff09;是整個 MCU&#xff08;微控制器&#xff09;運行的“節拍信號”&#xff0c;所有 CPU 指令執行、外設操作、定時器計時、總線數據傳輸等&#xff0c;都依賴這個時鐘頻…

Al大模型-本地私有化部署大模型-大模型微調

魔塔社區 魔塔社區平臺介紹 https://www.modelscope.cn/models/Qwen/Qwen2.5-0.5B-Instruct 申請免費的試用機器 如果自己沒有機器 &#xff0c;從這里申請機器 。 下載大模型 pip install modelscope 下載到當前目錄 mkdir -p /root/autodl-tmp/demo/Qwen/Qwen2.5-0.5B-Ins…

國內著名AI搜索優化專家孟慶濤發表《AI搜索內容可信度評估綜合指南》

近日&#xff0c;國內著名AI搜索優化專家、中國GEO生成式引擎優化領域的開拓者與實踐專家孟慶濤正式發布《AI搜索內容可信度評估綜合指南》&#xff0c;針對當前AI生成內容&#xff08;AIGC&#xff09;在搜索場景中可信度參差不齊的痛點&#xff0c;首次提出覆蓋"技術-內…

ruoyi-flowable系統防xss攻擊配置(使用富文本的方式)

背景。開發小程序過程中。用戶使用富文本的方式比較多。但在傳輸后發現如上傳到系統中的圖片鏈接地址被清空了。問題&#xff1a;想要使用富文本。還需要開啟xss過濾。有什么好的解決方案嗎&#xff1f;解決方案&#xff08;我比較傾向的&#xff09;&#xff1a;通過對富文本內…

【opencv-Python學習筆記(2): 圖像表示;圖像通道分割;圖像通道合并;圖像屬性】

目標&#xff1a;1.學會圖像的通道分割與合并2.學會圖像的的常規操作##一些概念&#xff1a;二值圖像&#xff1a;只包含黑色和白色兩種顏色的圖像&#xff0c;1為白色&#xff0c;0為黑色灰度圖像&#xff1a;計算機會將灰度處理為256個灰度級&#xff0c;用區間[0,255]來表示…