Ошибки GLM API: почему не работает запрос и как это исправить
Неверный id модели, переполненный контекст 128K, ключ, баланс, лимиты: типичные причины ошибок GLM API и быстрый способ найти свою.
5 мин · · ошибки · API-ключи
Запрос к GLM вернул ошибку или просто «не работает»: что делать? Чаще всего причина одна из пяти: опечатка в id модели, неверный адрес, ключ, баланс или переполненный контекст. Ниже разбор по кодам ответа, отдельно про лимит контекста 128K, который у GLM меньше, чем у большинства моделей каталога, и короткий скрипт, который находит причину за минуту. Все примеры — для glm-5.3 и glm-5.3-flash через шлюз.
Сначала посмотрите код ответа
Не читайте текст ошибки как единственный источник: формулировки могут меняться, а код остаётся. Для GLM через шлюз действуют такие коды:
| Код | Что значит | Что делать |
|---|---|---|
| 401 | Неверный или удалённый ключ | Проверить ключ fetch_..., заголовок Authorization: Bearer |
| 402 | Не хватает баланса | Пополнить баланс |
403 model_not_allowed_for_key | Модель не входит в список разрешённых для ключа | Добавить модель в настройках ключа |
404 model_not_found | Неизвестное имя модели | Сверить id со списком GET /v1/models |
| 413 | Слишком большой запрос | Сократить вход |
| 429 | Исчерпан дневной или месячный лимит ключа (key_daily_limit_reached, key_monthly_limit_reached) либо ограничение у провайдера | Поднять лимит или подождать |
| 503 | Провайдер недоступен или модель выключена (model_disabled) | Повторить позже или выбрать другую модель |
Ниже разбор самых частых случаев по порядку.
Неверный id модели (404)
Самая частая причина. Правильные id в каталоге на 18 октября 2026: glm-5.3 и glm-5.3-flash. Типичные опечатки:
GLM-5.3илиglm-5.3-Flashс заглавными буквами;glm5.3,glm-5-3,glm_5.3с пропущенной или заменённой точкой и дефисом;- название из чужой документации или из старого примера: версии моделей меняются, и старые id могут быть сняты.
Лечится одним запросом: получите актуальный список и подставьте id оттуда.
curl -s https://api.zukko.pro/v1/models \
-H "Authorization: Bearer $ZUKKO_API_KEY" | python3 -c "
import json, sys
for m in json.load(sys.stdin)['data']:
if 'glm' in m['id']:
print(m['id'])
"Если модели нет в списке, её нельзя вызвать этим id: выберите другую из списка. А когда модель в списке есть, но возвращается 503 с model_disabled, её временно выключили: переключитесь на другую, смотрите ошибку 503 model_disabled.
Неверный адрес (404 или другой неожиданный ответ)
Для OpenAI SDK адрес должен заканчиваться на /v1:
from openai import OpenAI
client = OpenAI(base_url="https://api.zukko.pro/v1", api_key="fetch_...")Если указать https://api.zukko.pro без /v1, SDK отправит запрос по пути без префикса, и вы получите 404, который легко принять за проблему с моделью. Правило такое: клиенты на OpenAI SDK используют адрес с /v1, а Claude Code и официальный Anthropic SDK — без него. Подробно: Base URL с /v1 или без.
Ключ и права (401, 403)
- 401: ключ скопирован с пробелом или переносом строки, вместо ключа подставлена пустая переменная окружения, либо ключ удалён в кабинете. Напечатайте длину значения переменной и первые символы
fetch_, не выводя ключ целиком в логи. - 403
model_not_allowed_for_key: у ключа задан список разрешённых моделей, и GLM в нём нет. Откройте настройки ключа в кабинете Zukko и добавьте модель либо используйте другой ключ. См. статью про 403 model_not_allowed_for_key.
Баланс и лимиты (402, 429)
402 означает, что на балансе недостаточно средств. 429 бывает двух видов: исчерпан дневной или месячный лимит именно этого ключа (в теле ответа будет key_daily_limit_reached или key_monthly_limit_reached), либо ограничение стоит у провайдера модели. У Zukko своего общего rate limit нет. В первом случае подождите сброса или поднимите лимит ключа, во втором помогает повтор с задержкой.
Переполнение контекста 128K
У glm-5.3 и glm-5.3-flash контекст 128K токенов, тогда как у Claude, GPT, Qwen и DeepSeek в каталоге он 1M. Это значит, что история диалога или документ, которые спокойно помещаются в другую модель, на GLM могут упереться в предел. Ошибка приходит как 413 либо как сообщение провайдера о превышении длины контекста; текст может отличаться, поэтому ориентируйтесь на код и на usage. Разбор общей ситуации — в статье про context_length_exceeded.
Что делать:
- Измерьте вход: смотрите
usage.prompt_tokensв успешных ответах и отслеживайте рост. - Обрезайте историю: системный промпт плюс последние сообщения, остальное сведите в краткую сводку.
- Режьте документы на части.
- Для действительно длинных входов переключитесь на модель с контекстом 1M.
Цены на 18 октября 2026, $ за 1M токенов. Вход в 120 000 токенов (почти полное окно GLM):
glm-5.3(0.1 / 0.1): 120 000 × 0.1 / 1M = $0.012;glm-5.3-flash(0.04 / 0.04): 120 000 × 0.04 / 1M = $0.0048;- для сравнения
deepseek-v4.1-flash(0.013 вход): 120 000 × 0.013 / 1M = около $0.0016 и контекст 1M.
Выход у GLM стоит столько же за токен, сколько вход, так что длинный ответ заметно добавляет к счёту: ограничивайте max_tokens. Цена на кэш у GLM совпадает с ценой входа, то есть скидки за повторяющийся префикс нет.
Скрипт диагностики за минуту
Скрипт проверяет по порядку: ключ, наличие модели в списке, тестовый запрос.
import os
import sys
from openai import OpenAI
import openai
MODEL = sys.argv[1] if len(sys.argv) > 1 else "glm-5.3-flash"
key = os.environ.get("ZUKKO_API_KEY", "")
print("ключ задан:", bool(key), "| начало:", key[:6], "| длина:", len(key))
client = OpenAI(base_url="https://api.zukko.pro/v1", api_key=key, max_retries=0, timeout=30)
try:
ids = [m.id for m in client.models.list().data]
except openai.APIStatusError as e:Запуск: python3 diag.py glm-5.3. По выводу видно, на каком шаге ломается цепочка: нет ключа, неверный адрес, модели нет в списке или проблема именно в запросе.
Статус сервиса и «GLM не работает»
Если предыдущие шаги пройдены, а запросы падают с 503 или таймаутом, проблема на стороне провайдера модели. Проверьте, что другие модели того же ключа отвечают: если да, значит, недоступна именно GLM. Тогда временно переключитесь на запасную модель из списка GET /v1/models, а повторять запрос можно с нарастающей задержкой. Статус самого провайдера проверяйте на его сайте.
Частые вопросы
Почему GLM отвечает 404, хотя ключ верный?
Либо неверный id модели, либо адрес без /v1 в клиенте на OpenAI SDK. Проверьте оба пункта скриптом выше.
Нужен ли отдельный ключ для GLM?
Нет. Ключ fetch_... один на все модели каталога. Если у ключа задан список разрешённых моделей, добавьте в него GLM.
Можно ли увеличить контекст GLM?
Нет, это свойство модели: 128K. Для длинных входов выбирайте модель с контекстом 1M.
Как не получать неожиданные 429?
Задайте ключу разумные лимиты и мониторьте расход через раздел «Использование» в кабинете.
Если ошибка не уходит, создайте новый ключ в кабинете Zukko и повторите скрипт диагностики: это быстро отделяет проблемы ключа от проблем запроса.
zukko
Платите в 25×
меньше
за Claude Code & ChatGPT
Один ключ fetch_* и base URL api.zukko.pro — в Cursor, Claude Code, Codex и любом SDK.
Похожие статьи
- Ключи OpenAI API в открытом доступе: почему ими нельзя пользоватьсяОткуда берутся «бесплатные» ключи на GitHub, почему пользоваться ими опасно и для вас, и для владельца, и как защитить собственный ключ от такой же утечки.
- This organization has been disabled в Claude API: что это и как продолжитьКлюч Anthropic внезапно отвечает «organization has been disabled». Объясняем, что это за ошибка, что проверить и как перенести SDK и Claude Code на другой провайдер.
- Gemini API не работает: регион, ключ, лимиты и имя моделиПошаговая диагностика Gemini API: от проверки статуса и региона до утёкшего ключа, ошибок 429 и 503 и опечатки в имени модели.
- Заголовок с API-ключом: Authorization Bearer или x-api-key — что кудаOpenAI-клиенты шлют ключ в Authorization, Anthropic-клиенты в x-api-key. Разбираем, что принимает шлюз, и как по ответу понять, где именно ключ потерялся.