Код ошибки
402 и insufficient credits — это баланс. 401 — ключ. 403 и таймауты — доступ или маршрут провайдера.
Ошибки OpenRouterПополнение не проходит, кредиты кончились, прод стоит. Переписывать приложение не нужно: формат chat/completions тот же, меняются base_url, ключ и имя модели.

Коротко: чаще всего ломается не модель, а оплата. OpenRouter ведёт баланс в долларовых кредитах, и карты российских банков их не пополняют: кредиты кончаются, и рабочий код получает 402, хотя в приложении ничего не менялось. Чинить приложение не нужно — достаточно направить его на OpenAI-совместимый адрес kosareva.cloud: меняются base_url, ключ и имя модели. Платите в рублях — картой РФ или СБП от 50 ₽, юрлицам по счёту с закрывающими документами.
Карта РФ или счёт, без зарубежных карт
Работает с любым OpenAI SDK
Claude Code «из коробки»
Договор, счёт, акт и инвойс
Несколько минут отделяют проблему оплаты от проблемы доступа — лечатся они по-разному.
402 и insufficient credits — это баланс. 401 — ключ. 403 и таймауты — доступ или маршрут провайдера.
Ошибки OpenRouterПри нуле запросы падают даже с рабочим ключом. 402 бывает и при ненулевом остатке — из-за резерва под max_tokens.
Разбор 402Если карта или СБП не проходят, повторный платёж ничего не изменит — нужен другой способ оплаты.
Какие есть вариантыОдна модель идёт через разных провайдеров, и часть маршрутов может отвечать ошибкой.
Provider returned errorПроверьте, что прод и стейджинг не используют один и тот же отозванный ключ.
Invalid API keyЕсли оплата не восстанавливается в тот же день, перевести трафик быстрее, чем ждать.
Переезд за 10 минутПроблема не в вашем коде и не в модели, поэтому и чинится она не у вас. Быстрее переключить адрес.

Тот же формат OpenAI: меняются base_url, ключ и имя модели. Модели OpenAI, Anthropic, Google, DeepSeek и другие — по одному ключу с балансом в рублях.
Получить ключПлатёжная форма OpenRouter не проводит карты российских банков. Повторять платёж бессмысленно.
Какой провайдер обслужит запрос, решает OpenRouter. Тот же ключ может отвечать по-разному с разных серверов.
У OpenRouter имена вида provider/model, у нас короткие и без точек: claude-sonnet-5, gpt-5-6. Точное имя — на странице модели.
У нас договор, счёт, акт и инвойс — расход проводится в бухгалтерии как услуга.

Пополнить кредиты криптовалютой или через посредника можно, но деньги идут через третью сторону: при споре поддержка OpenRouter не поможет, а бухгалтерии нечем провести расход.
Имена моделей отличаются от OpenRouter: при переезде меняется значение поля model, остальной запрос остаётся прежним.
Баланс скорости и качества от Anthropic для кода и текстов
Новый флагман Anthropic для агентного кода и рабочих задач
Новейший флагман OpenAI для кода, науки и агентов
Самая сильная модель линейки Flash: код, агенты и многошаговые рассуждения
Новейший флагман xAI для кода, агентов и рабочих задач
Флагман V4, топовый открытый ризонер
Порядок рассчитан на ситуацию, когда прод уже стоит: сначала восстанавливаем трафик, потом наводим порядок.
Зарегистрируйтесь, создайте API-ключ и пополните баланс — от 50 ₽ картой российского банка или через СБП.
Замените base_url на https://api.kosareva.cloud/v1 и ключ в секретах приложения.
Прогоните тестовый запрос со streaming, сверьте имя модели и переводите рабочий трафик.
from openai import OpenAI client = OpenAI( api_key="ВАШ_API_КЛЮЧ", base_url="https://api.kosareva.cloud/v1", ) response = client.chat.completions.create( model="claude-sonnet-5", messages=[{"role": "user", "content": "Привет!"}], stream=True, )
import OpenAI from "openai"; const client = new OpenAI({ apiKey: "ВАШ_API_КЛЮЧ", baseURL: "https://api.kosareva.cloud/v1", }); const response = await client.chat.completions.create({ model: "claude-sonnet-5", messages: [{ role: "user", content: "Привет!" }], stream: true, });
curl https://api.kosareva.cloud/v1/chat/completions \ -H "Authorization: Bearer ВАШ_API_КЛЮЧ" \ -H "Content-Type: application/json" \ -d '{"model":"claude-sonnet-5","messages":[{"role":"user","content":"Привет!"}],"stream":true}'
Нет. Аккаунт, ключи и остаток кредитов остаются у вас. Переезд — это смена адреса шлюза в вашем приложении, на стороне OpenRouter ничего делать не нужно.
Обычно нет. Если клиент поддерживает настройку base_url — OpenAI SDK, LangChain, LlamaIndex, curl — меняются адрес, ключ и имя модели из каталога.
Не всегда. У OpenRouter имена вида provider/model, в каталоге kosareva.cloud используется короткое имя без точек. Точное написание указано на странице каждой модели.
Streaming работает для чатовых моделей. Поддержку инструментов стоит проверить тестовым запросом на выбранной модели до переключения рабочего трафика.
Пополнение российской картой — от 50 ₽, по банковскому счёту — от 1 000 ₽. Абонентской платы нет, списание идёт за фактически обработанные токены.
Создайте ключ, поменяйте base_url и проверьте тестовым запросом — с OpenRouter можно разбираться уже без спешки.