Skip to main content
RuAPI поддерживает два API-протокола одновременно: классический OpenAI-совместимый и нативный Anthropic Claude-совместимый. Один и тот же API ключ работает с обоими.

Протокол OpenAI

POST /v1/chat/completions — стандарт индустрии, поддержан почти всеми SDK и фреймворками.

Протокол Claude

POST /v1/messages — нативный формат Anthropic, поддерживает thinking-блоки и MCP.
Шпаргалка:

Базовый URL

Адрес зависит от протокола — это главное, где можно ошибиться: OpenAI-совместимый — с /v1:
Anthropic — без /v1 (SDK сам добавляет /v1/messages):
В таблицах эндпоинтов ниже пути указаны полностью — от корня домена. Аутентификация — через заголовок Authorization: Bearer sk-... (на /v1/messages подходит и x-api-key).
Для Anthropic не добавляйте /v1 в base_url — лишний /v1 приведёт к ошибке 404.

Протокол OpenAI

Используйте этот протокол, если у вас уже есть код на официальном OpenAI SDK или совместимом фреймворке (LangChain, LlamaIndex, Vercel AI SDK и т. д.).

Эндпоинт

Совместимость

Запрос/ответ совпадают с OpenAI Chat Completions API. Поддерживаются:
  • messages (с ролями system / user / assistant / tool)
  • model — имя любой модели из каталога (включая Claude/Gemini/Grok/Qwen/MiniMax/GLM — мы конвертируем на лету)
  • stream: true для streaming-ответов (Server-Sent Events)
  • tools / tool_choice для function calling
  • temperature, top_p, max_tokens и другие параметры

Пример: Python (OpenAI SDK)

Пример: Node.js (OpenAI SDK)

Пример: curl + streaming


Протокол Claude

Используйте этот протокол, если ваш код написан под Anthropic SDK или вам нужны функции, специфичные для Claude (thinking-блоки, structured tool calls в нативном формате).

Эндпоинт

Совместимость

Запрос/ответ совпадают с Anthropic Messages API. Поддерживаются:
  • массив messages (нативный формат Claude)
  • system как отдельное поле
  • model — имя Claude-модели или любой другой (мы конвертируем под Claude-протокол)
  • max_tokens (обязательный для Claude)
  • stream: true
  • tools / tool_choice
  • thinking для рассуждающих моделей

Пример: Python (Anthropic SDK)

Пример: Node.js (Anthropic SDK)

Пример: curl

Anthropic SDK ожидает заголовок x-api-key вместо Authorization: Bearer. RuAPI принимает оба варианта на эндпоинте /v1/messages.

Какой протокол выбрать

В любом случае — один и тот же API ключ, цена за токен не меняется, баланс общий.

Список всех эндпоинтов

Полный список с актуальными моделями — на странице «Цены» на www.ruapi.ai.