comfyui-api
Connect to a running ComfyUI instance, queue workflows, monitor execution, and retrieve results. Supports both online (REST API) and offline (JSON export) modes. Use when executing ComfyUI workflows or checking server status.
How do I install this agent skill?
npx skills add https://github.com/mckruz/comfyui-expert --skill comfyui-apiIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill provides a standard interface for interacting with a local ComfyUI instance via its REST API. It uses common command-line tools for networking and image retrieval. No security risks were identified.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
- Runlayerwarn
1/1 file flagged
- ZeroLeakspass
Score: 93/100 · 2 sections analyzed
What does this agent skill do?
ComfyUI API Skill
Connect to ComfyUI's REST API to execute workflows, monitor progress, and retrieve outputs.
Configuration
- Default URL:
http://127.0.0.1:8188 - Custom URL: Set in project manifest or pass as parameter
- Timeout: 30s for API calls, no timeout for generation polling
Two Modes
Online Mode (ComfyUI Running)
Full API access. Preferred mode for interactive work.
- Test connection:
GET /system_stats - Discover capabilities: Use
comfyui-inventoryskill - Queue workflow:
POST /prompt - Poll for results:
GET /history/{prompt_id}every 5 seconds - Retrieve outputs:
GET /view?filename=...
Offline Mode (No Server)
Export workflow JSON for manual loading in ComfyUI.
- Generate workflow JSON following ComfyUI's format
- Save to
projects/{project}/workflows/{name}.json - Instruct user to drag-drop into ComfyUI
API Operations
Check Server Status
curl http://127.0.0.1:8188/system_stats
Response fields:
system.os: Operating systemsystem.comfyui_version: Version stringdevices[0].name: GPU namedevices[0].vram_total: Total VRAM bytesdevices[0].vram_free: Free VRAM bytes
Queue a Workflow
curl -X POST http://127.0.0.1:8188/prompt \
-H "Content-Type: application/json" \
-d '{"prompt": WORKFLOW_JSON, "client_id": "video-agent"}'
WORKFLOW_JSON format:
{
"1": {
"class_type": "LoadCheckpoint",
"inputs": {
"ckpt_name": "flux1-dev.safetensors"
}
},
"2": {
"class_type": "CLIPTextEncode",
"inputs": {
"text": "photorealistic portrait...",
"clip": ["1", 1]
}
}
}
Each node is keyed by a string ID. Inputs reference other nodes as ["{node_id}", {output_index}].
Response:
{"prompt_id": "abc-123-def", "number": 1}
Poll for Completion
curl http://127.0.0.1:8188/history/abc-123-def
Incomplete: Returns {} (empty object)
Complete: Returns execution data with outputs:
{
"abc-123-def": {
"outputs": {
"9": {
"images": [{"filename": "ComfyUI_00001.png", "subfolder": "", "type": "output"}]
}
},
"status": {"completed": true}
}
}
Retrieve Output Image
curl "http://127.0.0.1:8188/view?filename=ComfyUI_00001.png&subfolder=&type=output" -o output.png
Upload Reference Image
curl -X POST http://127.0.0.1:8188/upload/image \
-F "image=@reference.png" \
-F "subfolder=input" \
-F "type=input"
Cancel Current Generation
curl -X POST http://127.0.0.1:8188/interrupt
Free VRAM
curl -X POST http://127.0.0.1:8188/free \
-H "Content-Type: application/json" \
-d '{"unload_models": true}'
Polling Strategy
ComfyUI doesn't support WebSocket in CLI context. Use REST polling:
- Queue workflow via
POST /prompt→ getprompt_id - Poll
GET /history/{prompt_id}every 5 seconds - On empty response: generation in progress, continue polling
- On populated response: check
status.completed - If
completed: true, extract outputs - If error in status, route to
comfyui-troubleshooter
Timeout: Warn user after 10 minutes of polling. Video generation (Wan 14B) can take 15-30 minutes.
Workflow Validation
Before queuing any workflow:
- Read
state/inventory.json(viacomfyui-inventory) - For each node in workflow: verify
class_typeexists in installed nodes - For each model reference: verify file exists in installed models
- Flag missing items with:
- Node: suggest
ComfyUI-Managerinstall command - Model: provide download link from
references/models.md - Version mismatch: suggest update
- Node: suggest
Error Handling
| Error | Cause | Action |
|---|---|---|
| Connection refused | ComfyUI not running | Switch to offline mode, save JSON |
| 400 Bad Request | Invalid workflow JSON | Validate node connections |
| 500 Internal Error | ComfyUI crash | Suggest restart, check logs |
| Timeout (no response) | Server overloaded | Wait and retry once |
Reference
Full API documentation: foundation/api-quick-ref.md
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/mckruz/comfyui-expert/comfyui-api">View comfyui-api on skillZs</a>