Specify a webhook-driven task for OpenClaw
Describe event inputs, validation, deduplication, and intended actions before integration work.
REST API gateway for ComfyUI servers. Workflow management, job queuing, webhooks, caching, auth, rate limiting, and image delivery (URL + base64).
---
name: comfyui-gateway
description: REST API gateway for ComfyUI servers. Workflow management, job queuing, webhooks, caching, auth, rate limiting, and image delivery (URL + base64).
risk: critical
source: community
date_added: '2026-03-06'
author: renat
tags:
- comfyui
- api-gateway
- image-generation
- typescript
tools:
- claude-code
- antigravity
- cursor
- gemini-cli
- codex-cli
---
# ComfyUI Gateway
## Overview
Design or review a REST gateway around an existing ComfyUI server. This skill
contains documentation only: no gateway application, package manifest, Dockerfile,
CLI, database migrations or runnable workflow templates are bundled. Obtain the
actual implementation and its version before proposing install or startup commands.
The proposed gateway routes below are not native ComfyUI endpoints.
## When to Use
Use when designing ComfyUI job submission, authenticated result delivery, worker
queues or webhook integrations. For direct ComfyUI calls, consult its native API.
## Architecture and contract
A gateway can validate requests, map reviewed workflow templates, submit work to
ComfyUI, persist job state and deliver authorized outputs. Fastify, BullMQ, Redis,
SQLite/Postgres and S3 are possible components, not installed capabilities.
| Proposed gateway operation | Required behavior |
|---|---|
| POST /jobs | Authenticate caller; validate bounded inputs; authorize workflow; return job ID |
| GET /jobs/:id | Return only jobs accessible to this principal |
| POST /jobs/:id/cancel | Authorize cancellation; distinguish requested from confirmed cancellation |
| GET /outputs/:id/:file | Enforce ownership and path containment; never trust caller file paths |
| Workflow CRUD | Require admin authorization and audit changes |
| Health/capabilities | Expose minimal operational information without secrets |
Specify one state vocabulary, for example queued, running, succeeded, failed and
canceled. Persist transitions atomically. A client timeout does not cancel server
work. Define restart recovery, idempotency-key scope/expiry and retry behavior;
Redis alone does not prove durability or exactly-once execution.
Native ComfyUI routes include POST /prompt, GET /history/{prompt_id}, GET /view,
GET /object_info and WS /ws. Validate the pinned server's request/response shapes.
Export a complete API-format workflow from ComfyUI; a two-node fragment with
references to absent nodes cannot execute. Preserve numeric input types when
rendering templates and reject unknown nodes/parameters.
## Security and operating boundaries
- Bind development listeners to loopback. Remote deployments require TLS,
authentication, per-principal authorization and network controls. CORS is not
access control. Fail startup when required credentials are missing.
- Keep API/JWT/storage secrets in a secret store; do not echo environment files,
embed admin keys in browser clients or issue ad-hoc admin JWTs to fix access.
- Restrict callback origins and resolved IPs, block private/metadata networks as
appropriate, and revalidate every redirect or disable redirects. A hostname
allowlist alone does not prevent SSRF or DNS rebinding.
- Sign exact webhook bytes and validate before side effects. Add replay handling
and durable deduplication; acknowledge only after durable acceptance.
- Keep outputs private by default. Restrict filesystem paths, tenant cache keys
and signed URL lifetimes. Include workflow/model/version/seed in cache identity;
random-seed jobs must not accidentally reuse another generation or tenant data.
- Bound job count, dimensions, batch, wall time, polling, download bytes and cost.
More steps usually increase time; diagnose the actual memory-failing node before
promising that fewer steps solve OOM. Model, hardware and custom nodes matter.
- Review model/custom-node licenses and code before activation. Show planned
installation, deployment, data transmission and destructive actions for approval.
## Example
User: “Put our local ComfyUI behind a job API.”
Response: “First identify the reviewed server/gateway commit, complete workflow,
allowed callers and output retention. I will propose a job-state/auth contract,
then test invalid inputs, cross-user job access, callback SSRF, replay, restart
recovery and cancellation in an isolated deployment before exposing it.”
Read [integration guidance](references/integration.md) for webhook verification
and [troubleshooting](references/troubleshooting.md) for bounded diagnosis.
## Limitations
This is a design reference, not a deployable gateway or production-security
certification. No runtime/API compatibility, throughput, automatic fallback,
privacy mode, included model or deployment guarantee is established by this tree.
Require tests against the actual implementation before asserting those features.
## Sources
- [ComfyUI server routes](https://docs.comfy.org/development/comfyui-server/comms_routes)
- [Node constant-time comparison](https://nodejs.org/api/crypto.html#cryptotimingsafeequala-b)
---
name: comfyui-gateway
description: REST API gateway for ComfyUI servers. Workflow management, job queuing, webhooks, caching, auth, rate limiting, and image delivery (URL + base64).
risk: critical
source: community
date_added: '2026-03-06'
author: renat
tags:
- comfyui
- api-gateway
- image-generation
- typescript
tools:
- claude-code
- antigravity
- cursor
- gemini-cli
- codex-cli
---
# ComfyUI Gateway
## Overview
Design or review a REST gateway around an existing ComfyUI server. This skill
contains documentation only: no gateway application, package manifest, Dockerfile,
CLI, database migrations or runnable workflow templates are bundled. Obtain the
actual implementation and its version before proposing install or startup commands.
The proposed gateway routes below are not native ComfyUI endpoints.
## When to Use
Use when designing ComfyUI job submission, authenticated result delivery, worker
queues or webhook integrations. For direct ComfyUI calls, consult its native API.
## Architecture and contract
A gateway can validate requests, map reviewed workflow templates, submit work to
ComfyUI, persist job state and deliver authorized outputs. Fastify, BullMQ, Redis,
SQLite/Postgres and S3 are possible components, not installed capabilities.
| Proposed gateway operation | Required behavior |
|---|---|
| POST /jobs | Authenticate caller; validate bounded inputs; authorize workflow; return job ID |
| GET /jobs/:id | Return only jobs accessible to this principal |
| POST /jobs/:id/cancel | Authorize cancellation; distinguish requested from confirmed cancellation |
| GET /outputs/:id/:file | Enforce ownership and path containment; never trust caller file paths |
| Workflow CRUD | Require admin authorization and audit changes |
| Health/capabilities | Expose minimal operational information without secrets |
Specify one state vocabulary, for example queued, running, succeeded, failed and
canceled. Persist transitions atomically. A client timeout does not cancel server
work. Define restart recovery, idempotency-key scope/expiry and retry behavior;
Redis alone does not prove durability or exactly-once execution.
Native ComfyUI routes include POST /prompt, GET /history/{prompt_id}, GET /view,
GET /object_info and WS /ws. Validate the pinned server's request/response shapes.
Export a complete API-format workflow from ComfyUI; a two-node fragment with
references to absent nodes cannot execute. Preserve numeric input types when
rendering templates and reject unknown nodes/parameters.
## Security and operating boundaries
- Bind development listeners to loopback. Remote deployments require TLS,
authentication, per-principal authorization and network controls. CORS is not
access control. Fail startup when required credentials are missing.
- Keep API/JWT/storage secrets in a secret store; do not echo environment files,
embed admin keys in browser clients or issue ad-hoc admin JWTs to fix access.
- Restrict callback origins and resolved IPs, block private/metadata networks as
appropriate, and revalidate every redirect or disable redirects. A hostname
allowlist alone does not prevent SSRF or DNS rebinding.
- Sign exact webhook bytes and validate before side effects. Add replay handling
and durable deduplication; acknowledge only after durable acceptance.
- Keep outputs private by default. Restrict filesystem paths, tenant cache keys
and signed URL lifetimes. Include workflow/model/version/seed in cache identity;
random-seed jobs must not accidentally reuse another generation or tenant data.
- Bound job count, dimensions, batch, wall time, polling, download bytes and cost.
More steps usually increase time; diagnose the actual memory-failing node before
promising that fewer steps solve OOM. Model, hardware and custom nodes matter.
- Review model/custom-node licenses and code before activation. Show planned
installation, deployment, data transmission and destructive actions for approval.
## Example
User: “Put our local ComfyUI behind a job API.”
Response: “First identify the reviewed server/gateway commit, complete workflow,
allowed callers and output retention. I will propose a job-state/auth contract,
then test invalid inputs, cross-user job access, callback SSRF, replay, restart
recovery and cancellation in an isolated deployment before exposing it.”
Read [integration guidance](references/integration.md) for webhook verification
and [troubleshooting](references/troubleshooting.md) for bounded diagnosis.
## Limitations
This is a design reference, not a deployable gateway or production-security
certification. No runtime/API compatibility, throughput, automatic fallback,
privacy mode, included model or deployment guarantee is established by this tree.
Require tests against the actual implementation before asserting those features.
## Sources
- [ComfyUI server routes](https://docs.comfy.org/development/comfyui-server/comms_routes)
- [Node constant-time comparison](https://nodejs.org/api/crypto.html#cryptotimingsafeequala-b)
Imported SKILL.md format for Claude Code, Codex and Cursor. Review the complete instructions and required tools before use. Package integrity checked; individual agent behavior has not been tested.