VideoRouter Image Generate
100+ Hosted Models Without Touching Your VRAM
- IMAGE
Ignore the pack name for a second. comfyui-videorouter sounds like a video thing, and it does relay video nodes, but the two nodes it ships itself are image nodes. VideoRouter Image Generate is a text-to-image node that runs no model locally. It is an HTTP client wearing a node's clothes: you type a prompt, it POSTs to videorouter.sh's /v1/images endpoint, and an image comes back into your graph as a normal IMAGE tensor.
Why you'd reach for it
Some of the models people want most have no weights to download. Nano Banana Pro, GPT Image 1.5, Seedream, Ideogram V4 - you cannot run them on your 4090, and no quantity of VRAM fixes that. The only door is an API call, and this node is one: a hosted catalog billed to videorouter.sh credits (llmr_sk_... keys), with price and host failover handled on their side rather than yours.
The tradeoffs are the standard API-node ones. It costs money per image instead of per kilowatt-hour, your prompt leaves your machine, and whatever the provider's filter refuses you cannot LoRA or abliterate your way around. Fine for a model you genuinely can't run. A bad default for one you can - local still wins on cost, privacy and control.
How it works
The pack registers via ComfyUI's V3 extension entrypoint (comfy_entrypoint()), not the old NODE_CLASS_MAPPINGS dict, and the node is flagged is_api_node=True. On execute it resolves your API key, builds a JSON body, and awaits one HTTP call - no polling loop, unlike the video half of the pack. The response is a list of entries carrying either a url or a b64_json; the node downloads or decodes whichever it got, converts to RGB, and batches them.
The model dropdown is genuinely live, which is the nicest part of the design. It polls a server route (/videorouter/image_models) that proxies GET /v1/images/models, so the list is the real catalog rather than something frozen at release. If that fetch fails it degrades to just ["auto"] instead of erroring, so a lone auto in the dropdown is your tell that something upstream isn't happy.
The fields that matter
- prompt - multiline text. No negative prompt input; these are closed models, most of which don't take one.
- model - live combo, default
auto.autolets the platform pick; naming a model pins it. There's a refresh button to re-poll the catalog. - n - 1 to 4. One call, and
n=3comes back as one IMAGE batch of three frames, so a Save Image node writes three files. - aspect_ratio and resolution - optional free-text strings, empty by default. When empty they aren't even sent, so the model's own default applies. If you fill them in, they're forwarded verbatim; check videorouter.sh's docs for the exact format they expect rather than guessing, because nothing in the node validates them.
Output is a single IMAGE, or a batch when n > 1. Wire it into Save Image, a Preview, or straight into a local img2img chain - it's an ordinary tensor either way.
Installing it
Via ComfyUI Manager, search "VideoRouter". Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/synvia-corp/comfyui-videorouter
# restart ComfyUI
Then set the key once, in ComfyUI Settings → VideoRouter → Auth → API Key (get one at videorouter.sh/keys). There is deliberately no per-node api_key widget - which is the right call, since workflow files get pasted into Discord and Civitai constantly and a key baked into a widget would ride along with it.
Dependencies are aiohttp, pillow and numpy - all already in a normal ComfyUI environment. No checkpoint downloads. Installing the pack also activates two import-time side effects you don't opt into: a relay that redirects a pile of ComfyUI's official Partner Nodes (Kling, MiniMax, Veo, BFL, and more) to bill through your videorouter.sh account, and a price-badge patch on three of them. Everything else is passed through to comfy.org untouched.
Where people get burned
No VideoRouter API key configured on first run means exactly that - the node reads ComfyUI's own settings file (comfy.settings.json), not an environment variable, and there's no fallback path. Set it in the Settings panel and restart.
A 402 means your credits are out; errors keep the API's own shape, so the message matches what curl would tell you.
The pack may not load on an older ComfyUI. It's written against the new comfy_api.latest.io schema, and the pack's own source notes it was researched against the docs rather than a live install, asking you to verify the io.* keyword arguments against your version. If the extension fails to import, that's the first suspect.
And a reality check: searching the reddit corpus for "videorouter" currently returns zero threads. This is a fresh, single-vendor pack with no track record. It's MIT and short enough to read in ten minutes - read it before trusting it with a live key.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| model | COMBO | auto | 1 options: auto |
| n | INT | 11–4 | — |
| aspect_ratioopt | STRING | — | |
| resolutionopt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |