Anthropic Messages

POST/api/v1/messages — эндпоинт в формате Anthropic Messages API для кода под SDK Anthropic и для Claude Code. Подходит любая текстовая модель каталога, не только модели Anthropic.

Запрос

Поддерживаются system, блоки содержимого (текст, изображения, tool_use, tool_result), tools, tool_choice и стриминг. Поле max_tokens обязательно: без него запрос получит 422 с кодом invalid_max_tokens.

curl https://infergate.ru/api/v1/messages \
  -H "Authorization: Bearer $INFERGATE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic/claude-sonnet-4.6",
    "max_tokens": 500,
    "messages": [{"role": "user", "content": "Привет!"}]
  }'

SDK Anthropic

Ключ передаётся в заголовке Authorization: Bearer, поэтому в SDK его задают как auth_token, а не api_key. Базовый адрес — https://infergate.ru/api: SDK сам добавит /v1/messages.

import os
from anthropic import Anthropic

client = Anthropic(
    base_url="https://infergate.ru/api",
    auth_token=os.environ["INFERGATE_API_KEY"],
)
msg = client.messages.create(
    model="anthropic/claude-sonnet-4.6",
    max_tokens=500,
    messages=[{"role": "user", "content": "Привет!"}],
)
print(msg.content[0].text)

Ограничения

  • Серверные инструменты Anthropic (web_search, web_fetch) не поддерживаются — запрос с ними получает 422 с кодом server_tools.
  • Полей стоимости (cost_rub и других) в ответах этого формата нет — сумму показывает журнал запросов в личном кабинете.