Fusion
Multi-model deliberation as a server tool
Multi-model deliberation as a server tool
Server tools are currently in beta. The API and behavior may change.
The openrouter:fusion server tool gives any model access to multi-model deliberation. When your model decides a prompt benefits from multiple perspectives, it invokes this tool — a panel of models answers in parallel, a judge compares their responses, and the structured analysis comes back to your model for the final answer.
This is the same pipeline behind the openrouter/fusion model alias and the fusion plugin. Using the server tool directly gives you the most control: choose your own outer model, combine it with other tools, and configure the panel and judge independently.
The tool’s description tells the model to call openrouter:fusion only when a task genuinely benefits from multiple perspectives — research questions, multi-domain critique, “compare and contrast” prompts, or anything where being wrong is expensive. Simple tactical prompts won’t trigger it.
To force fusion on every request, set tool_choice: "required". See Forcing fusion on every request.
Pass an optional parameters object on the tool entry to override defaults:
On success, the tool result contains the structured analysis and the raw panel responses:
When some panel models error but at least one succeeds, the result still has status: "ok" and adds a failed_models array describing which ones failed and why.
If the panel succeeds but the judge fails — an upstream error, an empty completion, or output that isn’t valid analysis JSON — the tool does not error. It returns status: "ok" with the raw panel responses and simply omits analysis. Your model can still write the final answer from the panel responses:
The tool only returns status: "error" when it can’t produce any useful output. In that case it includes a typed failure_reason:
The calling model can fall back to answering without the analysis whenever fusion fails or degrades.
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. The judge compares the panel responses rather than merging them: it treats what all or most models agree on as higher-confidence consensus, surfaces contradictions, preserves unique insights from individual models, and flags blind spots none of them addressed. The outer model writes the final answer from that analysis — so the result isn’t a simple majority vote.
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.
openrouter/fusion)/labs/fusion — interactive playground