prompt_id 是主键
将任务标识与 workflow 文件、模型清单、输入文件版本和最终输出一起保存;这样排查失败或复现结果时,不必靠时间戳猜测。
SHELF 04 / API & AUTOMATION · QUEUE
ComfyUI 的 API 自动化应从已验证的工作流开始:导出执行格式、提交整张图、保存任务标识与输入版本、监听或查询运行结果。自动化不是绕开画布,而是让画布中的计算契约在程序中可重复执行。
01 / FROM CANVAS TO EXECUTION
先在界面中把工作流跑通,再导出 Workflow API Format。官方文档区分保存格式和 API 格式:前者保留画布布局,后者表达服务器运行所需的节点 ID、输入值和连接。不要把一个仅用于浏览的保存文件,或一个未经当前环境验证的社区 JSON,直接当作生产请求。
确认模型、节点、输入资产和输出节点都可用
保留与当前图对应的节点引用与输入值
将整张工作流作为一次任务提交
保存任务标识、状态、错误与输出资产
02 / QUEUE SEMANTICS
官方服务端路由文档说明,浏览器提交工作流时会向 /prompt 发送请求;服务器验证后把它加入执行队列,返回 prompt_id 和队列位置,若验证失败则返回错误和节点错误信息。客户端随后对画布的编辑不会追溯修改这次已经提交的图,所以一次运行应以它提交时的 JSON 和输入资产为准。
将任务标识与 workflow 文件、模型清单、输入文件版本和最终输出一起保存;这样排查失败或复现结果时,不必靠时间戳猜测。
遇到验证错误时,先读取返回的节点错误与日志,检查缺少节点、字段格式和数据类型。盲目重试无法修复不满足图契约的请求。
自动化需要限制并发、设置取消和超时策略,并把显存、磁盘、输出目录与异常恢复纳入运行设计,尤其是视频或批量生成任务。
03 / DEFINE THE AUTOMATION CONTRACT
不要把画布上所有可编辑字段都直接暴露给调用者。为一个自动化任务先规定允许改变的参数,例如提示词、种子、尺寸或一张输入图;其余模型、节点与控制参数保持版本化基线。这样才能测试接口的边界,也能避免用户输入把一个验证过的工作流变成另一张图。
workflow version + allowed parameters + input asset references为每类输入写清数据格式、大小限制、是否必填和处理方式。文件上传、路径引用与远程下载不应混作一个模糊的“图片参数”。
prompt_id + submitted graph + model manifest + outputs + errors一次请求的可观测性来自可关联的记录。输出文件名只是结果位置,不应代替工作流版本和执行状态。
本地服务端和云 API 分别有自己的地址、认证与资源模型。接入前应明确调用的是哪一种,并依据其对应的官方文档配置认证、上传和队列查询;不要把云端示例中的身份验证字段假定为本地实例的默认行为。
04 / OPERATE IT SAFELY
本地 ComfyUI 默认监听回环地址,适合单机开发。若把它放到局域网或公网,自动化接口还会扩大文件处理、模型执行与自定义节点的攻击面。应在 ComfyUI 之外通过网络策略和代理层处理身份认证、TLS、来源限制、请求大小、速率限制与审计,而不是仅依赖“端口换了一个数字”。
只暴露需要的网络接口和调用能力;不要让外部请求任意读写本地路径、任意安装节点或修改基础工作流。
批量或视频任务要设定超时、并发上限与人工取消路径。没有队列治理的自动化会把显存和磁盘问题变成服务不可用。
记录请求来源、任务版本、开始结束时间、失败节点与资源事件;升级 ComfyUI 或节点包后,用固定工作流做回归验证。
ComfyUI 的节点、工作流格式和模型支持会持续演进。本文只归纳对应资料可确认的机制;导入工作流前仍应核对 ComfyUI、节点包、模型权重与许可证的实际版本。