Gemini 3.7 Flash is 75% off for a limited time. See all discounted models here(opens in new tab)
Limited-time 50% discount via ZAI through September 9, 2026 at 16:00 UTC.
GLM-5.3-Flash is a native multimodal model from Z.ai. It is suited for efficient coding and long-horizon agent tasks. Its hybrid sparse and linear attention architecture maintains accurate long-context behavior while reducing compute overhead.
Modalities
In / Out Price
$0.075 / $0.25per 1M
Context
1M
Released
Aug 26, 2026
This model is hosted by one provider. OpenRouter forwards every request to it directly — no routing decisions to make.
50% off | $0.15$0.075 | $0.50$0.25 | $0.03$0.015 | 3.28s | 27 tps |
The average price customers actually pay for this model, next to the prices providers post. Caching and discounts mean the price actually paid is often well below the listed one.
Weighted Avg Input Price
$0.02348
/M tokens
Weighted Avg Output Price
$0.2621
/M tokens
| $0.02348 | $0.2621 | $0.075 | $0.25 | 88.3% | 100.0% |
Throughput is how fast the model writes (tokens per second — higher is better). Latency is total round-trip time (lower is better). TTFT is time-to-first-token — how long before you see anything appear (lower is better).
Throughput
27tok/s
P50, best across providers
Latency
3.28s
P50, best provider
Uptime is the percentage of the past 3 days that at least one provider was responding to requests. Availability is the percentage of time that inference was successfully served. OpenRouter continuously monitors and uses the next-best provider when one returns an error.
99.91%
99.62%
When an error occurs in an upstream provider, we can recover by routing to another healthy provider, if your request filters allow it. You can access per-provider uptime data programmatically through the Endpoints API. Learn more about our load balancing and customization options.
Public apps that send the most traffic to this model. Good signal for what real production workloads look like — and a hint at which use cases this model is best suited for.
Token volume and request traffic to this model over time.
Prompt tokens measure input size. Reasoning tokens show internal thinking before a response. Completion tokens reflect total output length.
Drop-in code to call this model. OpenRouter's API is OpenAI-compatible — most SDKs work by just swapping the base URL. The only thing that changes between models is the model slug below.
Create an API key from your OpenRouter dashboard and set it as an environment variable:
export OPENROUTER_API_KEY=sk-or-v1-...Use z-ai/glm-5.3-flash with the OpenRouter API:
OpenRouter supports reasoning-enabled models that can show their step-by-step thinking process. Use the reasoning parameter in your request to enable reasoning, and access the reasoning_details array in the response to see the model's internal reasoning before the final answer. When continuing a conversation, preserve the complete reasoning_details when passing messages back to the model so it can continue reasoning from where it left off. Learn more about reasoning tokens.
In the examples below, the OpenRouter-specific headers are optional. Setting them allows your app to appear on the OpenRouter leaderboards.
import { OpenRouter } from "@openrouter/sdk";
const openrouter = new OpenRouter({
apiKey: "<OPENROUTER_API_KEY>"
});
// Stream the response to get reasoning tokens in usage
const stream = await openrouter.chat.send({
chatRequest: {
model: "z-ai/glm-5.3-flash",
messages: [
{
role: "user",
content: "How many r's are in the word 'strawberry'?"
}
],
stream: true
}
});
let response = "";
for await (const chunk of stream) {
const content = chunk.choices[0]?.delta?.content;
if (content) {
response += content;
process.stdout.write(content);
}
// Usage information comes in the final chunk
if (chunk.usage) {
console.log("\nReasoning tokens:", chunk.usage.completionTokensDetails?.reasoningTokens);
}
}For information about using third-party SDKs and frameworks with OpenRouter, please see our frameworks documentation.
Add "stream": true to your request body to receive responses as server-sent events:
curl -N https://openrouter.ai/api/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENROUTER_API_KEY" \
-d '{
"model": "z-ai/glm-5.3-flash",
"stream": true,
"messages": [
{"role": "user", "content": "Hello"}
]
}'Sends a request for a model response for the given chat conversation. Supports both streaming and non-streaming modes.
https://openrouter.ai/api/v1/chat/completionsBearer $OPENROUTER_API_KEYapplication/jsonoptional — your site URL, for rankingsoptional — your site name, for rankingsz-ai/glm-5.3-flashCreates a streaming or non-streaming response using the OpenAI Responses API format.
Docshttps://openrouter.ai/api/v1/responsesBearer $OPENROUTER_API_KEYapplication/jsonoptional — your site URL, for rankingsoptional — your site name, for rankingsz-ai/glm-5.3-flashCreates a message using the Anthropic Messages API format. Supports text, images, PDFs, tools, and extended thinking.
Docshttps://openrouter.ai/api/v1/messagesBearer $OPENROUTER_API_KEYapplication/jsonoptional — your site URL, for rankingsoptional — your site name, for rankingsz-ai/glm-5.3-flash| Name | Type | Default | Description |
|---|---|---|---|
reasoning | map | — | Controls reasoning behavior for models that support thinking tokens, including whether reasoning is enabled, the reasoning effort, maximum reasoning tokens, and whether reasoning is excluded from the response. |
max_tokens | integer | — | This sets the upper limit for the number of tokens the model can generate in response. |
temperature | float | 1 | This setting influences the variety in the model's responses. |
top_p | float | 0.95 | This setting limits the model's choices to a percentage of likely tokens: only the top tokens whose probabilities add up to P. |
tools | array | — | Tool calling parameter, following OpenAI's tool calling request shape. |
tool_choice | string or object | — | Controls which (if any) tool is called by the model. |
top_k | integer | 0 | This limits the model's choice of tokens at each step, making it choose from a smaller set. |
response_format | map | — | Forces the model to produce specific output format. |