TL;DR: OpenRouter’s Fusion API fans out a prompt to multiple models in parallel, then uses a judge model (Opus 4.8) to synthesize the best response — achieving near-Fable 5 quality at half the cost on budget tiers. The same paradigm works locally: run Ollama instances of Qwen3.6, Gemma 4, and Mistral alongside an LLM-Blender or AutoMix orchestrator for self-hosted model ensembles without API costs.
Three days after launch, Anthropic’s Fable 5 was banned by the US government for foreign nationals1. The immediate question: what replaces it? OpenRouter answered with Fusion — a compound model that fans out your prompt to a panel of LLMs in parallel and uses a judge model to fuse the best parts into one response.
The claim is bold: budget-tier Fusion (Gemini 3 Flash, Kimi K2.6, DeepSeek v4 Pro) hits 64.7% on benchmarks where Fable 5 scored 65.3% — within 1% of frontier performance, at roughly half the cost.
This post covers how OpenRouter Fusion works under the hood, then shows how to replicate the same ensemble approach locally with open-source tools and models you can run yourself.
How OpenRouter Fusion Works
Fusion is not a single model — it’s an orchestrated pipeline. When you send a prompt:
- The prompt fans out to three models in parallel, each with web search and browsing tools enabled
- Each model produces its own complete response
- A judge model (Claude Opus 4.8) reads all three responses and extracts:
- Consensus points — where the models agree
- Contradictions — where they disagree
- Partial coverage — topics only some models addressed
- Unique insights — things each model said that no other did
- Blind spots — what none of them considered
- The judge synthesizes a final fused response incorporating all perspectives
Opus 4.8} K --> A D --> A A --> F[Fused Response] subgraph Analysis C[Consensus Points] X[Contradictions] U[Unique Insights] B[Blind Spots] end A --> C A --> X A --> U A --> B
Two Tiers: Quality vs Budget
| Tier | Models | Cost per Query (approx.) | Benchmark Score |
|---|---|---|---|
| Quality | Claude Opus, GPT 5.5, Gemini latest | ~$0.63+ | Near-Fable 5 |
| Budget | Gemini 3 Flash, Kimi K2.6, DeepSeek v4 Pro | ~$0.31 | 64.7% (Fable: 65.3%) |
The budget tier is the real story — three cheap models plus one expensive judge produces within 1% of Fable quality at half the price2.
The Analysis Layer Is Key
What makes Fusion genuinely useful isn’t just getting a “better” answer — it’s the analysis layer that shows you:
- Where models agree: High-confidence consensus across three independent reasoning paths
- Where they disagree: Divergent viewpoints reveal nuance and edge cases you’d miss from a single model
- Unique insights: Each model has different training data emphasis, so each surfaces something the others don’t
- Blind spots: Critical for complex topics — the models only answer what you ask them. The analysis layer identifies what they didn’t consider
This is especially valuable when making decisions based on AI output. A single model gives you one perspective. Three models with a judge give you consensus, disagreement, and hidden blind spots — all before you read the final answer.
Limitations: Long-Horizon Tasks
OpenRouter themselves acknowledge this: Fusion has only been evaluated on standard benchmarks (deep research) — not long-horizon tasks like multi-hour coding sessions, continuous browsing, or extended agentic workflows3. Fable 5’s standout ability was sustained focus across hours of work. Fusion doesn’t replicate that yet.
The Science: LLM Ensemble Taxonomy
Fusion fits into a well-studied research area called LLM Ensemble — systematically combining multiple models to exceed any single model’s capability. A comprehensive IJCAI 2026 survey4 categorizes ensemble methods into three paradigms:
(a) Ensemble Before Inference
Route the query to the best-suited model before generating. Examples include RouteLLM, MetaLLM, and the “Blending Is All You Need” approach — which dynamically weights models based on predicted utility for each input.
(b) Ensemble During Inference
Combine models at token-level or span-level during generation. Token-level methods like GaC treat token generation as a classification problem across multiple models’ probability distributions. Span-level methods like SpecFuse have one model draft segments and another verify them — similar to speculative decoding but across different models.
(c) Ensemble After Inference
Generate complete responses from all models, then combine. This is where Fusion lives:
- Non-cascade: All models respond simultaneously; a judge synthesizes the result (LLM-Blender, FuseLLM, LLM-PeerReview)
- Cascade: Models are ordered by size/cost; cheaper ones attempt first, escalating to expensive models only if confidence is low (FrugalGPT, AutoMix)
OpenRouter Fusion is squarely in (c1) Non-cascade — all panel models respond simultaneously, then a judge model performs generative fusion.
Replicating Fusion Locally
The same architecture works with locally-running models. Here’s how to build it yourself without API costs.
Approach 1: Ollama + LLM-Blender (Easiest)
LLM-Blender is the foundational open-source tool for post-inference ensemble — exactly the category Fusion uses. It takes multiple model responses, ranks them pairwise using a judge model, then generates a fused output.
Setup:
# Start Ollama with multiple models running on different portsollama serve & sleep 3ollama pull qwen3:8bollama pull gemma2:9bollama pull mistral-nemo:12bollama pull qwen3:32b # judge model
# Clone and install LLM-Blendergit clone https://github.com/yuchenlin/LLM-Blender.gitcd llm-blender && pip install -e .Run an ensemble:
from blender import Blender, ModelType
# Define panel models (budget tier)panel = { "qwen3:8b": {"type": ModelType.Ollama}, "gemma2:9b": {"type": ModelType.Ollama}, "mistral-nemo:12b": {"type": ModelType.Ollama},}
# Define judge model (quality tier)judge = { "qwen3:32b": {"type": ModelType.Ollama},}
blender = Blender(panel_models=panel, judge_model=judge)response = blender.run("What is the best approach to building a RAG system for legal documents?")print(response["fused"])The key insight: use smaller models (8B–12B range) as your panel — they’re fast and cheap. Use a larger model (32B+) only as the judge, which runs once per query instead of generating full responses from scratch.
Approach 2: AutoMix + vLLM (Cascade with Confidence)
AutoMix takes a different approach — it dynamically mixes models based on their confidence signals. Instead of running all three and then judging, it uses model logits to determine which parts each model is confident about and blends at the token level.
This is more sophisticated but also more complex:
# Install AutoMix with vLLM backendpip install automix-llm[vllm]
# Run multiple models via vLLM (requires GPU)python -c "from automix import AutoMix, ModelConfig
models = [ ModelConfig('Qwen/Qwen3.6-8B', port=8001), ModelConfig('google/gemma-4-9b-it', port=8002),]
automixer = AutoMix(models)result = automixer.generate( prompt='Explain how speculative decoding works', max_tokens=512, blend_method='confidence_weighted')print(result.text)"AutoMix is best when you want token-level blending rather than full-response fusion — it’s like the (b) category from the taxonomy. Each model contributes where it’s most confident, and the less-confident models yield to stronger ones.
Approach 3: Custom Pipeline with llama.cpp + Bash (Most Flexible)
For maximum control, build your own pipeline using llama.cpp instances communicating via HTTP servers:
#!/bin/bash# local-fusion.sh — Self-hosted model ensemble
PROMPT=$1JUDGE_MODEL="qwen3.6-27b-q5_k_m.gguf"
# Start three panel models on different ports (background)llama-server -m qwen3.6-8b-q4_k_m.gguf --host 0.0.0.0 --port 8001 &llama-server -m gemma-4-9b-it-q5_k_m.gguf --host 0.0.0.0 --port 8002 &llama-server -m mistral-nemo-12b-instruct-q5_k_m.gguf --host 0.0.0.0 --port 8003 &
sleep 5
# Fan out prompt to all three models in parallelcurl -s http://localhost:8001/v1/chat/completions \ -d "{\"model\":\"qwen\",\"messages\":[{\"role\":\"user\",\"content\":\"$PROMPT\"}]}" > /tmp/qwen.json &
curl -s http://localhost:8002/v1/chat/completions \ -d "{\"model\":\"gemma\",\"messages\":[{\"role\":\"user\",\"content\":\"$PROMPT\"}]}" > /tmp/gemma.json &
curl -s http://localhost:8003/v1/chat/completions \ -d "{\"model\":\"mistral\",\"messages\":[{\"role\":\"user\",\"content\":\"$PROMPT\"}]}" > /tmp/mistral.json &
wait
# Extract responsesQWEN=$(jq -r '.choices[0].message.content' /tmp/qwen.json)GEMMA=$(jq -r '.choices[0].message.content' /tmp/gemma.json)MISTRAL=$(jq -r '.choices[0].message.content' /tmp/mistral.json)
# Start judge modelllama-server -m "$JUDGE_MODEL" --host 0.0.0.0 --port 8004 &sleep 5
# Send analysis prompt to judgeFUSION_PROMPT="Three models answered the same question. Analyze their responses for consensus, contradictions, unique insights, and blind spots. Then produce a fused final answer that incorporates all perspectives.
QUESTION: $PROMPT
MODEL 1 (Qwen3):$QWEN
MODEL 2 (Gemma4):$GEMMA
MODEL 3 (Mistral-Nemo):$MISTRAL"
curl -s http://localhost:8004/v1/chat/completions \ -d "{\"model\":\"qwen\",\"messages\":[{\"role\":\"user\",\"content\":\"$FUSION_PROMPT\"}]}" | jq -r '.choices[0].message.content'
# Cleanuppkill -f llama-serverThis is the self-hosted equivalent of OpenRouter Fusion — three panel models, one judge, same architecture. The advantage: zero API costs after the initial model downloads.
Hardware Requirements for Local Fusion
| Setup | VRAM Required | Model Quantization | Notes |
|---|---|---|---|
| Panel (3× 8–12B) sequential | ~6 GB per model | Q4_K_M | Run one at a time, not simultaneously |
| Panel + Judge (sequential) | ~6 GB panel + ~19 GB judge | Q4/Q5 | Total: ~25 GB — needs RTX 3090/4090 minimum |
| All models simultaneous | ~48+ GB | Q4_K_M | Needs multi-GPU or A100/H100 |
OpenRouter vs Local Ensemble: Tradeoffs
| Factor | OpenRouter Fusion | Self-Hosted Ensemble |
|---|---|---|
| Quality | Frontier models (GPT 5.5, Opus) + web search | Limited to open-weight models you can fit on your GPU |
| Cost per query | ~0.63 | $0 (after hardware purchase) |
| Latency | Seconds (cloud inference) | Varies — 8B panel is fast, 27B judge takes time |
| Privacy | Your queries go to OpenRouter’s servers | Fully local — no data leaves your machine |
| Web search | Built-in via BAS tools | Requires separate setup (e.g., Tavily API) |
| Long-horizon tasks | Not supported yet | Same limitation — ensemble doesn’t solve sustained focus |
The decision comes down to: do you need frontier quality with web search (OpenRouter), or do you need privacy and zero ongoing costs (self-hosted)? For most personal use cases, the self-hosted approach is compelling — especially if you already have an RTX 4090.
What’s Missing in Local Fusion Right Now
- Web browsing tools — OpenRouter’s panel models have built-in web search and BAS tools. Self-hosted setups need separate tool integration (e.g., Tavily API or Crawl4AI).
- Model diversity — The open-weight ecosystem is growing but still narrower than the commercial landscape. You’re limited to Qwen, Gemma, Mistral, Llama variants rather than GPT 5.5 and Opus.
- Long-horizon reasoning — As OpenRouter admits, neither Fusion nor its local equivalent handles multi-hour sustained tasks. This is a fundamental challenge for any ensemble approach.
The Bigger Picture: Ensembles as the Post-Frontier Playbook
Fusion reveals something important about the current AI landscape: combining smaller models can rival single frontier ones. The research backing this goes back to “Blending Is All You Need” (2024) — which showed that a dynamic blend of smaller LLMs outperformed even trillion-parameter models on many tasks5.
The pattern is clear:
- Diversity beats scale — different models have different blind spots and strengths
- A judge model amplifies the effect — synthesis > simple averaging
- Cost efficiency scales with panel size — 3 cheap + 1 expensive < 4 expensive
Whether through OpenRouter’s API or a self-hosted Ollama cluster, ensemble is becoming the default approach for serious AI work. The question isn’t whether to use ensembles anymore — it’s how many models you can fit in your budget (or your VRAM).
Footnotes
-
US Commerce Department export control directive issued June 13, 2026, suspending Fable 5 and Mythos 5 access for foreign nationals. Anthropic complied but publicly disagreed with the move. ↩
-
OpenRouter Fusion API benchmarks as described by TheAIGRID on YouTube (June 14, 2026). Budget tier: Gemini 3 Flash + Kimi K2.6 + DeepSeek v4 Pro panel, Opus 4.8 judge — 64.7% vs Fable 5’s 65.3%. ↩
-
OpenRouter’s own statement: “We have only evaluated one deep research benchmark so far which did not include the long horizon tasks and Fable’s long horizon abilities were extremely impressive.” ↩
-
Chen et al., “Harnessing Multiple Large Language Models: A Survey on LLM Ensemble,” IJCAI 2026. GitHub repo. ↩
-
“Blending Is All You Need: Cheaper, Better Alternative to Trillion-Parameters LLM” (ICML 2024) — showed dynamic blending of smaller models outperforms single large models across multiple benchmarks. ↩

