GLM 5.3 API: цены, эндпоинты и счёт за reasoning_effort
API GLM 5.3 открыт: $1.4 за вход и $4.4 за выход, как у 5.2. Замеры: на одном запросе классификации max тратит в 35 раз больше выходных токенов, чем low.
API GLM 5.3 открылся через пять дней после самой модели: $1.40 за миллион входных токенов и $4.40 за выход, столько же, сколько у GLM 5.2. Удивит вас не цена. reasoning_effort по умолчанию равен max, и на коротком запросе классификации мы замерили у max медиану 105 выходных токенов против 3 у low.
Тарифицируемая половина счёта отличается в 35 раз, и решает это один параметр, который большинство людей не отправляет.
Цена: $1.40 вход / $0.26 кэш / $4.40 выход за 1M токенов
Спецификация: 1M контекста, максимум 128K вывода
Базовые URL: api.z.ai/api/coding/paas/v4 (OpenAI Chat Completions)
api.z.ai/api/v1 (OpenAI Responses)
api.z.ai/api/anthropic (Anthropic Messages)
Шлюзы: z-ai/glm-5.3 в OpenRouter и ofox
effort: low | high | max, по умолчанию max, отключить нельзя
Убрано: thinking.type "disabled" теперь отдаёт HTTP 400
Замеры: классификация — 3 / 8 / 105 выходных токенов на low / high / max
Снимок: 2026-08-19
Сколько стоит API GLM 5.3?
$1.40 за миллион входных токенов, $0.26 за кэшированный ввод, $4.40 за выход. В таблице цен Z.ai появилась строка GLM-5.3, и она совпадает с GLM 5.2 и GLM 5.1 по всем позициям.
| Позиция | Ставка |
|---|---|
| Ввод | $1.40 / 1M токенов |
| Кэшированный ввод | $0.26 / 1M токенов |
| Хранение кэша | Бесплатно, помечено как временная акция |
| Вывод | $4.40 / 1M токенов |
Из этой таблицы стоит вытащить два пункта. Кэшированный ввод по $0.26 — это 19% от холодного чтения, а плата за хранение, из-за которой кэширование обычно становится спорным решением, на время акции равна нулю, так что повторяющийся system-промпт достаётся почти бесплатно. Второй пункт: вывод дороже ввода в 3.1 раза — именно это соотношение делает настройку effort ниже самой дорогой строкой в вашем конфиге.
OpenRouter отдаёт ту же пару $1.4 / $4.4 при контексте 1 048 576, то есть сторонние маршруты передают первичную цену дальше без наценки.
Какой базовый URL у API GLM 5.3?
Три протокола, и в одном из них документация противоречит себе. Страница модели перечисляет вот это:
| Протокол | Базовый URL |
|---|---|
| OpenAI Chat Completions | https://api.z.ai/api/coding/paas/v4 |
| OpenAI Responses | https://api.z.ai/api/v1 |
| Anthropic Messages | https://api.z.ai/api/anthropic |
А ниже, на той же странице, раздел Quick Start стучится в https://api.z.ai/api/paas/v4/chat/completions, без сегмента /coding. Одна страница, два ответа. Если первый отдаёт 404, попробуйте второй, прежде чем искать проблему в ключе.
Ни то, ни другое — не https://open.bigmodel.cn/api/paas/v4, который Zhipu анонсировала в день релиза. Всё, что написано в первые сутки после анонса, цитирует базовый URL, который так и не приехал.
Одно ограничение легко пропустить, и оно бьёт как раз по тем, кто вероятнее всего это читает: аккаунты, когда-либо оформлявшие GLM Coding Plan, включая истёкшие подписки, сейчас могут обращаться к API модели только по протоколу OpenAI Chat Completions. Если на аккаунте, где раньше работал план, падают вызовы по Responses или Anthropic, причина в этом.
Насколько reasoning_effort влияет на счёт?
Сильнее, чем выбор модели. GLM 5.3 всегда рассуждает, reasoning_effort принимает low, high или max, а по умолчанию стоит max.
19 августа 2026 года мы прогнали через z-ai/glm-5.3 на OpenAI-совместимом шлюзе две нагрузки: короткий промпт классификации по 10 прогонов на уровень и небольшой промпт генерации кода по 5 прогонов. Промпт и модель одни и те же, менялась только строка effort.
| Нагрузка | effort | Выходные токены, медиана | Диапазон | Задержка, медиана |
|---|---|---|---|---|
| Классификация тикета (вход 51) | low | 3 | 3–8 | 1.6 с |
| high | 8 | все 8 | 1.9 с | |
| max | 105 | 47–160 | 3.4 с | |
| Функция слияния интервалов (вход 50) | low | 519 | 418–586 | 11.6 с |
| high | 658 | 592–825 | 8.6 с | |
| max | 3 700 | 2 807–10 596 | 64.0 с |
На строку с классификацией стоит посмотреть дважды. Три выходных токена на low, сто пять на max, и в обоих случаях ответ — одно слово. Затем мы прогнали классификацию ещё 18 раз, по шесть на уровень, забирая текст: все прогоны на всех трёх настройках вернули billing, то есть верную метку. На этой задаче max купил 102 дополнительных выходных токена и не изменил ничего.
В деньгах: тот же миллион вызовов классификации стоит $84.60 на
lowи $533.40 наmax. Модель, промпт и ответ одинаковые. Разница — одна строка.
Та же арифметика на задаче с кодом, где рассуждения делают настоящую работу, а не пересказывают очевидное:
| Нагрузка | low | high | max |
|---|---|---|---|
| 1M вызовов классификации | $84.60 | $106.60 | $533.40 |
| 1 000 задач генерации кода | $2.35 | $2.97 | $16.35 |
Обе строки — со всем включённым: вход по $1.40 за миллион плюс выход по $4.40, по некэшированной ставке. Только выход в строке классификации дал бы $13.20, $35.20 и $462.00, так что именно фиксированные $71.40 входа сжимают соотношение с 35-кратного по токенам до 6.3-кратного по счёту.
high — уровень, который обычно пропускают и, скорее всего, не стоит. На классификации он дороже low на 26%, на коде тоже на 26%, но на коде он оказался быстрее low по медиане: 8.6 секунды против 11.6. Задержка не растёт монотонно вместе с effort. Резко медленный только max: на задаче с кодом он занял в 5.5 раза больше реального времени, чем low, а результат всё равно придётся читать человеку.
Оговорка к цифрам: это два промпта, а не бенчмарк-набор, и диапазоны у max широкие — от 47 до 160 токенов на ответ из одного слова и от 2 807 до 10 596 на коде. Прогоните свой промпт, прежде чем закладывать бюджет. Порядок сохранялся во всех прогонах, а вот кратность будет зависеть от вашей нагрузки.
Почему мой запрос к GLM 5.3 возвращает 400?
Вероятнее всего потому, что рассуждения нельзя выключить, и API говорит об этом формулировкой, верной только наполовину. Все вызовы ниже в наших прогонах вернули HTTP 400:
{
"error": {
"message": "This model always engages in thinking and cannot be disabled; please use low, high, or max"
}
}
Это ответ на "thinking": {"type": "disabled"}, и он корректен и ожидаем. Но это же ответ на "reasoning_effort": "medium" и на "reasoning_effort": "none", а вот это уже нет, потому что ни один из них ничего не пытался отключить. medium — совершенно разумная догадка, если вы пришли от другого провайдера, и эта ошибка отправит вас искать параметр thinking, который вы никогда не задавали.
Короткий список того, что действительно ломается:
| Запрос | Результат |
|---|---|
thinking.type: "disabled" | 400, мышление отключить нельзя |
reasoning_effort: "medium" или "none" | 400, тот же текст, вводит в заблуждение |
reasoning_effort: "low" / "high" / "max" | 200 |
thinking.type: "enabled" плюс reasoning_effort: "low" | 200 |
| Ни одного поля про рассуждения | 200, тарифицируется как max |
ID модели zai/glm-5.3 в шлюзе | 404 model_not_found, префикс — z-ai |
Как перенести нагрузку с GLM 5.2 на GLM 5.3?
Сначала параметр effort, потом ID модели. Z.ai прямо задаёт этот порядок, и причина в том, что запрос с thinking.type: "disabled" падает в тот момент, когда меняется ID модели.
from openai import OpenAI
client = OpenAI(api_key="YOUR_KEY", base_url="https://api.ofox.ai/v1")
r = client.chat.completions.create(
model="z-ai/glm-5.3",
messages=[{"role": "user", "content": "Classify this ticket: ..."}],
reasoning_effort="low", # без этой строки вас тарифицируют по max
)
print(r.usage.completion_tokens)
Миграция дешевле, чем следовало из цифр GLM 5.2. Когда мы мерили цену потери disabled в релизном разборе, на GLM 5.2 самая дешёвая настройка с включённым мышлением всё равно жгла от 69 до 122 выходных токенов на тривиальном промпте против 2 при выключенном. На GLM 5.3 low вернулся к медиане 3. Что бы ни изменилось между двумя версиями, порог, из-за которого этой миграции боялись, почти исчез — при условии, что вы задаёте параметр.
Задавайте его явно везде, включая места, которые наследуют значения по умолчанию: обёртки для ретраев, харнессы для оценки и любой фреймворк, собирающий тело запроса за вас. Отсутствующий reasoning_effort — это не отсутствующая функция, это счёт по max.
Если вы настраиваете ключ с нуля, наш гайд по доступу к API GLM 5.2 применим без изменений: эндпоинт, ключ и форма запроса те же. Расчёты для большого объёма коротких вызовов есть в сравнении стоимости GLM 5.2 и GPT-5.5.
Обращаться к Z.ai напрямую или через шлюз?
Напрямую, если вы используете только GLM. Через шлюз, если рядом работает что-то ещё или если вас поймало ограничение протокола для Coding Plan.
| Z.ai напрямую | Шлюз | |
|---|---|---|
| Цена | $1.4 / $4.4 | Та же, передаётся дальше |
| Протоколы | Три, минус ограничение Coding Plan | Те, что понимает шлюз |
| ID модели | glm-5.3 | z-ai/glm-5.3 |
| Переключение на другую модель | Ваш код | Одна строка |
| Цена кэша | $0.26, хранение пока бесплатно | Зависит от passthrough |
Одна оговорка про шлюзы, которая стоит реальных денег: то, что прокси возвращает, не всегда равно тому, за что его тарифицировали. На шлюзе, который мы тестировали, usage.completion_tokens_details.reasoning_tokens приходит: вызов на low с 8 completion-токенами корректно показал 3 из них как reasoning. Не пришло — поле кэша в prompt_tokens_details, а сам текст рассуждений отсутствует в объекте message. Проверьте оба пункта у своего провайдера, прежде чем строить на них учёт затрат или дашборд попаданий в кэш: тарификация следует за тем, что сделал апстрим, а не за тем, что показывает ваше тело ответа.
Скидка 15% на пополнение до 2026-08-31 в ofox покрывает около 130 моделей на одном OpenAI-совместимом эндпоинте, причём z-ai/glm-5.3 и z-ai/glm-5.2 доступны обе, так что A/B между ними — это одна строка в коде выше.
Бенчмарки, сроки по весам и сравнение возможностей GLM 5.3 против 5.2 — в нашем обзоре релиза GLM 5.3, там полная таблица. Актуальные каталожные характеристики — на странице модели GLM 5.3 в ofox.
Источники
Часто задаваемые вопросы
- Сколько стоит API GLM 5.3?
- По таблице цен Z.ai: $1.40 за миллион входных токенов, $0.26 за кэшированный ввод и $4.40 за миллион выходных. Это ровно те же ставки, что у GLM 5.2 и GLM 5.1. Хранение кэша сейчас бесплатно и помечено как временная акция.
- Какой базовый URL у API GLM 5.3?
- На странице модели указаны три: https://api.z.ai/api/coding/paas/v4 для протокола OpenAI Chat Completions, https://api.z.ai/api/v1 для OpenAI Responses и https://api.z.ai/api/anthropic для Anthropic Messages. При этом раздел Quick Start на той же странице стучится в https://api.z.ai/api/paas/v4/chat/completions, без сегмента coding, так что если один вариант отдаёт 404, попробуйте второй.
- Какое значение reasoning_effort стоит по умолчанию в GLM 5.3?
- max. Документация Z.ai указывает max как значение по умолчанию, и наши замеры это подтверждают: запрос без поля reasoning_effort даёт то же распределение выходных токенов, что и явный max. На коротком промпте классификации это медиана 105 выходных токенов против 3 на low.
- Почему GLM 5.3 возвращает 400 с сообщением, что мышление нельзя отключить?
- Потому что в 5.3 рассуждения не отключаются, а переданное значение не входит в набор low, high, max. Точный текст: «This model always engages in thinking and cannot be disabled; please use low, high, or max». Он приходит и на thinking.type: disabled, и на любое некорректное значение reasoning_effort вроде medium или none, из-за чего во втором случае формулировка вводит в заблуждение.
- Можно ли всё ещё использовать thinking.type disabled с GLM 5.3?
- Нет, запрос каждый раз падает с HTTP 400. Используйте reasoning_effort: low. В наших прогонах на коротких промптах low стоил медианно 3 выходных токена, поэтому миграция обходится намного дешевле, чем можно было предположить по замерам GLM 5.2.
- GLM 5.3 дороже GLM 5.2?
- Нет, опубликованные ставки идентичны: $1.40 за вход и $4.40 за выход. Счёт меняет уровень effort, а не модель. Нагрузка на 5.2, которая использовала thinking.type disabled и была перенесена на 5.3 без указания reasoning_effort, попадает на max и может стоить в несколько раз больше.
- Какой идентификатор модели у GLM 5.3 в шлюзах?
- z-ai/glm-5.3 и в OpenRouter, и в ofox, с контекстом 1 048 576. Префикс — z-ai через дефис. Запрос с zai/glm-5.3 вернёт 404 model_not_found.


