所有文章 > 日积月累 > ComfyUI API 文档详解
ComfyUI API 文档详解

ComfyUI API 文档详解

ComfyUI 是一款强大的用户界面管理工具,其 API 接口提供了丰富的功能,便于开发者进行自定义操作。本文将详细介绍 ComfyUI 的 API 文档,帮助开发者更好地理解和使用这些接口。

ComfyUI API 的优势

ComfyUI API 提供了多个优势,这使得它成为许多开发者的首选工具。

自带队列管理

ComfyUI 自带队列管理功能。与传统的 WebUI API 不同,开发者无需自行处理任务队列,ComfyUI 会自动处理任务的排队和执行。这不仅提高了开发效率,还能避免因任务排队问题导致的性能瓶颈。

支持 WebSocket 通信

ComfyUI API 支持 WebSocket,这意味着开发者可以实时接收服务器推送的消息。这种双向通信方式能够极大程度地提高应用的互动性和响应速度,特别适用于需要实时数据更新的场景。

无需关心插件接口

在使用 ComfyUI 时,开发者无需关心插件是否开放了 API 接口。只要插件能够在浏览器中正常使用,ComfyUI 就能够调用它们进行操作。这大大简化了插件的使用流程,免去了开发者对插件接口的复杂研究。

主要 API 接口概览

ComfyUI 提供了丰富的 API 接口,涵盖了从历史数据获取到任务管理等多个方面。

获取历史数据接口:GET /history

ComfyUI 可以通过 GET /history 接口获取所有历史任务的数据。

请求参数

  • prompt_id:可选参数,用于指定任务 ID。

返回结果

  • 返回状态码 200 表示成功,并返回对应的历史数据。

列表获取接口:GET /embeddings

此接口用于获取嵌入列表,类似于历史数据接口,返回状态码 200 代表请求成功。

获取扩展节点接口:GET /extensions

GET /extensions 接口用于获取所有扩展节点的列表信息,便于开发者了解系统中可用的扩展模块。

上传图片接口:POST /upload/image

ComfyUI 支持通过 POST /upload/image 接口上传图片。

请求参数

  • body:该参数中必须包含一个 image 字段,表示以二进制形式上传的图片。

返回结果

  • 返回状态码 200 表示图片上传成功。

上传蒙版图片接口:POST /upload/mask

此接口用于上传蒙版图片,通常用于局部重绘。

请求参数

  • body 中必须包含 image 字段,类型为二进制,用于上传的图片。

图片在线预览接口:GET /view

GET /view 接口用于在线预览上传的图片、生图图像和蒙蔽图像。

请求参数

  • filename:必选参数,指定图片的名称。
  • type:可选参数,指定图片的存放位置(如 input 或 output)。

系统统计信息接口:GET /system_stats

GET /system_stats 接口返回系统的统计信息,包括操作系统、Python 版本等。

获取当前任务队列接口:GET /prompt

GET /prompt 接口用于获取服务器当前剩余任务队列的数量。

绘图任务下发接口:POST /prompt

ComfyUI 的 POST /prompt 接口用于下发绘图任务。

请求参数

  • client_id:任务 ID,由客户端生成,用于标记任务的发起者。
  • prompt:任务参数,以 JSON 格式传递。

返回结果

  • 返回 prompt_id 表示任务 ID,number 表示当前任务序号。

WebSocket 支持:/ws?clientId=XXXXXXXX

ComfyUI 的 WebSocket 支持使得开发者可以实时接收任务的状态更新。

文本数据类型

  • status:表示任务队列的变更。
  • execution_start:通知任务开始执行。
  • executing:显示当前执行的步骤。
  • progress:显示当前任务进度。

二进制数据类型

用于传递图片预览信息,只有在采样器中开启图片预览时才会收到此类数据。

FAQ

  1. 问:为什么选择 ComfyUI 而不是 WebUI?

    • 答:ComfyUI 提供了更为简便的队列管理和 WebSocket 支持,无需关心插件接口的开放情况,极大简化了开发流程。
  2. 问:如何使用 ComfyUI 的图片上传功能?

    • 答:ComfyUI 提供了 POST /upload/image 接口,开发者只需将图片以二进制形式上传到服务器即可。
  3. 问:ComfyUI 的 WebSocket 有哪些优势?

    • 答:通过 WebSocket,ComfyUI 可以实时推送任务的进度和状态更新,方便用户进行实时监控。
  4. 问:如何获取 ComfyUI 的历史任务数据?

    • 答:使用 GET /history 接口即可获取所有历史任务的数据。
  5. 问:ComfyUI 如何处理队列任务?

    • 答:ComfyUI 自带队列管理功能,可以自动处理任务的排队和执行,开发者无需手动管理。
#你可能也喜欢这些API文章!