Когда пишешь код и подключаешь API ChatGPT, Claude, Gemini, сильнее всего бесит не бизнес-логика, а то, что с самого начала тебе прилетает 401/403/429. Не спеши паниковать: такие «ошибки API-ключа» чаще всего означают не то, что ключ действительно сломан, а то, что тебя подводят детали конфигурации.
1 401 invalid_api_key — сначала заподозри способ копирования
Самые частые фейлы, которые я видел: лишний пробел при копировании ключа, отсутствующий префикс, или ключ от тестовой среды, случайно отправленный в прод. Совет: сделай «минимальное воспроизведение» — один запрос, максимально просто (KISS), не ищи иголку в куче бизнес-кода.
2 403 — недостаточно прав, чаще всего не включён проект или модель
Claude и Gemini иногда привязывают права к проекту, региону или белому списку моделей. Проверь, открыт ли выбранный модельный эндпоинт для текущего ключа, и нет ли в консоли подсказок вроде «нужно включить API/подключить биллинг».
3 429 rate limit — дело не в плохом коде, а в квоте или параллельности
У 429 обычно два сценария: слишком частые запросы или закончилась квота. Сделай ретраи с экспоненциальной задержкой и заодно добавь лимит на параллельные запросы — сразу станет намного лучше.
4 Переменные окружения не применились: локально работает, на проде всё падает
В Node/Python чаще всего это значит, что ENV не инжектится, контейнер не перезапускали, или в CI опечатались в имени переменной. Можно идти по типичному плану отладки: сначала убедись, что «ключ действительно считывается», а уже потом разбирай сеть и код.
5 Сеть и региональные ограничения: 403 как будто упирается в стену
Корпоративный прокси, исходящий IP облачного сервера, региональные политики — всё это может сделать запрос «как будто без прав». Порядок проверки, которым я обычно пользуюсь:
- на той же машине проверить, проходит ли прямой запрос через curl
- сменить сеть или выходной узел и попробовать снова
- проверить, не переписывает ли WAF/прокси заголовки (Header)
Небольшие отличия Midjourney
Midjourney в основном живёт в экосистеме Discord, это не классическая схема с API Key; обычно проблемы — это авторизация Discord, права канала или недоступность бота. Подход тот же: воспроизведи минимальными шагами, сначала проверь права, потом сеть.
Если ты мучаешься с подпиской, сетевыми узлами, регионом аккаунта и прочими более «мистическими» вещами, сходи на Titikey — многие ловушки можно обойти более безболезненным решением.