Проверено 2026-11-12

Как вызывать Claude API из своего кода

Поменяйте в коде две вещи: Base URL на https://api.relayswitch.io/v1 и API-ключ на ключ RelaySwitch. Anthropic SDK и OpenAI SDK работают без других изменений, а цены на модели Claude (сейчас их 13) читаются прямо из каталога.

01Что меняется по сравнению с прямым вызовом Anthropic

Работать с Claude API напрямую значит открыть аккаунт в Anthropic Console, пополнить там кредиты и вызывать API с ключом оттуда. Здесь эта часть заменена: вы пополняете баланс в RelaySwitch, используете ключ RelaySwitch, а запрос уходит на шлюз, который передает его модели. Для вашего кода отличаются только Base URL и ключ; тело запроса, ID моделей, стриминг и tool calling остаются прежними.

Оплата считается за токены по трем ценам: вход, кешированный вход и выход. Цена в таблице и есть цена, которая списывается с баланса.

Каждый ответ несет в заголовках ID запроса. По этому ID можно получить подписанную квитанцию, в которой записаны ID модели, оплаченные токены и стоимость.

02Первый запрос через curl

Прежде чем переносить ключ и адрес в SDK, убедитесь через curl, что они верны.

Ключ можно передать в заголовке x-api-key или Authorization: Bearer, но в одном запросе должен быть только один ключ. Для стриминга укажите stream со значением true; ответ придет в виде server-sent events.

bash
1curl -i https://api.relayswitch.io/v1/messages \
2 -H "Authorization: Bearer sk-relay-..." \
3 -H "anthropic-version: 2023-06-01" \
4 -H "content-type: application/json" \
5 -d '{"model": "claude-fable-5.1", "max_tokens": 16, "messages": [{"role": "user", "content": "Reply with ok"}]}'

03Anthropic SDK для Python

Для нового кода и для кода, который использует особенности Claude, такие как поле system, встроенная структура tool use и метки кеша промптов, лучше всего подходит Anthropic SDK через /messages. Достаточно задать base_url и api_key.

Anthropic SDK сам добавляет /v1/messages к Base URL. Шлюз принимает повторяющийся /v1, поэтому во всех примерах используется https://api.relayswitch.io/v1.

python
1import anthropic
2
3client = anthropic.Anthropic(base_url="https://api.relayswitch.io/v1", api_key="sk-relay-...")
4reply = client.messages.create(
5 model="claude-fable-5.1",
6 max_tokens=300,
7 messages=[{"role": "user", "content": "Reply with ok"}],
8)
9print(reply.content[0].text)
10print(reply.usage)

04OpenAI SDK: старый код переписывать не нужно

Если ваше приложение уже написано под формат OpenAI или тот же код вызывает модели других разработчиков, используйте /chat/completions и подставьте в model ID модели Claude. Оба формата работают с одним ключом, одним балансом и одной ценой.

Примеры для других SDK и фреймворков есть в документации и в руководствах по инструментам, обе страницы на английском. Про Claude Code читайте на странице Claude Code.

python
1from openai import OpenAI
2
3client = OpenAI(base_url="https://api.relayswitch.io/v1", api_key="sk-relay-...")
4reply = client.chat.completions.create(
5 model="claude-fable-5.1",
6 messages=[{"role": "user", "content": "Reply with ok"}],
7)
8print(reply.choices[0].message.content)

05Актуальные цены на модели Claude

В USD за миллион токенов, читаются из каталога в момент рендера страницы. Токены, попавшие в кеш промптов, например длинный системный промпт, повторно отправляемые документы и история многошагового диалога, оплачиваются по цене кешированного входа, которая ниже цены входа. Квитанция каждого запроса разделяет токены входа, кешированного входа и выхода, так что их можно сверить по одному.

МодельРазработчикВходВыходКонтекст
Claude Fable 5.1claude-fable-5.1Anthropic$6.00$30.001,000,000
Claude Fable 5.2claude-fable-5.2Anthropic$4.00$20.001,000,000
Claude Fable 5claude-fable-5Anthropic$3.00$15.001,000,000
Claude Opus 5.5claude-opus-5-5Anthropic$2.716$9.701,000,000
Claude Sonnet 4.6claude-sonnet-4-6Anthropic$1.80$9.001,000,000
Claude Opus 4.6claude-opus-4-6Anthropic$1.80$7.501,000,000
Claude Opus 4.7claude-opus-4-7Anthropic$1.80$7.501,000,000
Claude Opus 4.8claude-opus-4-8Anthropic$1.80$7.501,000,000
Claude Opus 5claude-opus-5Anthropic$1.80$7.501,000,000
Claude Haiku 4.5claude-haiku-4-5Anthropic$0.60$3.00200,000
Claude Sonnet 5claude-sonnet-5Anthropic$1.20$3.001,000,000
Claude Sonnet 5.5claude-sonnet-5-5Anthropic$1.20$3.001,000,000
Claude Haiku 5.5claude-haiku-5-5Anthropic$0.0582$0.14551,000,000

USD за миллион токенов

06Самые частые коды ошибок

Статусы с 401 по 404 возвращаются до того, как запрос дошел до модели, а 429, 502 и 503 не несут ответа; ни один из них не оплачивается. Тело ошибки повторяет структуру ошибок того формата, который вы используете.

401 invalid_api_keyКлюч не передан, неверен или уже отозван.
402 insufficient_balanceБаланса не хватает. У исчерпанного бюджета или лимита расходов на ключе свой отдельный код ошибки.
403 scope_deniedID модели нет в белом списке этого ключа.
404 model_not_foundID модели нет в каталоге; обычно это опечатка.
429 rate_limitedДостигнут лимит частоты запросов ключа; заголовок retry-after сообщает, сколько секунд подождать.
502 / 503Проблема на маршруте к модели, или временно ни один маршрут не отвечает.

07Перед выходом в production

Создайте отдельный ключ для production и настройте его под свои задачи: бюджет, дневной лимит расходов, белый список моделей и белый список IP. По умолчанию каждый ключ ограничен 200 запросами в минуту, и это число можно изменить на самом ключе. Для неудачных запросов читайте заголовок retry-after перед повтором и сохраняйте ID запроса из сообщения об ошибке в своих логах: он пригодится при разборе проблем.

Один ID модели обслуживают несколько маршрутов. Если один маршрут отвечает 5xx или 429, запрос автоматически переходит на следующий маршрут по той же цене; модель с единственным маршрутом отвечает 503.

Частые вопросы

Формат Anthropic или формат OpenAI?
Подходят оба, с одним ключом и одним Base URL (https://api.relayswitch.io/v1). Anthropic SDK использует /messages, OpenAI SDK использует /chat/completions, а ID моделей Claude пишутся в обоих случаях одинаково.
Нужен ли /v1 в Base URL?
Да. Укажите https://api.relayswitch.io/v1, а SDK сам добавит /messages или /chat/completions.
Поддерживается ли стриминг?
Да. Укажите в запросе stream: true, и ответ придет в виде server-sent events. Стриминг поддерживают все модели.
Как убедиться, что вызывается именно Claude, а не другая модель?
Есть два способа, которые не требуют верить этой странице на слово. Каждая модель раз в сутки получает один и тот же тестовый промпт, и ответ сравнивается с предыдущими результатами; результаты открыты по адресу https://api.relayswitch.io/v1/proof. У каждого запроса также есть подписанная квитанция (GET https://api.relayswitch.io/v1/requests/:id/receipt) с ID модели, оплаченными токенами и стоимостью, которую можно проверить офлайн с помощью публичного ключа.
Оплачиваются ли неудачные запросы?
Запросы, которые завершились ошибкой до модели или на которые модель не ответила, не оплачиваются. Это статусы с 401 по 404, а также 429, 502 и 503.
Как пополнить баланс и нужен ли KYC?
Картой или через USDT, USDC, BTC, ETH, SOL, от $10. Баланс ведется в долларах США, не сгорает, подписки нет. Аккаунт открывается по одному email, без проверки личности.

Замените одну строку base_url

Base URL https://api.relayswitch.io/v1, модели Claude оплачиваются за токены по ценам каталога, а ежедневная проверка открыта для всех.