How it works
Route by difficulty
Casual chat goes straight to a cheap default. The hard stuff — code,
agents, tool use — earns the full panel.
Fan out to the panel
Every model takes a swing at once — independent attempts that each catch
what the others miss.
The panels
Three curated panels, frontier to budget. Call the slug — we keep the members current so you don’t have to.| Call it as | Panel | Best for |
|---|---|---|
orcarouter/fusion | Claude Opus 4.8 · GPT-5.5 · Gemini 3.1 Pro | Hardest reasoning and code |
orcarouter/fusion-mini | Claude Opus 4.8 · GPT-5.5 | A leaner two-model panel |
orcarouter/fusion-flash | A budget panel of cheaper models | Cost-sensitive fan-out |
Call it
Fusion is OpenAI-compatible — swap the model slug, everything else stays the same:Billing
A fan-out runs each panel member plus the judge, so a fanned-out request is billed as the sum of those underlying completions — at cost, zero markup — and only on the requests that actually fan out. Easy requests fall through to a cheaper default and bill as a single call. Each leg appears as its own row in your request logs, sharing one request.Beyond the preset
The presets arebest_of_n over a fixed panel. The same engine, authored as
Routing DSL, hands you the whole graph:
- Route by difficulty — fan out only on the hard requests; keep “hi” on a cheap default so you never pay panel price for chit-chat.
- Swap the judge — pick the arbiter model, or change the strategy entirely:
synthesizeto fuse one answer,tests_passto keep the patch that passes,majority, orfirst. - Build your own panel — any models, any number of legs, your own gating.
- Cascade on a weak answer — retry with a stronger model when the first one looks low-confidence.
- Ship it like infra — shadow a ruleset, canary it onto a slice of traffic, and dry-run it against a sample request before it serves anyone.
Compose your own panel
Pick the models, swap the judge, and set exactly when the panel fires — your
whole routing graph in a few lines of YAML.
