z-ai/glm-5.1GLM-5.1 delivers a major leap in coding capability, with particularly significant gains in handling long-horizon tasks. Unlike previous models built around minute-level interactions, GLM-5.1 can work independently and continuously on...
Billing follows the provider's own reported cost rather than the catalogue price — cached input is cheaper, and reasoning tokens bill as output. Your usage page is the record of what you actually paid.
One free message per account, no deposit needed. The reply is length-capped — it's a taste, not a quota.
Connect a wallet and sign in to use your free try.
Connect a walletEvery model goes through the same endpoint — just use this page's ID as model.
curl https://macdecloud.com/v1/chat/completions \
-H "Authorization: Bearer dcld-sk-..." \
-H "Content-Type: application/json" \
-d '{"model":"z-ai/glm-5.1","messages":[{"role":"user","content":"Hello"}]}'Add "stream": true for token-by-token output over standard SSE.
curl -N https://macdecloud.com/v1/chat/completions \
-H "Authorization: Bearer dcld-sk-..." \
-H "Content-Type: application/json" \
-d '{"model":"z-ai/glm-5.1","stream":true,"messages":[{"role":"user","content":"hi"}]}'This is a reasoning model: it produces a thinking pass before answering, and those tokens are billed as output — often far more of them than the answer itself. Two consequences. Too small a max_tokens gets consumed during reasoning and returns finish_reason: "length" with a null content, which looks like a failure but is just an exhausted budget (2000+ is a safer floor). And cost runs well above a non-reasoning model at the same headline price.
This model supports tools. Replies may carry tool_calls; run them and append the results as role: "tool" messages, then call again.
{
"model": "z-ai/glm-5.1",
"messages": [{ "role": "user", "content": "What's the weather in Paris?" }],
"tools": [{
"type": "function",
"function": {
"name": "get_weather",
"parameters": {
"type": "object",
"properties": { "city": { "type": "string" } },
"required": ["city"]
}
}
}]
}Supports response_format, so the model returns JSON matching a schema you give it instead of prose you have to parse.
{
"model": "z-ai/glm-5.1",
"messages": [{ "role": "user", "content": "..." }],
"response_format": {
"type": "json_schema",
"json_schema": {
"name": "result",
"schema": {
"type": "object",
"properties": { "answer": { "type": "string" } },
"required": ["answer"]
}
}
}
}