Skip to main content

The 5 Routing Tiers

Every request gets classified into one of 5 tiers. Each tier maps to a group of models, ordered cheapest first with fallbacks built in. The 5 routing tiers - from NANO to COMPLEX

The Tier Ladder

TierWhat it handlesTypical models (2026)Approx. cost
NANOGreetings, acks, single wordsGemini 3.1 Flash-Lite, GLM-4.7 Flash~$0.00001
SIMPLEBasic facts, casual chat, trivial Q&AQwen3.6-27B, Claude Haiku 4.5, GLM-5.2~$0.0002
LIGHTExplanations, simple code, summariesKimi K2.6, Gemini 3.5 Flash, DeepSeek V4 Flash~$0.001
STANDARDDetailed coding, analysis, multi-stepClaude Sonnet 4.6, GPT-5.4, Mistral Large 3~$0.015
COMPLEXExpert knowledge, architecture, long docs, math proofs, formal logicClaude Opus 4.8, GPT-5.5, DeepSeek V4 Pro~$0.025
Reasoning is not a separate tier. It is a capability. Within COMPLEX, prompts that need chain-of-thought - proofs, derivations, formal logic - are matched to models built for that kind of work instead of a general-purpose flagship model.

NANO

For greetings, acknowledgments, single-word replies. Examples that hit NANO:
  • “hi”
  • “thanks”
  • “ok”
  • “sure”
This is the most common silent waste in AI apps. Paying Claude Opus prices to say “Hi there!” adds up fast.

SIMPLE

For basic factual questions and casual conversation. Examples:
  • “What is the capital of France?”
  • “How many days are in a leap year?”
  • “Translate hello to Spanish”
  • “What is 15% of 240?”

LIGHT

For explanations, general Q&A, and short creative tasks. This is also the default when Routor is unsure. Examples:
  • “Explain what a closure is in JavaScript”
  • “Write a short bio for a product manager”
  • “What is the difference between REST and GraphQL?”
  • “Fix the typo in this sentence”

STANDARD

For detailed technical work, multi-step analysis, and production code tasks. Examples:
  • “Refactor this auth middleware to use JWT”
  • “Analyze this CSV and identify trends”
  • “Write a unit test suite for this function”
  • “Compare these two system designs and recommend one”

COMPLEX

For expert-level tasks, long documents, architectural decisions, and formal reasoning. Examples:
  • “Review this 5,000-word technical specification”
  • “Design a microservice architecture for a fintech platform”
  • “Write a board-level executive summary of this report”
  • “Audit this codebase for security vulnerabilities”
  • “Prove that the square root of 2 is irrational”
  • “Derive the time complexity of this algorithm”
Within this tier, prompts that are specifically mathematical or logic-heavy get matched to a model trained for chain-of-thought work rather than a general-purpose flagship. DeepSeek V4 Pro often outperforms general models on proofs and derivations at a fraction of the cost - currently 0.44input/0.44 input / 0.87 output per million tokens versus $5 or more for frontier models.

How the Tier Is Assigned

Routor analyzes your prompt and assigns the tier that best fits what the request actually needs. It scores the prompt across 15 weighted dimensions and maps the aggregate score to a tier using configured boundaries, producing a confidence score alongside the tier. The tier is always determined by where the score lands relative to the boundaries. Prompts that sit near a boundary get a lower confidence, but the tier is still assigned directly - there is no separate fallback path. Neutral, ambiguous prompts tend to land at LIGHT because that is where the middle boundary sits.

Controlling the Tier

You can constrain which tiers Routor uses without touching your routing logic. Valid tier values, cheapest to most capable: NANOSIMPLELIGHTSTANDARDCOMPLEX. Set a floor - never go below this tier:
{
  "model": "auto",
  "routor_tier_floor": "STANDARD"
}
Set a ceiling - never go above this tier:
{
  "model": "auto",
  "routor_tier_ceiling": "LIGHT"
}
Floor and ceiling combine: routor_tier_floor: "LIGHT" + routor_tier_ceiling: "STANDARD" restricts routing to LIGHT or STANDARD only. A floor also merges with the quality sliders (routor_code_quality / routor_chat_quality) — the higher of the two floors wins. Force a specific tier - skip classification:
{
  "model": "auto",
  "routor_profile": "tier",
  "routor_tier": "COMPLEX"
}
Forcing a tier also lowers the routing margin from 10% to 8%, since Routor skips classification. Full request with curl:
curl https://api.routor.ai/v1/chat/completions \
  -H "Authorization: Bearer sk-routor-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "auto",
    "routor_profile": "tier",
    "routor_tier": "LIGHT",
    "messages": [{ "role": "user", "content": "Summarize this paragraph..." }]
  }'
You can also save these constraints in a Routing Profile so they apply to every request from a given key, with no code change needed. Request-body parameters override the profile’s saved values.