model field, optional models candidate lists, route, and model suffixes such as :nitro or :floor.
You do not need a separate provider configuration block in the request body for standard ARouter routing.
How Provider Selection Works
When you send a request with a model likeopenai/gpt-5.4, ARouter:
- Identifies the target provider from the model prefix
- Checks API key health and availability (circuit-breaker)
- Selects the best available key from the provider’s key pool
- Forwards the request, injecting the provider key transparently
503 Service Unavailable.
Default Strategy: Cost-Based Load Balancing
By default, ARouter balances load across healthy provider keys using a cost-aware strategy. Providers with better cost-per-token ratios are preferred. This runs entirely server-side — no configuration required.Specifying a Provider via Model Prefix
The primary way to control which provider handles your request is via theprovider/model format in the model field:
Ordered Model Lists
When you want ARouter to try multiple candidate models in a specific order, send an orderedmodels array together with a route mode:
Provider Variants via :nitro and :floor
Some models are offered in multiple variants. Use model suffixes to select performance tiers:
:nitro — Maximum Throughput
Append :nitro to route to the fastest available instance of a model, optimized for throughput over cost:
:nitro variants are suitable for real-time applications where latency matters most.
:floor — Minimum Cost
Append :floor to route to the lowest-cost available instance:
:floor variants are ideal for batch processing and offline workloads.
Provider Health and Availability
ARouter continuously tracks the health of each provider’s API keys using a circuit-breaker mechanism:- Healthy: The provider is accepting requests normally
- Degraded: The provider has recent failures; requests may be retried with a different key
- Unavailable: All keys for this provider are circuit-broken; ARouter returns an error
Using the Native Provider Proxy
For complete control, use the provider proxy endpoint/{provider}/{path} to send requests directly to a specific provider, bypassing ARouter’s model-routing layer:
Supported Providers
| Provider | Prefix | Example Model |
|---|---|---|
| OpenAI | openai | openai/gpt-5.4 |
| Anthropic | anthropic | anthropic/claude-sonnet-4.6 |
google | google/gemini-2.5-flash | |
| DeepSeek | deepseek | deepseek/deepseek-v3.2 |
| xAI | x-ai | x-ai/grok-4.20 |
| Mistral | mistralai | mistralai/mistral-large-2512 |
| Meta | meta-llama | meta-llama/llama-4-maverick |
| Qwen | qwen | qwen/qwen3-235b |
| MiniMax | minimax | minimax/minimax-m2.7 |
| Groq | groq | groq/llama-3.3-70b-versatile |
| Kimi | kimi | kimi/moonshot-v2 |
| Dashscope | dashscope | dashscope/qwen-max |