Коротко
Первое, что нужно сделать, - понять, что именно у вас не работает: чат или API. Это разные продукты, они ломаются по разным причинам, и советы из интернета для одного бесполезны для другого.
Чек-лист на первую минуту:
- Чат или API? Дальше идите по своей ветке.
- Что именно на экране - код ошибки, текст, JSON или HTML-страница.
- Выключите VPN и повторите. С API он чаще мешает, чем помогает.
- Проверьте баланс или подписку. Самая частая причина - деньги, а не сбой.
- Повторите через минуту. Часть ошибок временные и проходят сами.
Ниже - что делать в каждой ветке и как расшифровать конкретные сообщения.
Если не работает чат
«Something went wrong» или бесконечная загрузка
Порядок проверки:
- Обновите страницу и очистите кэш. Треть случаев закрывается здесь.
- Откройте в режиме инкогнито - так вы отсечёте расширения браузера. ИИ-расширения и блокировщики регулярно ломают интерфейс.
- Попробуйте другой браузер или телефон. Если там работает, дело в вашем окружении, а не в сервисе.
- Проверьте, не сбоит ли сервис в целом. У вендора есть страница статуса, и в дни крупных релизов она обновляется чаще, чем хотелось бы.
Ответ обрывается на середине
Обычно это не сбой, а лимит длины ответа либо разрыв соединения. Попросите продолжить - если модель продолжает с места обрыва, значит, дело было в длине.
«Слишком много запросов, попробуйте позже»
Вы упёрлись в лимит сообщений. У подписки он есть всегда, и деньгами сверху он не покупается - только переходом на более дорогой тариф.
Если лимит мешает регулярно, это сигнал, что ваш сценарий перерос интерфейс. Дальше два пути: более дорогой тариф или переход на API, где потолка сообщений нет. Что дешевле в вашем случае - считается за пять минут.
Не пускает вообще или отказ при регистрации
Это уже не сбой, а география: сервис не поддерживает регистрацию и оплату для России. VPN иногда открывает страницу, но не решает вопрос с номером телефона и картой - подробный разбор.
Если не работает API
Здесь диагностика точнее, потому что сервис возвращает конкретные коды.
Первый вопрос - JSON или HTML.
- JSON в формате ошибки - запрос дошёл до приложения, и причина в ключе, балансе, модели или параметрах. Читайте
typeи сообщение. - HTML-страница - до приложения вы не дошли, вас остановил защитный фильтр по дороге. Коды из документации тут ни при чём, что с этим делать.
401 - ключ не принят
По убыванию частоты: лишний пробел или перенос строки при копировании ключа; ключ пересоздан, а в конфиге остался старый; переменная окружения не долетела до процесса. Проверьте длину ключа и то, что читаете его в той же оболочке, где запускаете код.
429 - два совершенно разных случая
🔴 Самая важная развилка в этой статье. Под одним кодом живут две несвязанные причины:
- Лимит скорости. Слишком много запросов или токенов в минуту. Лечится паузой и повтором с нарастающей задержкой.
- Кончились деньги. У OpenAI исчерпанная квота возвращается тем же кодом
429с типомinsufficient_quota. Никакие ретраи не помогут - нужно пополнить баланс.
Читайте текст ошибки, а не только номер. Люди неделями настраивают экспоненциальные задержки против ошибки, которая означает «положите денег».
400 - запрос не прошёл проверку
Обычно одно из трёх: контекст длиннее окна модели (у GPT-5.x это 400 000 токенов, и в них должны поместиться промпт, история и max_tokens); неверная структура сообщений; недопустимое значение параметра.
404 - модель не найдена
Почти всегда опечатка в идентификаторе или модель, недоступная вашему аккаунту. Не гадайте - запросите список:
curl -s https://api.altrouter.ai/v1/models | jq '.data[].id'
500 и 503 - сбой на стороне сервиса
Не ваша вина. Повторяйте с нарастающей задержкой. Если ошибка стабильно воспроизводится на одном и том же запросе - дело всё-таки в запросе.
Ответ пришёл, но обрезан
Кода ошибки нет, HTTP 200, текст оборван на полуслове. Это исчерпанный max_tokens, а не сбой: проверяйте причину остановки в ответе, а не сам факт ответа.
У нас запрос без явного max_tokens ограничивается 4096 токенами - защита от сценария, где забытый параметр съедает баланс за ночь.
Минимальный обработчик
Каркас, который закрывает большинство случаев:
import time, random
from openai import OpenAI
client = OpenAI(api_key="sk-...", base_url="https://api.altrouter.ai/v1")
def ask(messages, model="gpt-5.6", tries=5):
for i in range(tries):
try:
r = client.chat.completions.create(
model=model, messages=messages, max_tokens=2000,
)
if r.choices[0].finish_reason == "length":
print("ответ обрезан: поднимите max_tokens")
return r.choices[0].message.content
except Exception as e:
msg = str(e).lower()
if "quota" in msg or "insufficient" in msg:
raise RuntimeError("кончились деньги - ретраи не помогут")
if getattr(e, "status_code", None) in (429, 500, 503) and i < tries - 1:
time.sleep(2 ** i + random.random())
continue
raise
Главное здесь - не список кодов, а два решения: отделить «кончились деньги» от «слишком быстро» и проверять причину остановки, а не факт ответа.
Когда виноват не сервис
Три случая, которые выглядят как поломка ChatGPT, но ею не являются.
Упал апстрим, а не посредник. Если вы ходите через шлюз, ошибка вендора прилетит вам через него и будет выглядеть как «шлюз не работает». Код и сообщение обычно называют источник.
Ретраи создали проблему. Клиентские библиотеки повторяют неудавшиеся запросы. На нестабильном соединении таймаут приходит на запрос, который на самом деле дошёл, - модель отвечает дважды, и платите вы тоже дважды.
VPN добавил ошибок. Выходные узлы попадают под защитные фильтры. Прямой запрос из России часто проходит там, где запрос через VPN отсекается.
FAQ
Почему ChatGPT не работает именно у меня?
Чаще всего дело в окружении, а не в сервисе: расширения браузера, кэш, VPN. Проверьте в режиме инкогнито и с другого устройства - если там работает, ищите причину у себя. Если не работает нигде, посмотрите страницу статуса сервиса.
Что означает ошибка 429 в API OpenAI?
Две разные вещи. Либо вы превысили лимит скорости - тогда помогает пауза и повтор с нарастающей задержкой. Либо кончились деньги: исчерпанная квота возвращается тем же кодом с типом insufficient_quota, и никакие ретраи её не вылечат. Различаются они по тексту ошибки.
Почему ответ ChatGPT обрывается на середине?
Обычно это исчерпанный лимит длины ответа, а не сбой. В API проверяйте причину остановки в ответе: если сработал лимит, поднимите max_tokens. В интерфейсе достаточно попросить продолжить - модель продолжит с места обрыва.
Поможет ли VPN, если ChatGPT не работает?
С веб-интерфейсом иногда, с API - почти никогда, и часто делает хуже. Выходные узлы популярных VPN попадают под защитные фильтры, поэтому вместо JSON-ответа приходит HTML-страница с отказом. Начинайте диагностику с выключения VPN, а не с включения.
Как понять, что проблема в ключе, а не в сервисе?
Посмотрите на тело ответа. JSON в формате ошибки означает, что запрос дошёл до приложения - причина в ключе, балансе, модели или параметрах. HTML-страница означает, что вас остановили по дороге, и коды ошибок из документации к этому случаю неприменимы.
Что делать, если сервис лежит целиком?
Повторять с нарастающей задержкой и, если задача терпит, переключаться на другую модель. В продукте это решается заранее: цепочка из нескольких моделей позволяет не показывать пользователю ошибку, когда у одного вендора инцидент.