OpenRouter Fusion API: Fable-Level Intelligence from Model Ensembles — And How to Do It Locally

· 5 min read ai youtube

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:

  1. The prompt fans out to three models in parallel, each with web search and browsing tools enabled
  2. Each model produces its own complete response
  3. 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
  4. The judge synthesizes a final fused response incorporating all perspectives
flowchart TD P[Your Prompt] --> G["Gemini 3 Flash"] P --> K["Kimi K2.6"] P --> D["DeepSeek v4 Pro"] G --> A{Judge Model
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

TierModelsCost per Query (approx.)Benchmark Score
QualityClaude Opus, GPT 5.5, Gemini latest~$0.63+Near-Fable 5
BudgetGemini 3 Flash, Kimi K2.6, DeepSeek v4 Pro~$0.3164.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:

Terminal window
# Start Ollama with multiple models running on different ports
ollama serve & sleep 3
ollama pull qwen3:8b
ollama pull gemma2:9b
ollama pull mistral-nemo:12b
ollama pull qwen3:32b # judge model
# Clone and install LLM-Blender
git clone https://github.com/yuchenlin/LLM-Blender.git
cd 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:

Terminal window
# Install AutoMix with vLLM backend
pip 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=$1
JUDGE_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 parallel
curl -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 responses
QWEN=$(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 model
llama-server -m "$JUDGE_MODEL" --host 0.0.0.0 --port 8004 &
sleep 5
# Send analysis prompt to judge
FUSION_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'
# Cleanup
pkill -f llama-server

This 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

SetupVRAM RequiredModel QuantizationNotes
Panel (3× 8–12B) sequential~6 GB per modelQ4_K_MRun one at a time, not simultaneously
Panel + Judge (sequential)~6 GB panel + ~19 GB judgeQ4/Q5Total: ~25 GB — needs RTX 3090/4090 minimum
All models simultaneous~48+ GBQ4_K_MNeeds multi-GPU or A100/H100

OpenRouter vs Local Ensemble: Tradeoffs

FactorOpenRouter FusionSelf-Hosted Ensemble
QualityFrontier models (GPT 5.5, Opus) + web searchLimited to open-weight models you can fit on your GPU
Cost per query~0.310.31–0.63$0 (after hardware purchase)
LatencySeconds (cloud inference)Varies — 8B panel is fast, 27B judge takes time
PrivacyYour queries go to OpenRouter’s serversFully local — no data leaves your machine
Web searchBuilt-in via BAS toolsRequires separate setup (e.g., Tavily API)
Long-horizon tasksNot supported yetSame 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

  1. 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).
  2. 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.
  3. 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

  1. 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.

  2. 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%.

  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.”

  4. Chen et al., “Harnessing Multiple Large Language Models: A Survey on LLM Ensemble,” IJCAI 2026. GitHub repo.

  5. “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.