Some models are published in two route groups. Omit the group and the request uses Default. Append :flex to the model ID to use Flex.
| Default | Flex | |
|---|---|---|
| Model ID | model-id | model-id:flex |
| Price | List price on the Models page | Lower price shown under the Flex tab |
| Capacity | Standard routes | Lower-cost relay capacity |
| Stability | Standard | Best effort. No availability guarantee |
| Failover | Other routes in the same group | Other Flex routes only. Does not fall back to Default |
Prices for both groups are on the Models page. Open a model and switch Default / Flex. Models without a Flex tab do not have a Flex route; calling them with :flex returns 400 (no active route for that group).
Call Flex
Use the same base URL, API key, and protocol as Default. Only the model ID changes.
OpenAI-compatible
curl "https://api.octarouter.com/v1/chat/completions" \
-H "Authorization: Bearer sk-or-..." \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v3.2:flex",
"messages": [{"role": "user", "content": "Hello"}]
}'
Anthropic Messages — put the suffix in the model field:
{ "model": "claude-3-5-sonnet-latest:flex", "max_tokens": 1024, "messages": [] }
Gemini — put the suffix in the path model segment, before the action:
POST /v1beta/models/gemini-2.0-flash:flex:generateContent
Image, transcription, and speech endpoints use the same suffix on model (or the Gemini path segment).