⚡ New — Kimi K3 is live: bring your own Moonshot key →
Documentation

Higher-quality answers with Sangam consensus

← Cookbook

Call one model id and get a reconciled answer from a panel of models — and decide when the extra tokens are worth it.

Sangam ensembleAdvancedAdvanced12 min

Sangam is BharatRouter's consensus router. Instead of trusting one model, you call a single virtual model id and a panel of models answers in parallel; a synthesiser reconciles them into one answer. You get the reliability of a second opinion — fewer confident-but-wrong answers — from one ordinary chat call.

When consensus is worth it

  • High-stakes or ambiguous prompts — tax/legal reasoning, anything where a wrong answer is expensive.
  • Calls you'd already escalate — consensus often matches a premium model at lower cost.
  • NOT routine traffic — classification, extraction and short drafts don't need a panel; send those to one small model (see cutting costs).

1 · The default: open consensus

bharatrouter/open-sangam runs a panel and reconciles one answer, India-resident and low-cost. Call it exactly like any other model:

from openai import OpenAI

client = OpenAI(base_url="https://api.bharatrouter.com/v1", api_key="br-...")

resp = client.chat.completions.create(
    model="bharatrouter/open-sangam",
    messages=[{"role": "user", "content":
        "A Karnataka shop with \u20b938L turnover sells online to other states. "
        "Is GST registration mandatory, and which returns must it file?"}],
)
print(resp.choices[0].message.content)

2 · The premium variant, BYOK-ready

bharatrouter/sangam uses a frontier panel — the apples-to-apples competitor to a closed consensus router. It bills at INR catalog rates, or on your own keys via BYOK:

curl https://api.bharatrouter.com/v1/chat/completions \
  -H "Authorization: Bearer br-..." -H "Content-Type: application/json" \
  -d '{
    "model": "bharatrouter/sangam",
    "messages": [{"role": "user", "content": "..."}],
    "upstream_key": "sk-your-own-provider-key"
  }'

3 · Build your own panel

Compose a panel and synthesiser per request — mix the models you trust for the task. Keep the panel diverse (different families disagree usefully) and pick a capable synthesiser:

{
  "model": "sangam:{panel,synth}",
  "sangam": {
    "panel": ["gemma-4-e4b-it", "qwen3-32b", "gpt-5-mini"],
    "synth": "gpt-5"
  },
  "messages": [{"role": "user", "content": "..."}]
}

4 · Mind the token cost

Consensus runs N panel calls plus a synthesis, so it spends roughly 3–5× the tokens of a single call and finishes at the speed of the slowest panel member. A great trade on the hard 5% of prompts, a poor one on the routine 95%. Measure it on your own prompts in the Compare playground before wiring it into a hot path.

Every Sangam variant is BYOK-capable and can be pinned to India-resident routes. Full reference: Sangam.

More recipes in the Cookbook, or see the fullAPI reference.