Routing
API поддерживает авто-выбор модели по коротким алиасам и настройку целей и ограничений без указания конкретной модели.
Алиасы моделей
В поле model запроса к chat/completions или completions можно указать короткое имя — маршрутизатор выберет подходящую модель.
| model | Режим |
|---|---|
router | Авто-выбор модели (оптимально по задаче) |
auto | То же, что router |
free | Бесплатный пул моделей |
bodybuilder | Специальный режим (несколько запросов под разные модели) |
Остальные значения (например anthropic/claude-sonnet-4) трактуются как фиксированная модель.
Цели и ограничения
Параметры маршрутизации передаются в объекте metadata или extra_body в теле запроса.
Поддерживаемые поля
| Поле | Тип | Описание |
|---|---|---|
| objective | string | Цель: cheapest, fastest, reliable, balanced |
| max_cost_per_1k_tokens | number | Макс. стоимость за 1k токенов (USD) |
| allowed_models | string[] | Разрешённые модели или паттерны (напр. ["anthropic/*", "openai/gpt-5-mini"]) |
| blocked_models | string[] | Исключаемые модели/паттерны |
| provider_policy | object | only: string[] — только эти провайдеры; ignore: string[] — исключить; allow_fallbacks: boolean |
| top_n | number | Только для route preview: число кандидатов |
Значения objective
- cheapest — приоритет минимальной цены
- fastest — приоритет скорости
- reliable — допускаются резервные провайдеры при сбоях
- balanced — баланс по умолчанию
Пример: самый дешёвый вариант с лимитом
json
POST /api/v1/chat/completions
{
"model": "auto",
"messages": [{"role": "user", "content": "Explain quantum entanglement briefly"}],
"metadata": {
"objective": "cheapest",
"max_cost_per_1k_tokens": 0.01,
"allowed_models": ["anthropic/*", "openai/gpt-5-mini"]
}
}Пример: только определённые провайдеры
json
{
"model": "router",
"messages": [{"role": "user", "content": "Hi"}],
"metadata": {
"provider_policy": {
"only": ["Anthropic", "OpenAI"]
}
}
}Если под ограничения не найдётся подходящая модель или провайдер, API вернёт 404 с описанием (например, список доступных провайдеров).
Связанные разделы
- Route proof — заголовки и поле alltokens_route в ответе
- Route preview — превью кандидатов без вызова модели
- Route explain — объяснение выбора по generation_id