Прочитайте тело ответа
Код и текст говорят, что делать: 402 — деньги, 403 — модерация или регион, 408 и 502 — сбой у поставщика. Ключ менять нужно только при 401.
Один ключ на сотни моделей — удобно, пока дело не доходит до оплаты. Разбираем, что работает из России, что нет, и куда смотреть, если карта не проходит.
OpenRouter — агрегатор нейросетей: один ключ и один OpenAI-совместимый адрес, за которым стоят модели OpenAI, Anthropic, Google, DeepSeek и десятков других поставщиков. Запросы из России он принимает, регистрация проходит, ключ выдаётся. Ломается всё на пополнении: баланс пополняется картой или криптовалютой, и карты российских банков не проходят.
Отсюда три обходных пути: зарубежная виртуальная карта, криптовалюта или посредник, который зачисляет кредиты за рубли. Все три означают, что деньги идут через третью сторону, а закрывающих документов по российским правилам для бухгалтерии не будет.
Ошибки у OpenRouter свои. 402 — не хватает кредитов на этот запрос, причём с учётом резерва под max_tokens. 403 — ввод не прошёл модерацию у поставщика или модель закрыта для региона. 408 — таймаут поставщика, 502 Provider returned error — сбой на его стороне. Если главной проблемой стала оплата, а не ошибки, вариант — сервис с тем же OpenAI-совместимым API и оплатой в рублях: в коде меняется одна строка с base_url.
| Текст ошибки | Причина | Что делать |
|---|---|---|
| 402 Insufficient credits | Кредитов не хватает на запрос с учётом резерва под max_tokens | Пополнить или уменьшить max_tokens; запрос не выполнен и не списан |
| 403 Forbidden | Модерация ввода у поставщика или модель закрыта для региона | Смягчить запрос, выбрать другую модель или другого поставщика |
| 408 Request timeout | Поставщик не ответил в отведённое время | Включить стриминг, повторить, увеличить timeout в клиенте |
| 502 Provider returned error | Сбой у поставщика модели | Повторить через несколько секунд, разрешить allow_fallbacks, сменить модель |
| 401 No auth credentials found | Ключ не передан или передан не в том заголовке | Проверить Authorization: Bearer и что ключ не пустой |
Тело ошибки в формате OpenAI: объект error с полями code и message, у 502 внутри ещё и сырой ответ поставщика.
Код и текст говорят, что делать: 402 — деньги, 403 — модерация или регион, 408 и 502 — сбой у поставщика. Ключ менять нужно только при 401.
Резерв считается от заявленного максимума. Если ответы обычно короткие, не ставьте 32 000 «на всякий случай».
response = client.chat.completions.create(
model="anthropic/claude-sonnet-5",
max_tokens=1000,
messages=[{"role": "user", "content": "ping"}],
)Зарубежная карта, криптовалюта или посредник за рубли. Кладите столько, сколько готовы потерять при споре: поддержка OpenRouter посредникам не помогает.
У одной модели бывает несколько поставщиков. Поле provider задаёт, кого пробовать первым и разрешено ли переключаться на остальных.
response = client.chat.completions.create(
model="deepseek/deepseek-chat",
messages=[{"role": "user", "content": "ping"}],
extra_body={"provider": {"allow_fallbacks": True}},
)Любой OpenAI-совместимый сервис подключается той же строкой base_url. Имена моделей у каждого свои, проверьте по каталогу.
client = OpenAI(
api_key="ваш ключ",
base_url="https://api.kosareva.cloud/v1",
)На момент написания нет. Работают зарубежные карты, криптовалюта и посредники, которые зачисляют кредиты за рубли.
Договора, счёта и акта по российским правилам у него нет. При оплате через посредника документы, если они есть, выдаёт посредник.
Да, формат совместим, нужно сменить base_url. Верно и обратное: ключ любого совместимого сервиса подставляется тем же способом.
У нас тот же принцип «один ключ, много моделей», но с оплатой в рублях: карта РФ или СБП от 50 ₽, юрлицам счёт и акт. Адрес https://api.kosareva.cloud/v1, формат OpenAI и Anthropic, запросы идут без VPN. Моделей у нас меньше, чем у OpenRouter, и выбора поставщика в запросе нет: если вам нужна редкая модель, сначала посмотрите каталог.
OpenAI-совместимый адрес, оплата в рублях, ключ сразу после регистрации. Пополнение картой от 50 ₽.