Recipes

Submit a raw ComfyUI workflow graph for execution. Every resource the workflow uses, including <c>comfy:nodepack</c> URNs /// for custom nodes, must be declared in <c>resources</c>; the orchestrator does not scan the workflow. Billed after execution /// on actual ComfyUI runtime; infra failures don't charge.

post/v2/consumer/recipes/customComfy

Request

  • The document declares no server URL.
  • Auth: none required

Query parameters

experimentalboolean
allowMatureContentboolean
whatifboolean
ephemeralboolean
tier'paid' | 'free'

How a workflow is paid for.

Request body

resourcesstring[] required

All resources the workflow needs as AIR URNs, including comfy:nodepack URNs for runtime-installable custom nodes. Anything the workflow references that is not listed here fails at load time inside ComfyUI.

workflowunknown required
trace'none' | 'logs' | 'binary' required

How much of a custom-comfy job's ComfyUI /ws activity to record to a streaming blob the consumer can tail live.

sessionIdstring nullable

When set, the scheduler prefers a worker that already holds this session's ComfyUI container. Null = no preference.

comfyImagestring nullable

Custom comfy container image as an urn:air:oci:image:<source>:<repo>@<version|sha256:…> AIR (e.g. urn:air:oci:image:ghcr:civitai/civitai-spine-comfy@v2.5.5). Null = worker default.

minVramGbinteger nullable

Minimum GPU VRAM (GB) the claiming worker must report. Null = any comfy-capable worker.

useSageAttentionboolean nullable

Launches ComfyUI with --use-sage-attention. Null/false = the image's default (off for the cloud/slim images).

minimumDurationSecondsinteger nullable

Submit-time affordability gate: the workflow is rejected (400) unless the user can afford at least this many seconds of generation. Null = no gate; the live-balance guard still cancels mid-run if the balance goes negative.

Response

OK

traceUrlstring uri nullable

URL of the recorded ComfyUI /ws trace (.txt log or .bin recording per the requested trace mode), tailable live while the job runs. Null when tracing wasn't requested.

Changes

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the new optional query request parameter tier