Three-Tier Model Routing: Cut Your Team's LLM Bill by Half (2026)
Runaway LLM bills come from running everything on flagships. Route by difficulty: $0.2-tier for bulk chores, $2-tier for daily work, $5-tier only when stuck — with concrete model picks and real prices.
Why all-flagship is the most expensive mistake
Opus 5 and Luna differ 28x in price and 0x in quality on 'extract the field from this JSON'. Audit your call logs: typically 60-70% of calls are L1-difficulty chores. Downgrading just that slice cuts the bill by a third — the highest-ROI optimization available.
How to implement routing
No gateway needed: hardcode model names by task type (same base_url, same key). Advanced: configure fallback in your agent framework — L2 failures escalate to L3 automatically, then drop back. Never cheat downward: running coding tasks on L1 costs more in rework than it saves in tokens.
Two hidden costs
Reasoning models (GLM-5.x, Gemini 3.6/3.7 Flash) burn thinking tokens before answering — billed as output; set max_tokens 1000+ or you pay for an empty answer. And keep fixed prefixes short: caching only pays off while the prefix stays byte-for-byte identical, and how much of that saving reaches you depends on how your provider prices cached input — shortening is the saving that lands either way.
The monthly 15-minute review
Pull the ledger, group by model, ask three questions: which L3 calls could have been L2? did L1 chores creep into L2? which key's usage jumped? Usually finds another 10%.
Three-tier quick reference (cocodot, USD per M tokens)
| Tier | Task type | Models | In / Out |
|---|---|---|---|
| L1 bulk | classify / tag / extract | GPT-5.6 Luna · Gemini 3 Flash | $0.18/$1.08 · $0.45/$2.7 |
| L2 daily | code / content / reasoning | Sonnet 5 · K2.7 Code | $1.8/$9 · ~$0.87/$3.6 |
| L3 hard | cross-file / agents | Opus 5 | $4.5/$22.5 |