Nika Gateway

Claude (Anthropic)

Два способа работы с Claude — OpenAI-совместимый endpoint и нативный POST /v1/messages

Claude (Anthropic)

Модели Anthropic доступны двумя способами: через общий OpenAI-совместимый endpoint и через нативный Anthropic Messages API. Оба тарифицируются одинаково — по фактическому usage, включая кэш-токены.

Способ 1: OpenAI-совместимый

Используйте /v1/chat/completions со slug'ом anthropic/... — шлюз сам конвертирует запрос в Messages API и обратно (включая tool calls и стриминг):

curl https://api.nikagateway.ru/v1/chat/completions \
  -H "Authorization: Bearer sk-tunnel-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic/claude-sonnet-4.5",
    "messages": [{"role": "user", "content": "Привет!"}]
  }'

Подходит, если у вас уже есть код на OpenAI SDK и вы хотите просто сменить модель.

Способ 2: нативный Messages API

POST /v1/messages проксирует тело к Anthropic без конвертации — подменяются только slug модели и ключ провайдера. Ответ (включая SSE-стрим) отдаётся как есть. Это способ для клиентов, говорящих на родном протоколе Anthropic, — например, Claude Code.

curl https://api.nikagateway.ru/v1/messages \
  -H "Authorization: Bearer sk-tunnel-..." \
  -H "Content-Type: application/json" \
  -H "anthropic-version: 2023-06-01" \
  -d '{
    "model": "anthropic/claude-sonnet-4.5",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "Привет!"}]
  }'

Claude Code

Укажите шлюз как base URL и ваш ключ Nika Gateway как токен:

export ANTHROPIC_BASE_URL="https://api.nikagateway.ru"
export ANTHROPIC_AUTH_TOKEN="sk-tunnel-..."

Все запросы Claude Code пойдут через Nika Gateway и будут тарифицироваться с вашего баланса.

Кэш-токены

Anthropic поддерживает prompt caching: повторное использование контекста стоит дешевле. Шлюз учитывает это транзитом:

  • cache_creation_input_tokens (запись в кэш) — по ставке cache_write;
  • cache_read_input_tokens (чтение из кэша) — по ставке cache_read (значительно дешевле обычного входа).

Скидка автоматически отражается в usage.cost_rub ответа. Для длинных системных промптов и агентных сценариев (тот же Claude Code) это даёт существенную экономию.