GLM API 指南:GLM-5.2、GLM-5.3 和 GLM-5.3-Flash
通过 APIMaster 使用 Python 或 curl 调用 GLM-5.2、GLM-5.3 和 GLM-5.3-Flash。已测试 Chat、Responses、Messages、流式传输、JSON 和工具调用。
使用 APIMaster API 密钥和基础 URL https://apimaster.ai/v1 调用 glm-5.2、glm-5.3 或 glm-5.3-flash。 对于 OpenAI 兼容的应用程序,请从 Chat Completions 开始。Codex 使用 Responses;Claude Code 使用 Messages 接口。
这些是 APIMaster 网关集成测试的结果,并不意味着每个 GLM 上游都原生实现了每个协议。GLM 是模型家族;OpenAI 和 Anthropic SDK 提供的是客户端接口。
已测试的兼容性
验证始于 2026-09-15 UTC,使用 APIMaster 公共端点和正常路由。每个模型均完成了以下检查:
| 检查项 | glm-5.2 |
glm-5.3 |
glm-5.3-flash |
|---|---|---|---|
| Chat Completions:常规与流式 | 通过 | 通过 | 通过 |
| Responses:常规与流式 | 通过 | 通过 | 通过 |
| Messages:常规与流式 | 通过 | 通过 | 通过 |
| 函数/工具调用及工具结果往返,覆盖全部三种协议 | 通过 | 通过 | 通过 |
| Chat JSON 对象输出 | 通过 | 通过 | 通过 |
文本测试检查的是实际回答内容和流式终止事件,而不仅仅是 HTTP 200。工具测试请求了一个天气函数,随后返回了一个仅在工具结果中提供的验证码。这些是功能性集成检查,并非吞吐量基准测试或可用性 SLA。长会话、最大上下文、视频以及所有高级参数均不在本次测试矩阵范围内。
1. 获取 API 密钥
创建 APIMaster API 密钥,启用所需模型并为账户充值。请使用上述确切的模型 ID。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. 使用 curl 调用 Chat Completions
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 OpenAI SDK
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:最后一个 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 的路由上,将 assistant 消息带入工具对话时应保留该字段;不要仅根据最终文本重构 assistant 消息。
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}'
从内容类型为 output_text 的 message 项中读取文本;将 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 状态、内置网络搜索以及多媒体功能需要另行验证。