Ошибки 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 оттуда.

bash
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:

bash
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.

Что делать:

  1. Измерьте вход: смотрите usage.prompt_tokens в успешных ответах и отслеживайте рост.
  2. Обрезайте историю: системный промпт плюс последние сообщения, остальное сведите в краткую сводку.
  3. Режьте документы на части.
  4. Для действительно длинных входов переключитесь на модель с контекстом 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 совпадает с ценой входа, то есть скидки за повторяющийся префикс нет.

Скрипт диагностики за минуту

Скрипт проверяет по порядку: ключ, наличие модели в списке, тестовый запрос.

bash
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.