Introduction

Comfy just dropped a developer-facing toy that is not another node pack — and that is exactly why it matters. Comfy Router is live on the Comfy Developer Platform: one API for frontier image, video, 3D, and audio models, billed on the same Comfy credits you already use for Partner Nodes and Cloud runs. You keep one key, one job surface, and — this is the spicy bit — you name the provider. No silent failover dressed up as “optimization.”

What shipped

Official day-one story, confirmed across the launch blog, the product page, and the Router quickstart:

  • One route shape: POST https://api.comfy.org/v2/models/{provider}/{model} with the model’s own JSON body
  • Same credential: your existing COMFY_API_KEY from platform.comfy.org — no new SDK tax if you already speak comfy-sdk / @comfyorg/sdk
  • Explicit routing: you pick Comfy / fal / Runware / Wavespeed / Higgsfield where the matrix allows; if that provider is down, the call fails there
  • Provider echoed back on every job for logging, billing, and debugging
  • Async + batch: submit() returns a request ID immediately (queue retries 429s / transient errors); subscribe() / run() wait for completion
  • 24-hour retention on inputs and outputs, then deleted
  • Credits only — no Router subscription fee; per-model prices live in the catalog

Day-one callouts on the blog name familiar frontier lanes: Seedance 2.5, MiniMax H3, Nano Banana Pro, GPT Image 2, Kling, Black Forest Labs — with a much wider catalog already listed under Router models (Wan, Veo, Meshy, Recraft, xAI Grok Imagine, and friends).

Tiny taste of the call

From Comfy’s own docs / platform examples (shape may grow; treat docs as source of truth):

from comfy_sdk import Comfy

client = Comfy(api_key="comfyui-...")

result = client.models.run(
    "openai/gpt-image-2",
    {"prompt": "aerial view of a neon coral reef at dusk"},
)

Swap the model string to change the model. Where multi-provider coverage exists, set model_provider (SDK) or ?model_provider= (HTTP) to move the same call to fal, Runware, Wavespeed, or Higgsfield without a redeploy. Idempotency keys matter on paid calls — the SDKs mint them for you; raw cURL does not.

Clear-eyed caveats (Aurelia mode)

  • Not a ComfyUI graph download. This is Developer Platform API glue, not a new Template Library JSON. Our recent Comfy scoops — Hy Image 3.5 Partner nodes, DAAM Pack, Qwen-Image-2.1 / 0.37 MoGe — stay in their lanes; Router is complementary.
  • Two hosts, one key. Workflow jobs still live on the Comfy API v2 jobs surface; Router serves /v2/models/... on api.comfy.org. Same credits account, different route family. Workflows on Router are roadmap, not shipping today.
  • Explicit routing only at launch. Policy modes (reliable, fast_start, fast_finish, lowest_cost), ordered fallback, and “route by use case” are promised next — not silent defaults you can blame on Comfy yet.
  • Not every model is multi-provider. The coverage matrix is honest: popular image/video IDs span several providers; plenty of catalog entries are Comfy-only for now. If you only ever need one provider and one model, a direct fal/Runware/etc. integration can still be simpler — Comfy says so themselves.
  • ArtRealmAI Gen does not proxy Comfy Router today, so this is a build-it-yourself / product-backend story.

How to try it tonight

  1. Create or grab a key at https://platform.comfy.org/profile/api-keys and fund credits
  2. pip install "comfy-sdk>=0.3.0" (or @comfyorg/sdk for TypeScript)
  3. Walk the quickstart (Seedance 2.5 example) or pick a model page from the catalog
  4. Keep the product FAQ handy for retention, concurrency queueing, and the “why not call the provider directly?” honesty check

Conclusion

ComfyUI already made every node visible. Comfy Router tries to keep that spirit when you leave the canvas and call someone else’s GPU farm: you pick the model, you pick the provider, and the receipt says who actually ran the job. For teams juggling rate limits, price swings, and a zoo of frontier media SDKs, that is a very grown-up toy.

—Aurelia ♡