Updating OpenClaw to NVIDIA GLM 5.2 and MiniMax M3
My earlier OpenClaw setup used NVIDIA DeepSeek V4 Flash with GLM 5.1 as the fallback. Those two models are no longer available on NVIDIA Developer, and NVIDIA started returning an HTTP 410 response for the old model IDs.
I have now replaced them with:
- Primary:
nvidia/z-ai/glm-5.2 - Fallback:
nvidia/minimaxai/minimax-m3
The gateway is running with this setup, and I also tested the fallback. GLM timed out, then MiniMax returned OK.
The New Model Setup
This is the model order I use in ~/.openclaw/openclaw.json:
{
"primary": "nvidia/z-ai/glm-5.2",
"fallbacks": [
"nvidia/minimaxai/minimax-m3"
]
}
I keep MiniMax M3 as the only fallback. This makes it easy to see which model takes over when GLM is not responding.
Full OpenClaw Configuration
Here is the relevant part of my configuration:
{
"agents": {
"defaults": {
"model": {
"primary": "nvidia/z-ai/glm-5.2",
"fallbacks": [
"nvidia/minimaxai/minimax-m3"
]
}
}
},
"models": {
"providers": {
"nvidia": {
"baseUrl": "https://integrate.api.nvidia.com/v1",
"api": "openai-completions",
"timeoutSeconds": 45,
"models": [
{
"id": "z-ai/glm-5.2",
"name": "GLM 5.2",
"reasoning": false,
"input": ["text"],
"contextWindow": 1000000,
"maxTokens": 16384,
"params": {
"chat_template_kwargs": {
"thinking": false
}
}
},
{
"id": "minimaxai/minimax-m3",
"name": "MiniMax M3",
"reasoning": false,
"input": ["text", "image"],
"contextWindow": 1000000,
"maxTokens": 8192
}
]
}
}
}
}
OpenClaw uses openai-completions because NVIDIA provides an OpenAI-compatible chat endpoint. The OpenClaw custom provider documentation explains these provider settings.
Use the Correct Model IDs
The model IDs inside the NVIDIA provider do not include the nvidia/ prefix:
z-ai/glm-5.2
minimaxai/minimax-m3
When I select the models in OpenClaw, I add the provider prefix:
nvidia/z-ai/glm-5.2
nvidia/minimaxai/minimax-m3
This difference is easy to miss. The short ID is sent to the NVIDIA API, while the full ID tells OpenClaw which provider to use.
NVIDIA lists the same IDs on the GLM 5.2 API page and the MiniMax M3 API page.
Disable Thinking for GLM
I disabled thinking for GLM 5.2:
"params": {
"chat_template_kwargs": {
"thinking": false
}
}
This is the setting that worked with my OpenClaw requests. I only apply it to GLM, not to the whole NVIDIA provider.
Add a Timeout for Fallback
I added a 45-second timeout to the NVIDIA provider:
"timeoutSeconds": 45
This stops OpenClaw from waiting forever when GLM accepts a request but sends no reply. After 45 seconds, OpenClaw can move to MiniMax M3.
The timeout is set on the provider, so it applies to both NVIDIA models. OpenClaw documents models.providers.*.timeoutSeconds as the timeout for the provider request, including the connection and response stream.
Remove the Retired Models
I removed these old IDs from both the model list and the fallback list:
deepseek-ai/deepseek-v4-flash
z-ai/glm-5.1
Keeping retired IDs in the configuration only causes more failed requests. In my case, NVIDIA returned HTTP 410, which means the old model route is gone.
Restart and Check
After saving openclaw.json, restart the gateway:
systemctl --user restart openclaw-gateway.service
Then check the model setup and gateway health:
openclaw models status --json
openclaw status --deep
journalctl --user -u openclaw-gateway.service -f
I expect to see:
Default: nvidia/z-ai/glm-5.2
Fallback: nvidia/minimaxai/minimax-m3
During my fallback test, GLM did not return a response before the timeout. OpenClaw then tried MiniMax M3, which returned OK. This confirmed that the new model IDs, timeout, and fallback order were working together.