Уровни обслуживания (Service Tiers)
Некоторые провайдеры продают одну и ту же модель в нескольких уровнях обслуживания: обычная ёмкость, более дешёвая с низким приоритетом обработки и приоритетная с более высокой ценой. Каждый уровень — это отдельный эндпоинт модели со своим тегом и своей ценой. По умолчанию запрос обслуживается на стандартном уровне.
Уровни обслуживания
| Уровень | Также называется | Что даёт |
|---|---|---|
default |
standard |
Обычная ёмкость провайдера и обычная цена |
flex |
— | Ниже цена, ниже приоритет обработки |
priority |
fast |
Приоритетная обработка, выше цена |
ultrafast |
— | Уровень выше priority; только у отдельных моделей OpenAI и только по явному указанию |
priority и fast — два написания одного уровня, в запросе можно использовать любое. Провайдеры по-разному называют свои приоритетные эндпоинты (fast, turbo, highspeed, prime), и это название попадает в тег эндпоинта — например, deepinfra/turbo. При этом запрос с service_tier: "priority" или service_tier: "fast" обслуживается любым из них.
Каждый уровень — самостоятельный эндпоинт модели, а не вариант имени модели. В каталоге /models тарифные эндпоинты видны в информации о провайдере: на каждый уровень отдельная секция, а тег уровня указан рядом с именем эндпоинта — например, openai/flex, openai/fast или openai/ultrafast.
Параметр service_tier
Уровень задаётся необязательным параметром service_tier в теле запроса — на верхнем уровне, рядом с model. Параметр поддерживается в /v1/chat/completions, /v1/responses и /v1/messages.
| Значение | Поведение |
|---|---|
default |
Стандартный уровень. Дополнительно исключает приоритетные эндпоинты open-weight моделей из пула |
flex |
Дешёвый уровень с низким приоритетом обработки |
priority |
Приоритетная обработка |
fast |
То же, что priority |
ultrafast |
Уровень выше priority (только модели, у которых он есть) |
Пример запроса на уровне flex:
curl https://api.ru-openrouter.ru/v1/chat/completions \
-H "Authorization: Bearer sk_ваш_api_ключ" \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-5",
"service_tier": "flex",
"messages": [{"role": "user", "content": "Привет!"}]
}'
Если параметр не указан, используется стандартный уровень.
Выбор уровня через slug эндпоинта
У каждого уровня есть собственный slug эндпоинта: к slug стандартного эндпоинта добавляется уровень последним сегментом. Примеры: openai/fast, openai/ultrafast, google-vertex/global/flex, baseten/fp4/us/priority. Суффиксы fast и priority взаимозаменяемы — оба указывают на один и тот же приоритетный эндпоинт.
Указать тир-слаг можно в provider.order или provider.only:
{
"model": "openai/gpt-5",
"messages": [{"role": "user", "content": "Привет!"}],
"provider": {
"only": ["openai/fast"]
}
}
{
"model": "openai/gpt-5",
"messages": [{"role": "user", "content": "Привет!"}],
"provider": {
"order": ["openai/fast", "openai"],
"allow_fallbacks": false
}
}
Базовый slug без суффикса (openai) матчит все эндпоинты провайдера, включая тарифные варианты.
Маршрутизация и резервные варианты
Уровни, отличные от стандартного (flex, priority, ultrafast), запрашиваются явно — параметром service_tier или тир-слагом в provider.order / provider.only. Без этого запрос на них не попадает.
Исключение — приоритетные эндпоинты open-weight моделей: они участвуют в обычной маршрутизации и могут обслужить запрос без явного указания уровня. service_tier: "default" исключает их из пула, и запрос обслуживается по стандартному тарифу.
Поведение при выборе уровня:
priority— приоритетные эндпоинты пробуются первыми, при их недоступности запрос уходит на обычные. Внутри группы эндпоинты сортируются по скорости;provider.sortилиprovider.orderзаменяют эту сортировку своим порядком.flex— flex-эндпоинты пробуются первыми, сортировка по цене. Резерв ограничен ценой: запрос уходит только на эндпоинты, у которых и вход, и выход не дороже flex. Если таких нет (например, у модели один провайдер и его flex — самый дешёвый вариант), возвращается ошибка ёмкости, как при прямом вызове провайдера. Если flex-эндпоинтов у модели нет вообще, запрос обслуживается по обычным ценам.ultrafast— порядок такой: сначала ultrafast-эндпоинты, затем priority, затем обычные. Уровень не выбирается ни:nitro, ниservice_tier: "priority", ни сортировкойprovider.sort— только явным указаниемservice_tier: "ultrafast"или тир-слагом.
Стоимость запроса определяется эндпоинтом, который его реально обслужил: если приоритетный запрос ушёл на обычный эндпоинт, он и тарифицируется по обычной цене.
Уровень в ответе
Поле service_tier в ответе сообщает, какой уровень фактически обслужил запрос. Возможные значения: default, flex, priority, ultrafast и null, если уровень недоступен или провайдер его не сообщает.
Расположение поля зависит от API:
| API | Где находится поле |
|---|---|
/v1/chat/completions |
На верхнем уровне объекта ответа |
/v1/responses |
На верхнем уровне объекта ответа |
/v1/messages |
Внутри usage; вместо default возвращается standard — как в спецификации Anthropic |
Пример для Chat Completions:
{
"id": "gen-1750000000-AbCdEf",
"object": "chat.completion",
"model": "openai/gpt-5",
"service_tier": "priority",
"choices": [
{
"index": 0,
"message": {"role": "assistant", "content": "Привет!"},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 9,
"completion_tokens": 3,
"total_tokens": 12
}
}
Пример для Messages API:
{
"id": "msg_01AbCdEf",
"type": "message",
"role": "assistant",
"content": [{"type": "text", "text": "Привет!"}],
"model": "openai/gpt-5",
"stop_reason": "end_turn",
"usage": {
"input_tokens": 9,
"output_tokens": 3,
"service_tier": "priority"
}
}
Суффиксы :nitro и :floor
Суффиксы :nitro и :floor в имени модели управляют сортировкой провайдеров: :nitro сортирует по скорости (provider.sort = "throughput"), :floor — по цене (provider.sort = "price"). Уровень обслуживания они не переключают: чтобы запрос обслуживался на flex, priority или ultrafast, укажите service_tier или тир-слаг.
Примечания
- Названия уровней у провайдеров (
turbo,highspeed,prime) — это ярлыки эндпоинтов, а не значения дляservice_tier. В запросе используйтеpriorityилиfast. ultrafast— отдельный уровень, а не ещё одно написаниеpriority. Если у модели нет ultrafast-эндпоинта, запрос сservice_tier: "ultrafast"обслуживается какpriority.- Отдельные модели с суффиксом
-fastв имени устарели: вместо них используется обычная модель сservice_tier: "fast".