Перейти к содержимому

POST /v1/messages

Anthropic-совместимый Messages API с алиасами, потоковым режимом, инструментами, анализом изображений, кэшированием и рассуждениями.

Аутентификация

x-api-key: mg_live_...
anthropic-version: 2023-06-01
content-type: application/json

Также принимается аутентификация Bearer.

Запрос

curl https://api.model-gate.com/v1/messages \
  -H "x-api-key: mg_live_..." \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-sonnet-4.6",
    "max_tokens": 1024,
    "messages": [
      {"role": "user", "content": "Write a short release note."}
    ]
  }'

Ответ

{
  "id": "msg_example",
  "type": "message",
  "role": "assistant",
  "model": "claude-sonnet-4.6",
  "content": [{"type": "text", "text": "This release improves documentation and model routing."}],
  "stop_reason": "end_turn",
  "usage": {
    "input_tokens": 11,
    "output_tokens": 9,
    "cache_creation_input_tokens": 0,
    "cache_read_input_tokens": 0
  }
}

Потоковый режим

Добавьте "stream": true. Model Gate передаёт Anthropic-совместимые SSE-события и записывает итоговое использование токенов для тарификации.

Алиасы и учёт

Переданный алиас заменяется канонической моделью до постановки запроса в очередь или отправки поставщику. Тарифы, стоимость для лимитов, история запросов и ограничения моделей используют каноническую модель.

СтатусЗначениеДействие
400Неверный запросПроверьте тело запроса и идентификатор модели.
401Недействительный или замороженный ключПроверьте или перевыпустите API-ключ.
429Превышен лимит частоты или одновременных запросовУчитывайте Retry-After и делайте паузу перед повтором.
5xxВременная ошибка поставщика или шлюзаПовторяйте идемпотентные запросы с экспоненциальным увеличением паузы.

Session ID

Передавайте стабильный JSON session_id или заголовок X-Session-ID в каждом обращении этого диалога. Приоритет: session_id → X-Session-ID → распознанная сессия в metadata.user_id → prompt_cache_key → начальное содержимое диалога. Уровень идентификации не зависит от типа поставщика. Один и тот же ID не гарантирует попадание в кеш и не отключает допустимое резервное переключение. Автоматическое поведение, область действия, ограничения и отличия от идемпотентности и хранения контекста описаны в разделе идентификатор диалога и привязка маршрута.

Выбранный идентификатор сохраняется для потока и асинхронной отправки, когда эндпоинт её поддерживает. После тайм-аута не отправляйте новый платный POST только для проверки сессии: сначала проверьте существующий запрос.

Уже заданная распознанная сессия в метаданных используется без ошибки несовпадения; обычный metadata.user_id сохраняется и не считается диалогом. Более приоритетные явные поля побеждают. Форматы и ограничения передачи поставщику приведены в указанном справочнике идентификации.

Распознанная metadata-сессия имеет приоритет перед подсказкой кеширования. Автоматическая идентичность не учитывает известные маркеры cache_control и эквивалентные одиночные текстовые обёртки, не меняя запрос к модели. Отдельно настроенный совместимый транспорт сессионного заголовка не занимает обычный metadata.user_id; эту возможность настраивает оператор, а не клиент.