Как вызывать 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.
curl -i https://api.relayswitch.io/v1/messages \ -H "Authorization: Bearer sk-relay-..." \ -H "anthropic-version: 2023-06-01" \ -H "content-type: application/json" \ -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.
import anthropic client = anthropic.Anthropic(base_url="https://api.relayswitch.io/v1", api_key="sk-relay-...")reply = client.messages.create( model="claude-fable-5.1", max_tokens=300, messages=[{"role": "user", "content": "Reply with ok"}],)print(reply.content[0].text)print(reply.usage)04OpenAI SDK: старый код переписывать не нужно
Если ваше приложение уже написано под формат OpenAI или тот же код вызывает модели других разработчиков, используйте /chat/completions и подставьте в model ID модели Claude. Оба формата работают с одним ключом, одним балансом и одной ценой.
Примеры для других SDK и фреймворков есть в документации и в руководствах по инструментам, обе страницы на английском. Про Claude Code читайте на странице Claude Code.
from openai import OpenAI client = OpenAI(base_url="https://api.relayswitch.io/v1", api_key="sk-relay-...")reply = client.chat.completions.create( model="claude-fable-5.1", messages=[{"role": "user", "content": "Reply with ok"}],)print(reply.choices[0].message.content)05Актуальные цены на модели Claude
В USD за миллион токенов, читаются из каталога в момент рендера страницы. Токены, попавшие в кеш промптов, например длинный системный промпт, повторно отправляемые документы и история многошагового диалога, оплачиваются по цене кешированного входа, которая ниже цены входа. Квитанция каждого запроса разделяет токены входа, кешированного входа и выхода, так что их можно сверить по одному.
| Модель | Разработчик | Вход | Выход | Контекст |
|---|---|---|---|---|
| Claude Fable 5.1claude-fable-5.1 | Anthropic | $6.00 | $30.00 | 1,000,000 |
| Claude Fable 5.2claude-fable-5.2 | Anthropic | $4.00 | $20.00 | 1,000,000 |
| Claude Fable 5claude-fable-5 | Anthropic | $3.00 | $15.00 | 1,000,000 |
| Claude Opus 5.5claude-opus-5-5 | Anthropic | $2.716 | $9.70 | 1,000,000 |
| Claude Sonnet 4.6claude-sonnet-4-6 | Anthropic | $1.80 | $9.00 | 1,000,000 |
| Claude Opus 4.6claude-opus-4-6 | Anthropic | $1.80 | $7.50 | 1,000,000 |
| Claude Opus 4.7claude-opus-4-7 | Anthropic | $1.80 | $7.50 | 1,000,000 |
| Claude Opus 4.8claude-opus-4-8 | Anthropic | $1.80 | $7.50 | 1,000,000 |
| Claude Opus 5claude-opus-5 | Anthropic | $1.80 | $7.50 | 1,000,000 |
| Claude Haiku 4.5claude-haiku-4-5 | Anthropic | $0.60 | $3.00 | 200,000 |
| Claude Sonnet 5claude-sonnet-5 | Anthropic | $1.20 | $3.00 | 1,000,000 |
| Claude Sonnet 5.5claude-sonnet-5-5 | Anthropic | $1.20 | $3.00 | 1,000,000 |
| Claude Haiku 5.5claude-haiku-5-5 | Anthropic | $0.0582 | $0.1455 | 1,000,000 |
USD за миллион токенов
06Самые частые коды ошибок
Статусы с 401 по 404 возвращаются до того, как запрос дошел до модели, а 429, 502 и 503 не несут ответа; ни один из них не оплачивается. Тело ошибки повторяет структуру ошибок того формата, который вы используете.
401 invalid_api_key | Ключ не передан, неверен или уже отозван. |
402 insufficient_balance | Баланса не хватает. У исчерпанного бюджета или лимита расходов на ключе свой отдельный код ошибки. |
403 scope_denied | ID модели нет в белом списке этого ключа. |
404 model_not_found | ID модели нет в каталоге; обычно это опечатка. |
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 оплачиваются за токены по ценам каталога, а ежедневная проверка открыта для всех.