Документация · API

Работа с API

Chat Completions, стриминг, параметры и обработка ошибок.

Быстрый старт · Работа с 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 и несколько расширений. Неподдерживаемые конкретной моделью параметры игнорируются.

ПараметрТипОписание
temperaturenumberСлучайность ответа, 0–2. Меньше — детерминированнее.
max_tokensintegerМаксимум токенов в ответе.
streambooleanПотоковая передача через SSE.
response_formatobjectСтруктурированный вывод, например {"type":"json_object"}.
tools · tool_choicearrayВызов инструментов на стороне клиента (client tools).
reasoningobjectУправление режимом рассуждений (для моделей с reasoning).
transformsarrayПреобразования сообщений (например, сжатие длинного контекста).
Инструменты работают на стороне клиента. Rezon AI прозрачно пробрасывает 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Временная ошибка при обращении к модели — повторите запрос.

← Быстрый старт · Модальности →