需要订阅: 通过 API 运行工作流需要有效的 Comfy Cloud 订阅。请查看定价方案了解详情。
设置
所有示例都使用以下通用的导入和配置:对象信息
获取可用的节点定义。这对于了解可用的节点及其输入/输出规范非常有用。上传输入
上传图像、遮罩或其他文件以在工作流中使用。直接上传(Multipart)
上传遮罩
subfolder 参数为 API 兼容性而接受,但在云存储中会被忽略。所有文件都存储在扁平的、内容寻址的命名空间中。运行工作流
提交工作流以执行。支持并发提交: 根据您的订阅等级,您可以提交多个工作流而无需等待之前的任务完成。任务会根据您的等级限制并行运行——超出的任务会自动排队。详情及并发限制请参阅并行执行。
提交工作流
使用合作伙伴节点
如果您的工作流包含合作伙伴节点(调用外部 AI 服务的节点,如 Flux Pro、Ideogram 等),您必须在请求体的extra_data 字段中包含您的 Comfy API 密钥。
在浏览器中运行工作流时,ComfyUI 前端会自动将您的 API 密钥打包到
extra_data 中。本节仅适用于直接调用 API 的情况。在 platform.comfy.org 生成您的 API 密钥。此密钥与 Cloud API 身份验证(
X-API-Key 请求头)使用的是同一个密钥。请参阅获取 API 密钥了解详细步骤。修改工作流输入
检查任务状态
任务状态值: API 返回以下状态值之一:| 状态 | 描述 |
|---|---|
pending | 任务已排队,等待开始 |
in_progress | 任务正在执行 |
completed | 任务成功完成 |
failed | 任务遇到错误 |
cancelled | 任务被用户取消 |
实时进度 WebSocket
连接 WebSocket 以获取实时执行更新。clientId 参数目前会被忽略——同一用户的所有连接都会收到相同的消息。为了向前兼容,仍建议传递唯一的 clientId。WebSocket 消息类型
消息以 JSON 文本帧的形式发送,除非另有说明。| 类型 | 描述 |
|---|---|
status | 队列状态更新,包含 queue_remaining 计数 |
notification | 用户友好的状态消息(value 字段包含如 “Executing workflow…” 的文本) |
execution_start | 工作流执行已开始 |
executing | 特定节点正在执行(节点 ID 在 node 字段中) |
progress | 节点内的步骤进度(采样步骤的 value/max) |
progress_state | 扩展进度状态,包含节点元数据(嵌套的 nodes 对象) |
executed | 节点完成并输出结果(图像、视频等在 output 字段中) |
execution_cached | 因输出已缓存而跳过的节点(nodes 数组) |
execution_success | 整个工作流成功完成 |
execution_error | 工作流失败(包含 exception_type、exception_message、traceback) |
execution_interrupted | 工作流被用户取消 |
二进制消息(预览图像)
在图像生成过程中,ComfyUI 会发送包含预览图像的二进制 WebSocket 帧。这些是原始二进制数据(不是 JSON):| 二进制类型 | 值 | 描述 |
|---|---|---|
PREVIEW_IMAGE | 1 | 扩散采样期间的进度预览 |
TEXT | 3 | 节点的文本输出(进度文本) |
PREVIEW_IMAGE_WITH_METADATA | 4 | 带有节点上下文元数据的预览图像 |
- PREVIEW_IMAGE (1)
- TEXT (3)
- PREVIEW_WITH_METADATA (4)
| 偏移 | 大小 | 字段 | 描述 |
|---|---|---|---|
| 0 | 4 字节 | type | 0x00000001 |
| 4 | 4 字节 | image_type | 格式代码(1=JPEG, 2=PNG) |
| 8 | 可变 | image_data | 原始图像字节 |
请参阅 OpenAPI 规范 了解每种 JSON 消息类型的完整模式定义。
下载输出
在任务完成后检索生成的文件。完整端到端示例
以下是一个将所有内容整合在一起的完整示例:队列管理
获取队列状态
取消任务
中断当前执行
错误处理
HTTP 错误
REST API 端点返回标准 HTTP 状态码:| 状态码 | 描述 |
|---|---|
400 | 无效请求(错误的工作流、缺少字段) |
401 | 未授权(无效或缺少 API 密钥) |
402 | 积分不足 |
429 | 订阅未激活 |
500 | 内部服务器错误 |
执行错误
在工作流执行期间,错误通过execution_error WebSocket 消息传递。exception_type 字段标识错误类别:
| 异常类型 | 描述 |
|---|---|
ValidationError | 无效的工作流或输入 |
ModelDownloadError | 所需模型不可用或下载失败 |
ImageDownloadError | 从 URL 下载输入图像失败 |
OOMError | GPU 内存不足 |
InsufficientFundsError | 账户积分不足(用于合作伙伴节点) |
InactiveSubscriptionError | 订阅未激活 |