GLM-5.3 API
Model ID: glm-5.3
Z.ai’s text reasoning model for complex software engineering, long-running agents, and tool-driven workflows.
Coding · Reasoning ·
Capabilities
- Context length
- 1000000 tokens
- Max output
- 131072 tokens
- Reasoning
- Always on
- Complex debugging and refactoring
- Repository-scale coding agents
- Long-running engineering workflows
- Code review and authorized security analysis
- reasoning
- streaming
- function_calling
- caching
- structured_output
API pricing
- Input
- $1.1199999999999999 USD per 1M tokens
- Output
- $3.5200000000000005 USD per 1M tokens
- Cached input
- $0.20800000000000002 USD per 1M tokens
Model introduction
GLM-5.3 builds on the GLM-5.2 base model with further post-training for coding and long-horizon tasks. It provides a 1M-token context window, up to 131,072 output tokens, function calling, prompt caching, and structured output.
Core strengths
Repository-scale context
Work across large repositories and connected engineering evidence.
Always-on reasoning
Use always-on reasoning for multi-step planning, implementation, and verification.
Structured tool workflows
Return structured data or tool calls for application workflows.
Use cases
Complex debugging and refactoring
Reason through difficult failures and plan coordinated code changes.
Repository-scale coding agents
Keep related source files, constraints, and tool results in context.
Long-running engineering workflows
Support iterative planning, implementation, and verification across multiple steps.
Code review and authorized security analysis
Review changes against design constraints and analyze code you are authorized to assess.
Specifications and limits
Input and generated output share the available context. Maximum output is a ceiling, not a recommended request size. Use retrieval and relevant source material to keep requests focused. GLM-5.3 always uses reasoning; reasoning tokens contribute to output usage.
Getting started
Create a BulkToken API key
Sign in to BulkToken and open API Keys to create a key. Store it in the BULKTOKEN_API_KEY environment variable on your server.
Configure the API client
Use https://bulktoken.ai/v1 as the OpenAI SDK base URL and set model to glm-5.3. Authenticate with your BulkToken API key.
Send a request and inspect usage
Call POST /v1/chat/completions. Use stream: true for incremental output, then review the request and token usage in Usage Logs. Your key must have access to the selected model.
FAQ
Can I turn off reasoning?
No. GLM-5.3 always reasons. The official API supports low, high, and max reasoning effort, with max as the default. Requests that disable thinking are unsupported.
Does GLM-5.3 support images?
No. This GLM-5.3 model supports text input and text output. The separate Flash variants have different capabilities.
How is usage priced?
BulkToken charges 80% of the official reference rates (20% off). See the model pricing for applicable token categories. See the Pricing section for current rates.
What changes when moving from GLM-5.2?
Use model ID glm-5.3 and remove any setting that disables thinking. Recheck tool loops and output budgets before moving an existing workflow.
Can I use the OpenAI SDK?
Yes. Set base_url to https://bulktoken.ai/v1, use your BulkToken API key, and select glm-5.3.
Does function calling run tools automatically?
No. Your application executes the requested tool and sends its result back with the matching tool-call ID. Model-generated tool calls are instructions for your application, not completed actions.
Code examples
See [the GLM-5.3 integration guide](/docs/glm-5.3) for Python, Node.js, and cURL examples. Install openai for the Python example.
Python
import os
from openai import OpenAI
client = OpenAI(api_key=os.environ["BULKTOKEN_API_KEY"], base_url="https://bulktoken.ai/v1")
stream = client.chat.completions.create(
model="glm-5.3",
messages=[{"role": "user", "content": "Explain a hash table in one sentence."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
cURL
curl https://bulktoken.ai/v1/chat/completions \
-H "Authorization: Bearer $BULKTOKEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "glm-5.3", "messages": [{"role": "user", "content": "Hello!"}], "stream": true}'