Docs

Tiers and model IDs

The model field names a lane, also called a tier. The router resolves it, then picks the model and the effort for each task from that lane's pool. For how the choice is made, see Lanes.

Model IDs

TierModel IDAlso acceptedPlans
Fastfastrouterlane/fastStarter, Pro, Enterprise
Normalnormalrouterlane/normalStarter, Pro, Enterprise
Smartsmartrouterlane/smartPro, Enterprise
Smart+smart-plussmart+, smartplus, smart_plus, smart plus, routerlane/smart-plusEnterprise

Names are case-insensitive. A bracketed suffix such as Claude Code's [1m] is ignored, so smart[1m] is smart.

Aliases

Model names from other APIs map to a tier by family, so agents with hard-coded model names work unchanged.

A model name containingRuns on
haiku, mini, nano, flash, liteFast
sonnetNormal
opus, proSmart
nothing, auto or defaultyour account's default tier, Normal unless set

Any other name returns 400 with type not_found_error. Aliases follow your plan like any tier name: claude-opus on a Starter key is refused with 403.

Effort

The router picks a reasoning effort per task on one scale: off, minimal, low, medium, high, xhigh, max. Whatever effort or thinking setting the client sends is replaced.

  • Each model gets its own native setting for the chosen level: a reasoning effort value, or a thinking budget for models that think in tokens. You never translate effort knobs between vendors.
  • A model that offers a single setting runs at it.
  • A thinking budget always fits inside your max_tokens, with room left for the answer.
  • max_tokens above the chosen model's output limit is lowered to that limit.

Effort bands

LaneBandPool
Fastoff to low27 models
Normallow to high23 models
Smarthigh to max15 models
Smart+high to max for the build7 frontier builders, 4 fast explorers and reviewers

Within a band, harder tasks get stronger models and more effort. See which lane runs each model at each effort.

Decisions and headers

Every response carries the decision. The model field in the response body holds the tier you called.

HeaderExampleMeaning
x-router-tiernormalThe tier the request ran on
x-router-modelclaude-sonnet-5.5The model that answered
x-router-effortmediumThe effort the router chose
x-router-sourcerulerule or default for a new task, continuation for a tool result inside a running task, sticky when the conversation kept its model, smartplus for a Smart+ job turn
x-router-request-id4f1c9a07d2e86b13Quote it to support

Conversations

The router recognizes a conversation from the client's session identifiers: Claude Code's session id, Codex's prompt_cache_key, pi's session affinity header, or x-session-id. Without one, the system prompt and the first message identify it. A conversation keeps its model unless a later task is harder, and a request whose newest message is a tool result reuses the running task's decision.

Context and images

  • Each tier is listed in /v1/models with a 1,048,576-token context window and 131,072 output tokens.
  • A request past 85% of the chosen model's window moves to a long-context model in the lane, with windows up to 2M tokens.
  • Images work on every lane. A request with images, files, audio or video goes to a model in the lane that reads them.