Протокол OpenAI
POST /v1/chat/completions — стандарт индустрии, поддержан почти всеми SDK и фреймворками.Протокол Claude
POST /v1/messages — нативный формат Anthropic, поддерживает thinking-блоки и MCP.Базовый URL
Адрес зависит от протокола — это главное, где можно ошибиться: OpenAI-совместимый — с/v1:
/v1 (SDK сам добавляет /v1/messages):
Authorization: Bearer sk-... (на /v1/messages подходит и x-api-key).
Протокол 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 callingtemperature,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: truetools/tool_choicethinkingдля рассуждающих моделей
Пример: Python (Anthropic SDK)
Пример: Node.js (Anthropic SDK)
Пример: curl
Anthropic SDK ожидает заголовок
x-api-key вместо Authorization: Bearer. RuAPI принимает оба варианта на эндпоинте /v1/messages.Какой протокол выбрать
В любом случае — один и тот же API ключ, цена за токен не меняется, баланс общий.
Список всех эндпоинтов
Полный список с актуальными моделями — на странице «Цены» на www.ruapi.ai.