Fusion Router
Multi-model deliberation as a model slug
The Fusion Router (openrouter/fusion) gives your model access to a multi-model deliberation tool. When invoked, a panel of models answers your prompt in parallel, then a judge model compares their responses and returns structured analysis — consensus, contradictions, coverage gaps, unique insights, and blind spots. Your model uses that analysis to write a better final answer.
Overview
Use Fusion when a single model isn’t enough — research questions, expert critique, “compare and contrast” prompts, or anything where the cost of being wrong outweighs the cost of a few extra completions.
How it works
- You send a request with
model: "openrouter/fusion". The router resolves the alias to a real model and attaches theopenrouter:fusiontool. - Your model reads the prompt and decides whether the task warrants deliberation. If so, it invokes
openrouter:fusion. (Usetool_choice: "required"to guarantee invocation.) - The panel — a set of models — answers your prompt in parallel, each with
openrouter:web_searchandopenrouter:web_fetchenabled. - The judge receives all panel responses, with
openrouter:web_searchandopenrouter:web_fetchavailable, and compares them — it doesn’t merge them. It returns structured analysis as JSON: what all or most models agreed on (treated as higher-confidence consensus), where they disagreed, what only some models covered, unique insights from individual models, and blind spots none of them addressed. - Your model receives the analysis and writes the final answer.
openrouter:web_search and openrouter:web_fetch are enabled on both the panel and the judge calls, so models can pull fresh sources while they answer and analyze.
Two ways to use it
Both hit the same pipeline. The model alias is simpler — it auto-injects the tool so you don’t have to declare it. The server tool form gives you more control (choose your own outer model, combine fusion with other tools).
In both cases, the model decides when to call openrouter:fusion. For prompts that don’t need deliberation, it answers directly — including invoking any other tools you’ve defined. Add tool_choice: "required" to force fusion on every request.
Quick start
Configuration
You can override the default panel and judge by declaring the tool explicitly with a parameters block. This is optional — omit it entirely and fusion uses the Quality preset defaults.
Forcing fusion on every request
By default, the model decides when to call openrouter:fusion. To guarantee it runs on every request, set tool_choice: "required":
Because openrouter/fusion only injects one tool (openrouter:fusion), requiring some tool call effectively forces fusion. If your request also includes other tools, the model may pick one of those instead.
Response
The response model field reports the concrete model that handled the request — not the openrouter/fusion alias:
To confirm a generation went through the Fusion Router, check the generation metadata. The router field reports openrouter/fusion:
Cost
Fusion runs N panel calls + 1 judge call in addition to your normal request. With the default 3-model panel, expect roughly 4–5× the cost of a single completion on the same prompt. Cost scales linearly with panel size.
Recursion protection
Inner fusion calls carry an x-openrouter-fusion-depth header. Panel and judge models cannot recursively invoke openrouter:fusion — the plugin refuses to inject the tool a second time, keeping deliberation bounded to a single level.
Related
openrouter:fusionserver tool- Fusion plugin
- Auto Router
- Pareto Router
/labs/fusion— interactive playground