Руководство по API GLM: GLM-5.2, GLM-5.3 и GLM-5.3-Flash
Вызывайте GLM-5.2, GLM-5.3 и GLM-5.3-Flash через APIMaster с помощью Python или curl. Протестированы Chat, Responses, Messages, стриминг, JSON и вызовы инструментов.
Используйте glm-5.2, glm-5.3 или glm-5.3-flash с API-ключом APIMaster и базовым URL https://apimaster.ai/v1. Для приложений, совместимых с OpenAI, начните с Chat Completions. Codex использует Responses; Claude Code использует интерфейс Messages.
Это результаты интеграционного тестирования через шлюз APIMaster, а не утверждение, что каждый GLM-апстрим нативно реализует каждый протокол. GLM — это семейство моделей; SDK OpenAI и Anthropic предоставляют клиентские интерфейсы.
Протестированная совместимость
Валидация началась 15.09.2026 UTC с использованием публичного эндпоинта APIMaster и обычной маршрутизации. Каждая модель прошла следующие проверки:
| Проверка | glm-5.2 |
glm-5.3 |
glm-5.3-flash |
|---|---|---|---|
| Chat Completions: обычный и стриминговый режимы | Пройдена | Пройдена | Пройдена |
| Responses: обычный и стриминговый режимы | Пройдена | Пройдена | Пройдена |
| Messages: обычный и стриминговый режимы | Пройдена | Пройдена | Пройдена |
| Вызов функций/инструментов и обратный цикл с результатом инструмента, все три протокола | Пройдена | Пройдена | Пройдена |
| Вывод JSON-объекта в Chat | Пройдена | Пройдена | Пройдена |
Текстовые проверки оценивали фактический ответ и событие завершения потока, а не только HTTP 200. Тесты инструментов запрашивали функцию погоды, а затем возвращали проверочный код, переданный только в результате инструмента. Это функциональные проверки интеграции, а не бенчмарки пропускной способности или SLA доступности. Долгие сессии, максимальный контекст, видео и все расширенные параметры выходят за рамки этой тестовой матрицы.
1. Получите API-ключ
Создайте API-ключ APIMaster, включите нужную модель и пополните счёт. Используйте точные идентификаторы моделей, указанные выше. Ключ от BigModel, OpenAI или Anthropic не может пройти аутентификацию в APIMaster.
macOS / Linux:
export APIMASTER_API_KEY='YOUR_APIMASTER_API_KEY'
Windows PowerShell:
$env:APIMASTER_API_KEY = 'YOUR_APIMASTER_API_KEY'
2. Вызовите Chat Completions с помощью curl
curl --fail-with-body --max-time 120 'https://apimaster.ai/v1/chat/completions' \
-H "Authorization: Bearer $APIMASTER_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"model":"glm-5.3-flash","messages":[{"role":"user","content":"Reply with exactly GLM_API_OK."}],"max_tokens":2048}'
Читайте choices[0].message.content. Измените model на glm-5.2 или glm-5.3, чтобы переключить модель. Модели с рассуждениями могут израсходовать часть бюджета вывода до выдачи финального ответа.
3. Используйте Python SDK от OpenAI
python -m pip install -U openai
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["APIMASTER_API_KEY"],
base_url="https://apimaster.ai/v1",
timeout=120.0,
)
response = client.chat.completions.create(
model="glm-5.3-flash",
messages=[{"role": "user", "content": "Reply with exactly GLM_API_OK."}],
max_tokens=2048,
)
print(response.choices[0].message.content)
Для стриминга установите stream=True. Проверяйте на пустой choices: финальный chunk с usage может содержать статистику использования без текстового дельта-фрагмента.
stream = client.chat.completions.create(
model="glm-5.3-flash",
messages=[{"role": "user", "content": "Explain binary search briefly."}],
max_tokens=4096,
stream=True,
stream_options={"include_usage": True},
)
for chunk in stream:
if chunk.choices:
text = chunk.choices[0].delta.content
if text:
print(text, end="", flush=True)
if chunk.usage:
print("\nUsage:", chunk.usage)
Первое событие может содержать рассуждения, а не видимый текст ответа. Сохраняйте reasoning_content при передаче сообщений ассистента в диалог с инструментами на маршрутах, которые его возвращают; не восстанавливайте сообщение ассистента только из финального текста.
4. Выберите правильный эндпоинт
| Приложение | Базовый URL | Эндпоинт запроса |
|---|---|---|
| Python OpenAI SDK / Chat | https://apimaster.ai/v1 |
/v1/chat/completions |
| Responses API / Codex | https://apimaster.ai/v1 |
/v1/responses |
| Claude Code | https://apimaster.ai |
/v1/messages |
Минимальный запрос Responses:
curl --fail-with-body --max-time 120 'https://apimaster.ai/v1/responses' \
-H "Authorization: Bearer $APIMASTER_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"model":"glm-5.3","input":"Reply with exactly GLM_API_OK.","max_output_tokens":2048}'
Читайте текст из элементов message с типом контента output_text; храните элементы reasoning отдельно. Для стриминга используйте stream: true и проверяйте наличие response.completed или события ошибки.
Параметры и устранение неполадок
| Ситуация | Рекомендуемое действие |
|---|---|
| 401 | Проверьте ключ APIMaster и аккаунт, которым он был выдан. |
| 404 | Используйте базовый URL, ожидаемый вашим клиентом; не дублируйте /v1. |
| Пустой ответ или лимит вывода | Проверьте причину завершения и использование рассуждений; увеличьте бюджет вывода. |
| JSON-вывод | Chat response_format: {"type":"json_object"} прошёл базовый JSON-тест. Валидируйте возвращённый JSON в вашем приложении. |
reasoning.summary отклонён |
Поддержка зависит от выбранного апстрима. Для базовой конфигурации опустите его. Успешный тест через шлюз не подтверждает нативную поддержку в BigModel. |
thinking.type: disabled отклонён |
Официальное руководство по модели GLM-5.3-Flash допускает только enabled; не требуйте отключения рассуждений. |
| 429 / 5xx / прерванный поток | Зафиксируйте ID запроса, модель, время UTC и ошибку. Используйте ограниченные повторные попытки там, где это безопасно; не повторяйте слепо уже выполненные инструменты. |
Часто задаваемые вопросы
Является ли GLM-5.3-Flash бесплатным на APIMaster?
Слово Flash — это часть названия модели, а не обещание бесплатного использования. Проверьте актуальные цены маршрутов в маркетплейсе моделей и фактические списания в кошельке.
Применяется ли высокий процент попаданий в кэш к каждому запросу?
Нет. Повторное использование кэша зависит от совпадения входных префиксов и апстрима. Изучите возвращаемую статистику использования и ваши журналы. Процент попаданий в кэш предыдущей нагрузки не является гарантией для нового приложения.
Доказывает ли это полную совместимость с OpenAI или Anthropic?
Это подтверждает протестированные текстовые, стриминговые, JSON- и инструментальные сценарии. Специфичные для провайдера поля, сохранённое состояние Responses, встроенный веб-поиск и мультимедиа требуют отдельной валидации.