Быстрый старт · Работа с API · Модальности
Chat Completions
Основной эндпоинт для текстовых и мультимодальных диалогов.
POST /v1/chat/completions — принимает массив messages и возвращает ответ модели. Поддерживает потоковую передачу, вызов инструментов (client tools), рассуждения (reasoning) и изображения в ответе.
{
"model": "anthropic/claude-sonnet-5",
"messages": [
{"role": "system", "content": "Ты — помощник."},
{"role": "user", "content": "Объясни, что такое токены."}
],
"temperature": 0.7,
"max_tokens": 1000
}
Стриминг
Чтобы получать ответ по мере генерации, передайте "stream": true. Ответ приходит как поток Server-Sent Events (SSE): каждое событие — фрагмент delta, поток завершается строкой data: [DONE].
{
"model": "openai/gpt-5",
"messages": [{"role": "user", "content": "Считай до пяти."}],
"stream": true
}
data: {"choices":[{"delta":{"content":"Один"}}]}
data: {"choices":[{"delta":{"content":", два"}}]}
data: {"choices":[{"delta":{"content":", три..."}}]}
data: [DONE]
Параметры
Помимо model и messages, запрос поддерживает стандартные параметры OpenAI и несколько расширений. Неподдерживаемые конкретной моделью параметры игнорируются.
| Параметр | Тип | Описание |
|---|---|---|
temperature | number | Случайность ответа, 0–2. Меньше — детерминированнее. |
max_tokens | integer | Максимум токенов в ответе. |
stream | boolean | Потоковая передача через SSE. |
response_format | object | Структурированный вывод, например {"type":"json_object"}. |
tools · tool_choice | array | Вызов инструментов на стороне клиента (client tools). |
reasoning | object | Управление режимом рассуждений (для моделей с reasoning). |
transforms | array | Преобразования сообщений (например, сжатие длинного контекста). |
tools/tool_choice и возвращает tool_calls — исполнение функций остаётся в вашем коде. Серверных инструментов и плагинов мы не предоставляем.Формат Anthropic
Для Claude Code и Anthropic SDK есть эндпоинт POST /v1/messages в нативном формате Anthropic. Укажите наш базовый URL и ключ rz-sk-….
curl https://api.rezon-ai.ru/v1/messages \
-H "x-api-key: rz-sk-..." \
-H "content-type: application/json" \
-d '{
"model": "anthropic/claude-sonnet-5",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "Привет!"}]
}'
Резервные модели
Чтобы запрос не падал при перегрузке или недоступности основной модели, передайте список models — Rezon AI по очереди попробует каждую, пока одна не ответит. При ошибках 429/503 выполняется повтор с учётом Retry-After.
{
"models": ["anthropic/claude-sonnet-5", "openai/gpt-5"],
"messages": [{"role": "user", "content": "Привет!"}]
}
Лимиты
Ограничения частоты применяются на уровне API-ключа. При превышении вернётся статус 429 с заголовком Retry-After — повторите запрос после указанной паузы. Списание идёт только за фактически использованные токены; баланс не должен уходить в минус.
Ошибки
Ответы об ошибках приходят в JSON с полем error и понятным сообщением. Технические детали и адреса внутренней инфраструктуры в ответ не попадают.
| Код | Значение |
|---|---|
400 | Некорректный запрос — проверьте тело и параметры. |
401 | Ключ отсутствует или недействителен. |
402 | Недостаточно средств на балансе. |
429 | Превышен лимит частоты — см. Retry-After. |
502 | Временная ошибка при обращении к модели — повторите запрос. |