GLM on RunAPI
Use OpenAI-compatible Chat Completions at https://runapi.ai/v1 as the primary protocol.
Primary protocol recipe
Authenticate
Set OPENAI_API_KEY to a RunAPI API key and OPENAI_BASE_URL to https://runapi.ai/v1.
Send request
from openai import OpenAI
client = OpenAI(api_key="YOUR_RUNAPI_TOKEN", base_url="https://runapi.ai/v1")
response = client.chat.completions.create(
model="glm-5.3",
messages=[{"role": "user", "content": "Summarize this review."}],
)
print(response.choices[0].message.content)
print(response.usage)
For long output, call the same method with stream=True and
stream_options={"include_usage": True}; consume every chunk through [DONE].
Verify result
Require final assistant content, a terminal finish_reason, and authoritative
usage. A stream is complete only after its terminal usage chunk and [DONE].
Stop boundaries
Correct a rejected shape once using the structured error. Retry transport once
only before any response or Usage and when replay is safe. Record a terminal
error and stop without changing model or protocol. For glm-5.3, keep requests
to text history on Chat Completions. Add tools, reasoning, structured output, or
multimodal input only when the current RunAPI contract explicitly verifies that
capability.
Compatibility protocols
Do not use compatibility protocols with glm-5.3; use the primary recipe.
Load compatibility protocols only when an existing client requires Anthropic Messages or Gemini contents for an earlier compatible model.
GLM-5.3 capability boundary
| Capability | Current behavior |
|---|---|
| Text history, sync, streaming | Supported through OpenAI-compatible Chat Completions |
| OpenAI Responses, Anthropic Messages, Gemini contents | Not supported for glm-5.3 |
| Tools, reasoning controls, structured output, multimodal input | Not declared pending model-specific evidence |
| Usage | Preserve returned token and cache fields; never infer missing details |
Supported models
| Model ID | Use when |
|---|---|
glm-5.3 |
Latest text workloads through Chat Completions |
glm-5.2 |
Cross-protocol flagship text workloads |
glm-5.1 |
Recent GLM chat workloads |
glm-5-turbo |
Faster GLM chat |
glm-5 |
General GLM 5 requests |
glm-4.7 |
GLM 4.7 compatibility |
glm-4.6 |
Stable GLM 4.6 requests |
glm-4.5 |
GLM 4.5 compatibility |
glm-4.5-air |
Lightweight GLM 4.5 requests |