provider object, variants are a concise shorthand embedded directly in the model string.
:nitro — Maximum Throughput
Append :nitro to route to the highest-throughput instance of a model. Equivalent to setting provider.sort = "throughput".
Best for: Real-time applications, interactive chat, streaming UI
- TypeScript
- Python
- cURL
:floor — Minimum Cost
Append :floor to route to the lowest-cost instance of a model. Equivalent to setting provider.sort = "price".
Best for: Batch processing, offline workloads, cost-sensitive pipelines
- TypeScript
- Python
- cURL
:free — Free Tier
Append :free to route to the free-tier instance of a model. Free-tier instances are available for many popular models with rate limits applied.
Best for: Prototyping, development, low-volume testing
- TypeScript
- Python
- cURL
Free-tier models apply stricter rate limits and may have reduced context windows. See Rate Limits for details.
:thinking — Extended Reasoning
Append :thinking to enable extended chain-of-thought reasoning on models that support it (e.g. DeepSeek R1, Claude with extended thinking, Gemini Flash Thinking).
Best for: Complex reasoning, math, coding, multi-step problems
- TypeScript
- Python
- cURL
:thinking is enabled, reasoning tokens appear in the response usage.completion_tokens_details:
:extended — Extended Context
Append :extended to access versions of a model with a larger context window than the default.
Best for: Long document processing, large codebases, extended conversations
- TypeScript
- Python
:exacto — Tool-Calling Quality
Append :exacto to explicitly activate quality-ranked routing for tool-calling requests. ARouter selects the provider endpoint with the highest tool-calling quality score, rather than the cheapest option.
Best for: Production tool-calling pipelines where schema adherence and argument accuracy matter more than cost
- TypeScript
- Python
tools is present. :exacto forces quality-ranked routing even for requests without tools — useful when you want consistent provider selection behavior regardless of whether the model invokes tools.
Combining Variants
Some variants can be combined:Not all combinations are valid. ARouter returns an error if the requested combination is unavailable for a model.
Variant Reference
How Variants Affect Routing
Variants are parsed on the server and influence which endpoint ARouter selects:- The base model ID (e.g.
openai/gpt-5.4) identifies the model family - The suffix modifies the endpoint selection criteria
- ARouter returns the actual model used in
response.model
response.model to see exactly which model variant was served:
provider object options when you need more granular control than variants provide.