ЦАРЬ РОУТЕР

Карточка модели

GET/v1/models/{model_id}

Карточка одной модели - те же поля, что в GET /v1/models, плюс providers[]: провайдеры модели, их цены и окно контекста. context_length в карточке - самое маленькое окно среди провайдеров.

Старое имя переименованной модели тоже работает: запрос вернёт карточку модели под новым id.

Кэширование ответа. Ответ несёт заголовок ETag - с If-None-Match неизменившаяся карточка вернёт 304 Not Modified без тела.

Лимиты. Расходует счётчик справочных запросов аккаунта - общий с GET /v1/models, GET /v1/key и GET /v1/balance (поле limits.reference_rpm в GET /v1/key).

Авторизация

ModelsKey
АвторизацияBearer <ключ>

Ключ типа «Вызов моделей»: Authorization: Bearer sk-tsar-ваш-ключ. Ключ «Просмотр баланса» получит 403 insufficient_scope.

Где: header

Параметры пути

model_id*string

идентификатор модели; / внутри него кодировать не нужно

Заголовки

If-None-Match?string

ETag из прошлого ответа. Если ответ не изменился, придёт 304 Not Modified без тела.

Тело ответа

application/json

application/json

application/json

application/json

application/json

curl https://api.tsarrouter.ru/v1/models/yandex/yandexgpt-lite-5 \  -H "Authorization: Bearer $TSARROUTER_KEY"
{  "id": "yandex/yandexgpt-lite-5",  "object": "model",  "type": "text",  "context_length": 32768,  "providers": [    {      "provider": "yandex",      "context_length": 32768,      "pricing": {        "prompt": 200,        "completion": 200,        "currency": "RUB",        "unit": "1M tokens"      },      "prompt_cache": {        "price": 200,        "input_price": 200,        "unit": "1M tokens"      }    },    {      "provider": "timeweb",      "context_length": 32768,      "pricing": {        "prompt": 210,        "completion": 210,        "currency": "RUB",        "unit": "1M tokens"      }    }  ]}