GLM 5.3 Flash API
AvailableGLM 5.3 Flash is the fast tier of Z.ai's GLM 5.3 family. It supports tool calling and structured JSON output and handles very long inputs, which makes it a good fit for agents and document workflows on a budget.
Quickstart
Set INFERENCE_API_KEY to your key from the API Keys page, then run:
curl https://api.inferenceapis.com/v1/chat/completions \
-H "Authorization: Bearer $INFERENCE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "zai-org/GLM-5.3-Flash",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello! What can you do?"}
]
}'
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.inferenceapis.com/v1",
api_key=os.environ["INFERENCE_API_KEY"],
)
response = client.chat.completions.create(
model="zai-org/GLM-5.3-Flash",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello! What can you do?"},
],
)
print(response.choices[0].message.content)
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.inferenceapis.com/v1",
apiKey: process.env.INFERENCE_API_KEY,
});
const response = await client.chat.completions.create({
model: "zai-org/GLM-5.3-Flash",
messages: [
{ role: "system", content: "You are a helpful assistant." },
{ role: "user", content: "Hello! What can you do?" },
],
});
console.log(response.choices[0].message.content);
When to use it
- You want a low price with tool calling and JSON-schema output, and a simple way to shorten its thinking (reasoning_effort low)
- Long inputs: 1M-token context
- Nothing specific; compare on your own prompts.
What it costs in practice
| Workload | Cost |
|---|---|
| Chat assistant — 10,000 turns of 800 tokens in, 300 out | $3.58 |
| Long prompts or RAG — 10,000 requests of 8,000 in, 500 out | $19.30 |
| Generation-heavy — 10,000 requests of 500 in, 2,000 out | $14.20 |
Computed from the live rates below. This is a reasoning model, and thinking is billed as output, so real output counts run above the visible answer; see controlling reasoning to keep that down. There is no subscription or minimum; new accounts start with free credit.
Endpoint
Content-Type: application/json
/openai/v1/… is accepted too, so Groq-style base URLs work with only the host changed.
Model IDs and aliases
Send any of these as model; they all resolve to this model and bill at its rate.
| ID | Note |
|---|---|
zai-org/GLM-5.3-Flash | Canonical |
glm-5.3-flash | Alias |
Request body
| Parameter | Type | Description |
|---|---|---|
model required |
string | Model ID: zai-org/GLM-5.3-Flash — also accepted: glm-5.3-flash |
messages required |
array | Conversation so far. Each item has a role (system, user or assistant) and content. |
max_tokens |
integer | Maximum number of tokens to generate (includes reasoning tokens — use a few hundred or more). |
temperature |
number | Sampling temperature. Higher values give more varied output. |
top_p |
number | Nucleus sampling cutoff. |
stream |
boolean | Stream the response as server-sent events. The final chunk includes usage. |
tools |
array | Tool definitions for function calling (OpenAI format). |
response_format |
object | {"type": "json_object"} for JSON mode. |
stop |
string | array | Sequences where the model stops generating. |
seed |
integer | Seed for more reproducible sampling. |
Response
{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"model": "zai-org/GLM-5.3-Flash",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Hi! I can answer questions, write and edit text, help with code and more.",
"reasoning": "The user is greeting me and asking about capabilities..."
},
"finish_reason": "stop"
}
],
"usage": { "prompt_tokens": 28, "completion_tokens": 17, "total_tokens": 45 }
}
Controlling reasoning
Send reasoning_effort: "none" to switch thinking off. On our test question this model used 88 completion tokens by default and 18 with thinking off, and the answer started immediately instead of after the reasoning. Model families disagree on the parameter for this, and the wrong one is silently ignored, so the gateway accepts one spelling on every model (also "minimal", reasoning: {"enabled": false} and thinking: {"type": "disabled"}) and sends the switch this model honours; the X-Thinking: off response header confirms it. On the Responses API use reasoning: {"effort": "minimal"}. Leave thinking on for multi-step coding and maths; turn it off for extraction, classification, routing and chat. All models compared.
resp = client.chat.completions.create(
model="zai-org/GLM-5.3-Flash",
reasoning_effort="none", # thinking off; omit it to let the model reason
messages=[{"role": "user", "content": "Extract the invoice number from: ..."}],
max_tokens=500,
)
print(resp.choices[0].message.content)Token counts are single measurements from September 17, 2026 and vary with the question; the direction is what matters.
Tested on this endpoint
Tool calling (tools, tool_calls) | Works |
JSON mode (response_format: json_object) | Works |
Schema-constrained output (response_format: json_schema) | Works |
Streaming with usage in the final chunk | Works |
| System prompt followed | Works |
Reasoning tokens reported in usage | Works |
Each row is a live request we sent on September 17, 2026, not a claim copied from a model card. Streamed and parallel tool calls and tool_choice were tested too: full matrix for every model. Request examples are in the API documentation.
Pricing
| Input | $0.20 / 1M tokens |
| Cached input | $0.04 / 1M tokens |
| Output | $0.66 / 1M tokens |
| Billing | Pay as you go from prepaid credits. No subscription, no daily request or token cap. See all pricing. |
Notes
- Reasoning model:
max_tokenscovers thinking and answer together, so allow a few hundred tokens or more. - The thinking is returned in
reasoning_content(GPT-OSS usesreasoning) and billed as completion tokens;usage.completion_tokens_details.reasoning_tokensreports the count.
Compare GLM 5.3 Flash with…
Questions about GLM 5.3 Flash
Who makes GLM?
Z.ai, the company formerly known as Zhipu AI. GLM 5.3 Flash is the fast tier of its GLM 5.3 family and is published with open weights.
Where does it run?
On serverless GPUs in the United States, behind our gateway. Requests are not sent to Z.ai.
When would I pick it over DeepSeek V4 Flash?
When the wait matters. Input prices are close. In our measurement GLM 5.3 Flash generated faster (90 against 54 tokens per second) and reached its first answer word in about 10 seconds against 20 at default reasoning; with reasoning_effort set to low that wait shrinks further. Comparison.
Where does the thinking show up?
In message.reasoning_content, and in delta.reasoning_content when streaming. It is billed as completion tokens.
Errors
Errors use the OpenAI envelope: {"error": {"message", "type", "code"}}. 401 missing or invalid key · 402 insufficient_balance · 404 model_not_found · 503 model_unavailable · 502 backend error, safe to retry. Full table with what to retry: API documentation. Errors from other providers: provider error reference.
