Skip to main content
Запрос вернул ошибку вместо ответа модели? Найдите ваш код ниже — почти всё чинится в пару шагов. Точный текст ошибки и номер запроса всегда видны в Консоль → Логи.

Шпаргалка

401 Unauthorized — Invalid API key

Причина. Сервер не принял ваш ключ. Чаще всего одна из трёх причин:
  • Подставлен не тот ключ: должен быть токен RuAPI (sk-...), а не официальный ключ OpenAI (sk-...) или Anthropic (sk-ant-...). Внешне ключи OpenAI и RuAPI похожи, но рабочий — только из вашей Консоли RuAPI.
  • В ключ затесались лишние пробелы или перенос строки при копировании — частая беда при копи-пасте.
  • Ключ отключён или удалён.
Решение.
  1. Откройте Консоль → Токены и убедитесь, что ключ активен. При необходимости скопируйте его заново.
  2. Вставьте ключ без пробелов в начале и конце, без переноса строки.
  3. Проверьте, что заголовок именно Authorization: Bearer sk-... (OpenAI-протокол) или x-api-key: sk-... (Anthropic-протокол).

402 — Insufficient balance

Причина. На счёте закончились деньги. Запросы не выполняются, пока баланс не станет положительным. Решение.
  • Пополните баланс в USDT / USDC или банковской картой — минимум 5 $. Криптовалюта зачисляется обычно за 1–5 минут, оплата картой — за секунды.
  • Учтите: агентные инструменты (Claude Code, Cline, автономные агенты) и длинный контекст сжигают токены очень быстро — десятки запросов за минуту — это норма.
  • Чтобы случайно не уйти в ноль на одном проекте, задайте лимит расхода на токен в Консоль → Токены — ключ перестанет работать при достижении суммы, а остальные продолжат.

404 — model not found

Две совершенно разные причины дают один и тот же 404. Проверьте обе. Причина 1 — опечатка в имени модели. Имя в поле model должно точно совпадать с ID со страницы цен (вплоть до дефисов и регистра). Алиасы и «примерные» названия не сработают. Причина 2 — неверный base_url. Это самая частая скрытая причина 404, и зависит она от протокола:
Для Anthropic-протокола не добавляйте /v1 в конце адреса. SDK сам подставляет /v1/messages, и лишний /v1 даёт /v1/v1/messages404. И наоборот: для OpenAI-протокола /v1 обязателен.
Решение. Сверьте имя модели со страницей цен, затем проверьте base_url по таблице выше. Подробный разбор адресов — в справочнике API.

429 — Too Many Requests / rate limit

Причина. Слишком много запросов за короткий промежуток — либо ваш код шлёт их пачкой, либо апстрим-провайдер временно ограничивает поток. Решение.
  • Сбавьте темп и повторяйте с экспоненциальной задержкой (backoff): 1 с, 2 с, 4 с, 8 с…
  • Распределите нагрузку во времени, не отправляйте сотни запросов одновременно.
  • Для пакетной обработки добавьте небольшую паузу между запросами или ограничьте число параллельных потоков.

5xx — 500 / 502 / 503 / upstream error

Причина. Временный сбой на стороне апстрим-провайдера или шлюза. Это не проблема вашего ключа или кода. Решение.
  • Повторите запрос через несколько секунд — чаще всего со второй-третьей попытки проходит.
  • Заверните вызовы в retry с backoff, чтобы такие всплески не роняли ваш скрипт.
  • Если ошибка держится долго и повторяется на разных моделях — напишите на [email protected], приложите номер запроса из Консоль → Логи.

Обрывы стриминга и таймауты

Длинные ответы (большой контекст, рассуждающие модели, генерация кода) могут идти десятки секунд. Если соединение рвётся на середине стрима или клиент отваливается по таймауту — увеличьте timeout в SDK (для тяжёлых запросов ставьте 60–120 с и выше), убедитесь, что между вами и RuAPI нет прокси, обрывающего долгие SSE-соединения, и не отключайте стриминг для длинных ответов — именно он не даёт запросу упасть по таймауту.

Всё ещё не работает?

Откройте Консоль → Логи и найдите свой запрос — там виден точный код ошибки, модель и тело ответа. С этими данными пишите на [email protected], и мы быстро разберёмся.