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
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
Override the default panel and judge via theplugins array or the tools array. Both are optional — omit them entirely and fusion uses the Quality preset defaults.
Plugin config (recommended with the model slug)
Pass afusion plugin entry alongside model: "openrouter/fusion". This is the same pattern the Pareto Router uses for min_coding_score.
Tool config (when using your own outer model)
When you bring your own model and addopenrouter:fusion as a server tool, configure it via the tools array instead:
| Field | Default | Description |
|---|---|---|
analysis_models | Quality preset (~anthropic/claude-opus-latest, ~openai/gpt-latest, ~google/gemini-pro-latest) | Models that form the panel. Each runs in parallel with openrouter:web_search and openrouter:web_fetch enabled. 1–8 models allowed. |
model | Your outer model | The judge model that produces the structured analysis JSON. Defaults to the same model handling your request. |
max_tool_calls | 8 | Max tool-calling steps each panel model and the judge may take in their openrouter:web_search / openrouter:web_fetch loop before they must return text. Range 1–16. |
max_completion_tokens | Provider default | Max output tokens (including reasoning) per inner panel/judge call. Keeps reasoning-heavy models from exhausting their budget before producing visible text. |
reasoning | Provider default | Reasoning config forwarded to the panel and judge calls — an object with optional effort and max_tokens. |
temperature | Provider default | Temperature (0–2) forwarded to the panel calls. The judge always runs at temperature 0. |
Forcing fusion on every request
By default, the model decides when to callopenrouter:fusion. To guarantee it runs on every request, set tool_choice: "required":
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 responsemodel field reports the concrete model that handled the request — not the openrouter/fusion alias:
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 anx-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