GLM-5.3 Flash
Call GLM-5.3 Flash through the OpenAI-compatible Chat Completions API.
| Item | Value |
|---|---|
| Base URL | https://api.hop-base.com/v1 |
| Model | glm-5.3-flash |
| Chat | POST /v1/chat/completions |
Use a key that includes the GLM Official API group; keys without it get a 404.
curl https://api.hop-base.com/v1/chat/completions \
-H "Authorization: Bearer sk-your-key" \
-H "Content-Type: application/json" \
-d '{
"model": "glm-5.3-flash",
"temperature": 1,
"top_p": 0.95,
"reasoning_effort": "max",
"messages": [{
"role": "user",
"content": "Hello, introduce yourself"
}]
}'Model and specifications
Zhipu released and open-sourced GLM-5.3 Flash on 2026-08-26; it is the first natively multimodal member of the GLM-5 series.
| Item | Value |
|---|---|
| Model ID | glm-5.3-flash |
| Architecture | MoE, 320B total parameters, 18B active per token |
| Attention | Hybrid sparse plus linear attention |
| Context window | 1M tokens |
| Max output | 128K tokens |
| Input modalities | Text, image, video, file |
| Output | Text |
| Thinking | Always on; returned in reasoning_content |
Compared with GLM-5.3, attention compute is 3.01x lower and the KV cache 4.44x smaller.
Group and setup
glm-5.3-flashis sold through the GLM Official API group. When creating or editing an API key under API Keys in the console, add this group to the key; only a key that includes it can call the model.- Keys without this group get a clear 404 when calling
glm-5.3-flash; add the group to an existing key in the console, or create a new key with it. - Rates take Zhipu's official list price for this model as their basis and are published on the pricing page; your own effective rate is shown in the signed-in model catalog.
- The same group also sells
glm-5.3; see GLM-5.3.
Fill in your client like this:
| Field | Value |
|---|---|
| API address / Base URL | https://api.hop-base.com/v1 |
| Endpoint | POST /v1/chat/completions only — /v1/responses and /v1/messages are not supported and return 400 |
| API Key | sk-your-key |
| Model | glm-5.3-flash |
| API format | OpenAI Chat Completions (routing required) |
Only CC Switch and other routing-capable clients ask for the API format.
Request parameters
For POST /v1/chat/completions. The gateway only rejects empty messages and sets no range on the rest; "recommended" values are the ones Zhipu publishes for this model.
| Parameter | Required | Type & limits | Default | Description |
|---|---|---|---|---|
model | Required | glm-5.3-flash | — | Exact match |
messages | Required | Non-empty array; text, image, video, and file content | — | Missing or empty returns a gateway 400 |
max_tokens | Optional | Integer, up to 128K (official limit) | Service default | Shared by thinking and answer |
reasoning_effort | Optional | low / high / max | Service default | Recommended max; thinking can only be on |
temperature | Optional | Number; no gateway range | Service default | Recommended 1 |
top_p | Optional | Number; no gateway range | Service default | Recommended 0.95 |
tools, tool_choice | Optional | As in OpenAI | auto | See Tool calling |
tool_stream | Optional | Boolean | false | Recommended true when streaming with tools |
stream | Optional | Boolean | false | true returns server-sent events |
stream_options.include_usage | Optional | Boolean | false | Must be true to get usage when streaming |
For every field, see API reference · Chat Completions and pick GLM-5.3 Flash.
Streaming and usage
Send "stream": true. To get token counts, also add stream_options.include_usage; the final chunk then carries a usage object.
When the request also includes tools, turn on tool_stream: true so tool-call arguments stream incrementally instead of arriving in one block at the end.
curl https://api.hop-base.com/v1/chat/completions \
-H "Authorization: Bearer sk-your-key" \
-H "Content-Type: application/json" \
-d '{
"model": "glm-5.3-flash",
"stream": true,
"stream_options": {"include_usage": true},
"tool_stream": true,
"messages": [{"role": "user", "content": "Write a haiku about latency"}]
}'Tool calling
Function calling uses the standard OpenAI fields. Send tools, read choices[].message.tool_calls from the response, run the function, and send the result back as a tool message.
curl https://api.hop-base.com/v1/chat/completions \
-H "Authorization: Bearer sk-your-key" \
-H "Content-Type: application/json" \
-d '{
"model": "glm-5.3-flash",
"messages": [{"role": "user", "content": "What is the weather in Tokyo?"}],
"tools": [{
"type": "function",
"function": {
"name": "get_weather",
"description": "Get the current weather for a city",
"parameters": {
"type": "object",
"properties": {"city": {"type": "string"}},
"required": ["city"]
}
}
}]
}'Thinking output
The model always thinks; there is no switch to turn it off. The trace is returned in reasoning_content alongside the answer in content, and in streaming mode it arrives as delta.reasoning_content.
Render it separately, or drop it, but do not concatenate it into the answer. Size max_tokens for the answer and the trace together.
Next steps
- GLM-5.3 — the flagship, with Claude Code and Codex CLI setup
- OpenAI SDK — the general Chat Completions pattern
- Error codes and retries
- Concurrency, timeouts, and billing