Skip to main content
GET
Collect the result of one submitted request.

授权

Authorization
string
header
必填

Bearer token authentication. Normally a Firebase or Cloud JWT. A 'comfyui-' prefixed API key is also accepted in this header: the prefix classifies the value as an API key and it is validated exactly as if it had been sent in X-API-Key.

路径参数

provider
string
必填

Lowercase provider segment of the canonical {provider}/{model} model ID - the partner whose model is being run. Lowercase provider segment of the canonical {provider}/{model} model ID - the partner whose model is being addressed. The invocation route's provider path parameter and a catalog entry's provider field both reference this one schema, which is what keeps the listed IDs and the accepted IDs from drifting apart.

Maximum string length: 64
Pattern: ^[a-z0-9]+([._-][a-z0-9]+)*$
示例:

"bfl"

model
string
必填

Lowercase model segment of the canonical {provider}/{model} model ID - the model to run within that provider. Lowercase model segment of the canonical {provider}/{model} model ID - the model to run within that provider. Shared by the invocation route's model path parameter and a catalog entry's model field, for the same no-drift reason as RouterProviderSegment.

Maximum string length: 128
Pattern: ^[a-z0-9]+([._-][a-z0-9]+)*$
示例:

"flux-2-pro"

request_id
string<uuid>
必填

The queued request to address - the request_id the submission returned in its body. It is not the submission's X-Comfy-Request-Id: that header carries the id of one HTTP call and addresses nothing, as the RouterQueueRequestId schema spells out. Identifier of one queued Router request - the handle a caller polls, cancels and collects a result by.

Maximum string length: 36
Pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
示例:

"6f1a1a6e-6a53-4a5f-9d3a-2b3b0a1f9c21"

响应

OK - the result stored for a request that produced one - a request that completed successfully, or a terminal one that carries both a recorded charge and a stored result - returned unchanged under the partner's own media type, exactly as the synchronous route's 200 returns it, and under the same provider-selection contract the submit accepted: without model_provider, or with model_provider and strict_mode=false (the default, translated back into this model's native contract when possible, falling back to the alternate provider's own raw response on a translation failure - logged, never silent), the shape is this model's own native output; with strict_mode=true it is the alternate provider's response returned unchanged. For most models that is JSON (RouterModelOutput); for a model whose partner answers a generation directly as bytes it is those bytes under the partner's own Content-Type. Today no such model can be queued (the submit refuses it), so this branch is declared for the SDK contract ahead of the server serving it. A client must branch on the response Content-Type and must not assume a JSON document; the per-model contract is published at GET /v2/models/{provider}/{model}/openapi.json. This response carries X-Content-Type-Options: nosniff, so a partner media type is taken at its word and never sniffed into something else.

A partner model's native JSON output document, returned to the caller as-is. Its concrete shape is owned by the partner rather than by Comfy, so this is an open object: Router does not narrow, rename, or re-envelope the fields. It is a named component (never an inline anonymous object) because ComfyUI's spec-driven codegen needs a class to generate. For the concrete shape one model returns, read that model's own document at GET /v2/models/{provider}/{model}/openapi.json, whose 200 carries the per-model output schema when Comfy has described it.