docs/providers/zai.md
Z.AI is the API platform for GLM models. It provides REST APIs for GLM and uses API keys
for authentication. Create your API key in the Z.AI console. OpenClaw uses the zai provider
with a Z.AI API key.
zaiZAI_API_KEY<Steps>
<Step title="Run onboarding">
```bash
openclaw onboard --auth-choice zai-api-key
```
</Step>
<Step title="Set a default model">
```json5
{
env: { ZAI_API_KEY: "sk-..." },
agents: { defaults: { model: { primary: "zai/glm-5.1" } } },
}
```
</Step>
<Step title="Verify the model is listed">
```bash
openclaw models list --all --provider zai
```
</Step>
</Steps>
<Steps>
<Step title="Pick the right onboarding choice">
```bash
# Coding Plan Global (recommended for Coding Plan users)
openclaw onboard --auth-choice zai-coding-global
# Coding Plan CN (China region)
openclaw onboard --auth-choice zai-coding-cn
# General API
openclaw onboard --auth-choice zai-global
# General API CN (China region)
openclaw onboard --auth-choice zai-cn
```
</Step>
<Step title="Set a default model">
```json5
{
env: { ZAI_API_KEY: "sk-..." },
agents: { defaults: { model: { primary: "zai/glm-5.1" } } },
}
```
</Step>
<Step title="Verify the model is listed">
```bash
openclaw models list --all --provider zai
```
</Step>
</Steps>
OpenClaw ships the bundled zai provider catalog in the plugin manifest, so read-only
listing can show known GLM rows without loading provider runtime:
openclaw models list --all --provider zai
The manifest-backed catalog currently includes:
| Model ref | Notes |
|---|---|
zai/glm-5.1 | Default model |
zai/glm-5 | |
zai/glm-5-turbo | |
zai/glm-5v-turbo | |
zai/glm-4.7 | |
zai/glm-4.7-flash | |
zai/glm-4.7-flashx | |
zai/glm-4.6 | |
zai/glm-4.6v | |
zai/glm-4.5 | |
zai/glm-4.5-air | |
zai/glm-4.5-flash | |
zai/glm-4.5v |
```json5
{
agents: {
defaults: {
models: {
"zai/<model>": {
params: { tool_stream: false },
},
},
},
},
}
```
Preserved thinking is opt-in because Z.AI requires the full historical
`reasoning_content` to be replayed, which increases prompt tokens. Enable it
per model:
```json5
{
agents: {
defaults: {
models: {
"zai/glm-5.1": {
params: { preserveThinking: true },
},
},
},
},
}
```
When enabled and thinking is on, OpenClaw sends
`thinking: { type: "enabled", clear_thinking: false }` and replays prior
`reasoning_content` for the same OpenAI-compatible transcript.
Advanced users can still override the exact provider payload with
`params.extra_body.thinking`.
| Property | Value |
| ------------- | ----------- |
| Model | `glm-4.6v` |
Image understanding is auto-resolved from the configured Z.AI auth — no
additional config is needed.