Login
Back to Blog
/v1/chat/completions, /v1/responses и /v1/messages: какой endpoint AI API использовать

/v1/chat/completions, /v1/responses и /v1/messages: какой endpoint AI API использовать

C
Crazyrouter Team
June 4, 2026
0 viewsРусскийTutorial
Share:

/v1/chat/completions vs /v1/responses vs /v1/messages: Какой endpoint AI API выбрать?#

Распространённая проблема в AI API шлюзах — это не API ключ, не модель и не SDK. Это endpoint.

Пользователь выбирает существующую модель, но отправляет запрос на неправильный endpoint. В результате:

  • модель недоступна;
  • endpoint не поддерживается;
  • неверное тело запроса;
  • tool calling не работает;
  • несовпадение формата streaming;
  • Claude модель работает в одном инструменте, но падает в другом.

Это руководство объясняет различия между тремя семействами endpoint:

text
/v1/chat/completions
/v1/responses
/v1/messages

Краткая версия:

EndpointРодная экосистемаЛучше всего дляСтиль запроса
/v1/chat/completionsOpenAI-совместимый legacy/текущий chatБольшинство приложений, SDKs, LiteLLM, Cursor-style инструменты, простой chatmessages: [{role, content}]
/v1/responsesНовый OpenAI Responses APITool use, multimodal, reasoning items, новые OpenAI-style агентыinput, tools, structured response items
/v1/messagesAnthropic Claude APIClaude-native SDKs и Claude-style приложенияmessages плюс top-level system, Anthropic schema

Если ваш клиент говорит "OpenAI-compatible", начните с:

text
https://crazyrouter.com/v1/chat/completions

или установите base URL на:

text
https://crazyrouter.com/v1

и позвольте SDK добавить /chat/completions.

Если ваш инструмент специально требует OpenAI Responses API, используйте /v1/responses.

Если ваш инструмент использует Anthropic-native SDK и ожидает Claude Messages API, используйте /v1/messages.

Самая распространённая ошибка#

Самая распространённая ошибка — смешивание семейства моделей и семейства endpoint.

Например, Claude модель может быть доступна через OpenAI-совместимый шлюз, но это не означает автоматически, что тело вашего запроса должно использовать Anthropic-native /v1/messages schema.

Аналогично, инструмент, который отправляет Anthropic-native запросы на /v1/messages, не может быть исправлен только изменением имени модели. Endpoint и тело запроса должны совпадать.

Думайте об этом так:

text
имя модели + endpoint + schema запроса должны совпадать

Если один из трёх неправильный, модель может выглядеть недоступной, даже если сама модель работает нормально.

Что такое /v1/chat/completions#

/v1/chat/completions — это классический OpenAI-совместимый chat endpoint.

Типичный запрос выглядит так:

bash
curl https://crazyrouter.com/v1/chat/completions \
  -H "Authorization: Bearer $CRAZYROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.5",
    "messages": [
      {"role": "system", "content": "You are a helpful assistant."},
      {"role": "user", "content": "Explain API endpoints in one paragraph."}
    ]
  }'

Используйте /v1/chat/completions когда:

  • приложение говорит, что поддерживает OpenAI-совместимый API;
  • конфиг запрашивает OPENAI_BASE_URL или base_url;
  • тело запроса использует messages с role и content;
  • вы используете режим совместимости обычного OpenAI SDK;
  • вы настраиваете инструменты типа Cursor-style клиентов, LiteLLM-style роутеров, FastGPT-style приложений или многих chat UI.

Для большинства пользователей это самый безопасный endpoint по умолчанию.

Что такое /v1/responses#

/v1/responses — это новый OpenAI Responses API endpoint.

Он разработан вокруг более общего объекта response и может представлять:

  • текстовый вывод;
  • tool calls;
  • multimodal ввод;
  • reasoning items;
  • structured output;
  • agent-подобные workflows.

Упрощённый запрос выглядит так:

bash
curl https://crazyrouter.com/v1/responses \
  -H "Authorization: Bearer $CRAZYROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.5",
    "input": "Explain the difference between chat completions and responses."
  }'

Используйте /v1/responses когда:

  • инструмент явно говорит, что использует OpenAI Responses API;
  • конфиг упоминает responses вместо chat.completions;
  • тело запроса использует input вместо messages;
  • маршрут модели/провайдера поддерживает поведение Responses API;
  • вам нужны новые OpenAI-style форматы tool или reasoning вывода.

Не отправляйте Chat Completions тело на /v1/responses, если шлюз явно не документирует это преобразование.

Что такое /v1/messages#

/v1/messages — это Anthropic Messages API style endpoint.

Типичный Claude-native запрос выглядит так:

bash
curl https://crazyrouter.com/v1/messages \
  -H "Authorization: Bearer $CRAZYROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-4-6",
    "max_tokens": 1024,
    "system": "You are a helpful assistant.",
    "messages": [
      {"role": "user", "content": "Explain Claude Messages API."}
    ]
  }'

Используйте /v1/messages когда:

  • клиент использует Anthropic-native;
  • SDK ожидает Claude Messages API формат;
  • запрос имеет top-level system вместо system сообщения внутри массива;
  • запрос требует Anthropic-specific content blocks или tool schema;
  • документация явно говорит вызывать /v1/messages.

Не предполагайте, что каждая Claude модель должна вызываться с /v1/messages. Если вы используете OpenAI-совместимый шлюз или SDK, Claude модели могут быть вызваны через /v1/chat/completions.

Почему ошибки endpoint делают модели недоступными#

Когда модель падает, пользователи часто предполагают, что модель не работает. Но во многих случаях модель работает нормально, а формат запроса неправильный.

Примеры распространённых несовпадений:

ОшибкаЧто происходитИсправление
Отправка messages chat тела на /v1/responsesНеверное тело запроса или игнорируемые поляИспользуйте /v1/chat/completions или измените тело на input
Отправка Anthropic system + messages тела на /v1/chat/completionsНесовпадение schemaИспользуйте /v1/messages или конвертируйте в OpenAI формат сообщений
Использование /v1/messages в OpenAI SDKSDK может добавить неправильный путь или распарсить неправильный responseИспользуйте OpenAI-совместимый base URL с chat completions
Отсутствие /v1 в base URL404 или неизвестный маршрутУстановите base URL на https://crazyrouter.com/v1
Добавление /chat/completions к base URL и SDK добавляет его сноваДвойной путь типа /chat/completions/chat/completionsBase URL обычно должен заканчиваться на /v1
Добавление UTM параметров к API endpointОшибки auth/routingUTM принадлежит только ссылкам на сайт

Base URL vs полный endpoint#

Многие инструменты запрашивают Base URL, а не полный endpoint.

Правильный Base URL:

text
https://crazyrouter.com/v1

Затем SDK вызывает:

text
https://crazyrouter.com/v1/chat/completions

Неправильный Base URL для большинства SDKs:

text
https://crazyrouter.com/v1/chat/completions

Почему? Потому что SDK может добавить /chat/completions снова.

Правило:

  • Если поле называется base_url, используйте /v1.
  • Если поле называется endpoint и запрашивает полный URL, используйте полный путь, который требует инструмент.

Какой endpoint выбрать?#

Используйте это дерево решений:

  1. Ваш инструмент говорит "OpenAI-compatible API"?
    Используйте /v1/chat/completions или Base URL https://crazyrouter.com/v1.

  2. Ваш инструмент специально говорит "Responses API"?
    Используйте /v1/responses.

  3. Ваш инструмент использует Anthropic SDK или Claude Messages API?
    Используйте /v1/messages.

  4. Вы не уверены?
    Начните с /v1/chat/completions, потому что большинство сторонних клиентов его поддерживают.

Рекомендуемая конфигурация Crazyrouter#

Для большинства OpenAI-совместимых инструментов:

text
API Key: ваш Crazyrouter API ключ
Base URL: https://crazyrouter.com/v1
Model: выберите модель из списка моделей Crazyrouter

Для пользователей в регионах, где глобальный маршрут нестабилен:

text
Base URL: https://cn.crazyrouter.com/v1

Ссылки для пользователей могут использовать UTM отслеживание:

text
https://crazyrouter.com/models?utm_source=blog&utm_medium=article&utm_campaign=api_endpoints

API endpoints не должны:

text
https://api-endpoint.example.invalid/v1?utm_source=blog

Быстрый чек-лист отладки#

Перед тем как сообщить "модель недоступна", проверьте эти пять вещей:

  1. Написано ли имя модели точно так же, как показано в списке моделей?
  2. Правильно ли семейство endpoint: chat completions, responses или messages?
  3. Соответствует ли тело запроса schema этого endpoint?
  4. Точно ли Base URL /v1, не пропущен ли он и не дублируются ли пути endpoint?
  5. Используете ли вы правильный режим SDK: OpenAI-совместимый или Anthropic-native?

Финальная рекомендация#

Если вы создаёте интеграции общего назначения, начните с /v1/chat/completions. Это самый широкий путь совместимости.

Используйте /v1/responses когда ваш клиент или workflow явно требует Responses API.

Используйте /v1/messages когда вы используете Anthropic-native инструменты.

Большинство проблем с endpoint исчезают, когда вы помните это правило:

text
OpenAI-совместимый клиент → /v1/chat/completions
OpenAI Responses клиент → /v1/responses
Anthropic-native клиент → /v1/messages

Если модель существует, но выглядит недоступной, не только меняйте имя модели. Сначала проверьте endpoint и schema запроса.

Implementation Guides

Topics

Tutorial

Related Posts

Лучшие генераторы музыки с ИИ 2026: сравнение Suno, Udio и Stable AudioTutorial

Лучшие генераторы музыки с ИИ 2026: сравнение Suno, Udio и Stable Audio

Выбор подходящего генератора музыки с ИИ может быть непростым. В этом руководстве сравниваются лучшие инструменты ИИ для музыки, доступные в 2026 году

Jan 23
Как получить доступ к GPT-5 и GPT-5.2 через API — полное руководство для разработчиковTutorial

Как получить доступ к GPT-5 и GPT-5.2 через API — полное руководство для разработчиков

Узнайте, как получить доступ к последним моделям OpenAI — GPT-5, GPT-5.2 и o3-pro — через унифицированный API. Пошаговое руководство с примерами на Python, Node.js и curl.

Jan 23
Что такое Sora - Полное руководство по видео-ИИ OpenAITutorial

Что такое Sora - Полное руководство по видео-ИИ OpenAI

Подробное описание видео-ИИ Sora от OpenAI, включая ключевые функции, способы использования, руководство по подключению через API и сравнение цен.

Jan 26
GPT-image-2 на практике: AI-хиромантия — генерация профессионального анализа ладони по фотоTutorial

GPT-image-2 на практике: AI-хиромантия — генерация профессионального анализа ладони по фото

Генерация профессиональных инфографик по хиромантии с помощью GPT-image-2 через Crazyrouter API. Полный код на Python, curl и Node.js.

May 1
GPT-image-2 на практике: AI-физиогномика и анализ цветотипа — два вирусных кейса в одном гайдеTutorial

GPT-image-2 на практике: AI-физиогномика и анализ цветотипа — два вирусных кейса в одном гайде

Создание AI-инструментов для анализа лица и определения цветотипа с помощью GPT-image-2 через Crazyrouter API. Полный код на Python, curl и Node.js.

May 1
GPT-image-2 на практике: AI-генератор мемов и раскрасок — весёлые проекты, которые приносят деньгиTutorial

GPT-image-2 на практике: AI-генератор мемов и раскрасок — весёлые проекты, которые приносят деньги

Создание AI-генератора мемов и страниц раскрасок для Amazon KDP с помощью GPT-image-2 через Crazyrouter API. Два весёлых и прибыльных проекта с полным кодом.

May 1