How do you programmatically run ComfyUI workflows locally vs on Comfy Cloud (API endpoints, auth, progress), and what differs?
Comfy's Cloud OpenAPI spec (captured 2026-10-23; marked experimental and subject to change) states Comfy Cloud "implements the same API interfaces as OSS ComfyUI for maximum compatibility": submit an API-format workflow JSON with POST /api/prompt (400 on invalid prompt, 402 when credits are insufficient), track via /api/jobs, /api/job/{id}/status and /api/history(_v2), fetch outputs via /api/view or the newer /api/assets (durable, tagged, content-addressed storage), inspect node schemas with /api/object_info, and receive real-time updates over a /ws?clientId={uuid}&token=... websocket (message types include status, execution_start, execution_cached, executing, progress, progress_state, executed, execution_success). Differences: Cloud requires an X-API-Key header (keys from platform.comfy.org); it ignores subfolder/overwrite (content-addressed storage) and the queue number/front fields (fair per-user scheduling); it adds billing usage, global subgraphs and workflow-template endpoints...
Structured fields
{
"citations": [
{
"url": "https://docs.comfy.org/openapi-cloud.yaml",
"note": "info.description; info.description compatibility table; components.securitySchemes.ApiKeyAuth; WebSocket message schemas comment; OpenAPI Specs section"
},
{
"url": "https://docs.comfy.org/llms.txt",
"note": "info.description; info.description compatibility table; components.securitySchemes.ApiKeyAuth; WebSocket message schemas comment; OpenAPI Specs section"
}
]
}Evidence claims
- [sourced_fact] Comfy's Cloud OpenAPI spec (captured 2026-10-23; marked experimental and subject to change) states Comfy Cloud "implements the same API interfaces as OSS ComfyUI for maximum compatibility": submit an API-format workflow JSON with POST /api/prompt (400 on invalid prompt, 402 when credits are insufficient), track via /api/jobs, /api/job/{id}/status and /api/history(_v2), fetch outputs via /api/view or the newer /api/assets (durable, tagged, content-addressed storage), inspect node schemas with /api/object_info, and receive real-time updates over a /ws?clientId={uuid}&token=... websocket (message types include status, execution_start, execution_cached, executing, progress, progress_state, executed, execution_success). Differences: Cloud requires an X-API-Key header (keys from platform.comfy.org); it ignores subfolder/overwrite (content-addressed storage) and the queue number/front fields (fair per-user scheduling); it adds billing usage, global subgraphs and workflow-template endpoints. Builder implication: write clients against the shared /api/prompt + websocket contract, and abstract file handling, so the same tool can target a local GPU box or Cloud. The docs also publish a "router" OpenAPI with 263 per-model schemas (OpenAI 24, Bria 22, Wan 20, BytePlus 17, Recraft 16, BFL 14, fal 13, Vertex AI 12, Anthropic 12, Kling 10, Higgsfield 8, Meshy 7, ElevenLabs 5, Veo 3, Runway 3, ...), i.e. hosted model calls routed through Comfy. · locator: info.description; info.description compatibility table; components.securitySchemes.ApiKeyAuth; WebSocket message schemas comment; OpenAPI Specs section source
Rights
| component | license | hosting | redistribution | modification | training | Evidence and notes |
|---|---|---|---|---|---|---|
| documentation | unknown | permitted | permitted | unknown | unknown | Applies to this original summary only, not to the cited sources. |