Generated with sparks and insights from 2 sources
Introduction
-
ComfyUI API的主要优势包括自带队列、支持WebSocket、无需关心插件是否有开放API接口。
-
通过WebSocket可以实时获取绘图任务的执行状态和进度。
-
ComfyUI的API使用POST /prompt接口来下发所有绘图任务,返回任务ID信息。
-
WebSocket连接的URL格式为/ws?client_id=XXXXXXXX,其中client_id为任务ID。
-
WebSocket主要传输两种数据格式:文本数据(任务变更、执行步骤、进度)和二进制数据(图片预览)。
-
通过GET /history/{prompt_id}接口可以获取绘图任务的历史记录和最终生成的图片信息。
-
图片的在线预览接口为GET /view,通过传递图片名称和存放位置来获取图片。
ComfyUI API优势 [1]
-
自带队列:ComfyUI API自带任务队列管理,简化了开发者的工作。
-
支持WebSocket:可以实时获取任务的执行状态和进度。
-
无需关心插件API接口:只要插件在浏览器中可以正常使用,接口就一定可以使用。
-
开发人员只需关心绘图流程的搭建:简化了开发流程。
-
切换模型、进度查询方便:通过API可以轻松实现。
-
支持中断绘图任务:可以随时中断正在进行的绘图任务。
-
无需繁琐的base64图片转换:简化了图片处理流程。
绘图接口使用 [1]
-
接口地址:POST /prompt
-
请求参数:client_id(任务ID),prompt(任务参数,JSON格式)。
-
返回参数:prompt_id(任务ID),number(当前任务序号),node_errors(错误信息)。
-
使用说明:client_id用于标记任务发起者,prompt为JSON数据,包含绘图参数。
-
示例:{"prompt_id": "bd2cfa2c-de87-4258-89cc-d8791bc13a61", "number": 501, "node_errors": {}}
WebSocket连接 [1]
-
连接URL:/ws?client_id=XXXXXXXX
-
client_id:任务ID,用于标记WebSocket连接的用户。
-
WebSocket只需做监听处理:无需通过WebSocket向ComfyUI发送任何消息。
-
WebSocket数据解析:主要有文本数据和二进制数据。
-
文本数据:通知任务变更、当前执行步骤、进度等信息。
-
二进制数据:图片预览信息。
WebSocket数据格式 [1]
-
文本数据:主要通知任务变更、当前执行步骤、进度等信息。
-
任务变更通知:{"type":"status","data":{"status":{"exec_info":{"queue_remaining":7}}}}
-
当前任务开始执行:{"type":"execution_start","data":{"prompt_id":"3935f7c3-ec38-4d94-843f-86fe86c6d384"}}
-
当前任务执行步骤信息:{"type":"executing","data":{"node":"5","prompt_id":"3935f7c3-ec38-4d94-843f-86fe86c6d384"}}
-
当前进度信息:{"type":"progress","data":{"value":1,"max":10}}
-
绘图结束:{"type":"executing","data":{"node":null,"prompt_id":"37099310-a790-44f4-8d13-4f4d5f69c891"}}
-
二进制数据:图片预览信息。
获取历史记录 [1]
-
接口地址:GET /history/{prompt_id}
-
请求参数:prompt_id(任务ID)。
-
返回数据:包含任务的历史记录和生成的图片信息。
-
示例:{"37099310-a790-44f4-8d13-4f4d5f69c891": {"outputs": {"18": {"images": [{"filename": "ComfyUI_temp_slqio_00001_.png", "subfolder": "", "type": "temp"}]}}}}
-
图片信息:通过拼接图片信息获取图片的URL访问地址。
-
示例URL:"http://127.0.0.1:8188/view?filename=ComfyUI_00702_.png&type=output"
图片在线预览 [1]
-
接口地址:GET /view
-
请求参数:filename(图片名称),type(图片存放位置的文件夹),subfolder(子文件夹,可选),preview(预览,可选),channel(无,可选)。
-
示例请求:{"filename": "ComfyUI_00702_.png", "type": "output"}
-
示例URL:"http://127.0.0.1:8188/view?filename=ComfyUI_00702_.png&type=output"
-
用途:用于在线预览上传图像、生成图像、蒙蔽图像等。
-
图片访问:通过拼接图片信息获取图片的URL访问地址。
Related Videos
<br><br>
<div class="-md-ext-youtube-widget"> { "title": "\u3010\u4e2d\u6587\u7ffb\u8bd1\u914d\u97f3\u3011\u4f7f\u7528 ComfyUI API\u3001Python\u3001WebSocket \u548c ...", "link": "https://www.youtube.com/watch?v=NAqk9tCLDWs", "channel": { "name": ""}, "published_date": "May 17, 2024", "length": "" }</div>
<div class="-md-ext-youtube-widget"> { "title": "Mastering ComfyUI: Getting started with API - TUTORIAL", "link": "https://www.youtube.com/watch?v=va8Jkc7o9d4", "channel": { "name": ""}, "published_date": "Feb 4, 2024", "length": "" }</div>