Pictures from ComfyUI at /v1/images/generations

An external model with api: comfyui is a ComfyUI server. A request for
pictures goes through the same key, allowlist, limit, admission and guard
checks as any other; at the replica it becomes a workflow — a built-in
(flux-schnell, flux-dev) or a JSON file in API format, with {{prompt}},
{{width}}, {{seed}} and the like filled in — queued, waited on, and its
pictures sent back as b64_json. A client that leaves takes its workflow
off the queue or interrupts it. ComfyUI is never scraped for metrics.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Ilker ManapandClaude Opus 5.5 committed 2026-10-09 21:15:50 +02:00
1 parent 6b7750a0dd
commit 2f06c0e513
16 files changed
+1221 -10

No files matched your search

+36
View File
@@ -60,6 +60,7 @@ rather than repeated.
| `tools` | `bool` | [Capabilities](#capabilities) |
| `vision` | `bool` | [Capabilities](#capabilities) |
| `embeddings` | `bool` | [Capabilities](#capabilities) |
| `images` | `bool` | [Capabilities](#capabilities) |
| `interval` | `time.Duration` | [Control](#control) |
| `base_backoff` | `time.Duration` | [Control](#control) |
| `max_backoff` | `time.Duration` | [Control](#control) |
@@ -76,6 +77,7 @@ rather than repeated.
| `api_key` | `string` | [Endpoint](#endpoint) |
| `models` | `[]string` | [Endpoint](#endpoint) |
| `engine` | `string` | [Endpoint](#endpoint) |
| `workflow` | `string` | [Endpoint](#endpoint) |
| `pool` | `string` | [Endpoint](#endpoint) |
| `weight` | `float64` | [Endpoint](#endpoint) |
| `priority` | `int` | [Endpoint](#endpoint) |
@@ -90,6 +92,8 @@ rather than repeated.
| `model` | `string` | [External](#external) |
| `api_key_file` | `string` | [External](#external) |
| `peer` | `string` | [External](#external) |
| `api` | `string` | [External](#external) |
| `workflow` | `string` | [External](#external) |
| `budgets` | `[]FacilityBudget` | [Facility](#facility) |
| `margin` | `float64` | [Facility](#facility) |
| `gpu_watts` | `float64` | [Facility](#facility) |
@@ -716,6 +720,14 @@ token is MaxTTFTRatio times this model's. Zero is 50, 0.05 and 1.5.
`bool`
### `images`
`bool`
Images is a model that makes pictures, asked for at
/v1/images/generations. Implied by an external model whose API is
ComfyUI's.
## Control
### `interval`
@@ -829,6 +841,13 @@ with one.
Engine names the inference engine, which decides what its metrics are
called. Empty means vLLM's names.
### `workflow`
`string`
Workflow is the ComfyUI workflow for engine: comfyui, a built-in's
name or its JSON; flux-schnell unless set.
### `pool`
`string`
@@ -920,6 +939,23 @@ a model that federation added (`llmgw ctl federation add`) rather
than one written by hand. Such a model is named PEER/MODEL, comes and
goes with the peer's own list, and is sent only while the peer is up.
### `api`
`string`
API is what the provider speaks: OpenAI's, unless this says comfyui —
a ComfyUI server, asked for pictures at /v1/images/generations and
sent the workflow below with the request's prompt in it. Model is then
the checkpoint file the workflow loads, as ComfyUI lists it.
### `workflow`
`string`
Workflow is the ComfyUI workflow, in its API format: a built-in's name
(flux-schnell, the default, or flux-dev) or a JSON file on the control
plane.
## Facility
### `budgets`