ЦАРЬ РОУТЕР

Ответ текстовой модели

POST/v1/chat/completions

Диалог с текстовой моделью в формате OpenAI Chat Completions. Подходит любой OpenAI-клиент.

Диапазоны temperature, top_p и штрафов ЦАРЬ РОУТЕР не ограничивает - значение уходит провайдеру как есть, и допустимые пределы задаёт он. Прочие параметры OpenAI (например, seed, user, logprobs, logit_bias) принимаются без ошибки, но провайдеру не передаются. Что поддерживает конкретная модель, видно в поле supported_parameters её карточки (GET /v1/models/{id}).

Стриминг. С "stream": true ответ приходит событиями SSE: чанки chat.completion.chunk, в конце - data: [DONE]. finish_reason приходит в последнем чанке с текстом. Чтобы получить цену, добавьте "stream_options": {"include_usage": true}: перед [DONE] придёт чанк с пустым choices и usage. Пока идёт потоковый запрос, на балансе держится резерв - см. «Резерв средств в потоковых режимах». Сбой провайдера до первого чанка ЦАРЬ РОУТЕР переживает сам и переключается на другой провайдер; как выглядит сбой после первого чанка - в списке ошибок.

Лимиты. Запрос расходует общий лимит запросов в минуту и лимит типа моделей text; потоковый запрос ещё и занимает слот одновременных стримов. Значения для вашего аккаунта - на странице «Лимиты».

Авторизация

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

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

Где: header

Тело запроса

application/json

Тело ответа

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl https://api.tsarrouter.ru/v1/chat/completions \  -H "Authorization: Bearer $TSARROUTER_KEY" \  -H "Content-Type: application/json" \  -d '{    "model": "yandex/yandexgpt-lite-5",    "messages": [{"role": "user", "content": "Столица Франции? Одним словом."}]  }'
{  "id": "dad31091-...",  "object": "chat.completion",  "created": 1790635866,  "model": "yandex/yandexgpt-lite-5",  "system_fingerprint": null,  "choices": [    {      "index": 0,      "message": {        "role": "assistant",        "content": "Париж."      },      "finish_reason": "stop"    }  ],  "usage": {    "prompt_tokens": 17,    "completion_tokens": 2,    "total_tokens": 19,    "reasoning_tokens": null,    "completion_tokens_details": null,    "prompt_tokens_details": null,    "cost_rub": 0.0038  }}