GLM 5.3
glm-5.3Use the GLM 5.3 API for chat completions. Send conversation messages and add tools on routes that support tool calling. Build an assistant that can answer questions and coordinate application actions. Compare the available provider routes, request examples, and usage prices on OpenAny.
- Published price
- From $0.985 / 1M tokens
- Billing unit
- / 1M tokens
- Context / Max output
- — / 4.1K
- Listed routes
- 2
Other parameters (19)
Result preview
Tencent · 3422ms
Response example. Run to see the actual response.
{
"id": "ec57729c-75ab-4d58-bb16-24305e482df7",
"model": "glm-5.3",
"usage": {
"total_tokens": 263,
"prompt_tokens": 13,
"completion_tokens": 250,
"prompt_tokens_details": {
"cached_tokens": 0
},
"completion_tokens_details": {
"reasoning_tokens": 213
}
},
"object": "chat.completion",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Hello! I'm your GLM model trained by Z.ai. How can I help you today? Feel free to ask any questions or share topics you'd like to discuss.",
"reasoning_content": "Let me consider how to respond to this greeting effectively.\n\nThe user has initiated contact with a simple \"hello,\" which suggests they may be testing the waters or just starting the conversation. This calls for a warm and inviting response that encourages further interaction.\n\nI should acknowledge their greeting in a friendly way and make them feel welcome to share more about what they need help with. It would be good to keep the tone approachable and professional, while also being open to various types of questions they might have.\n\nSince they haven't specified any particular topic or question, I should keep my response flexible and inviting. Perhaps I could offer some guidance on what I can assist with, while leaving the door open for them to direct the conversation.\n\nThe response should be concise yet welcoming, making it easy for them to continue the dialogue if they wish. I want to strike a balance between being helpful and not overwhelming them with too much information.\n\nLet me craft a response that is warm, professional, and open-ended - something that makes them feel comfortable sharing more about what they're looking for."
},
"finish_reason": "stop"
}
],
"created": 1787113497,
"openmodels_cost": 9944
}- Base URL
https://api.openany.si/v1- POST
/v1/chat/completions- Authentication
Authorization: Bearer $OPENANY_API_KEY
Request parameters
| Parameter | Type / range | Default value | Required | Description |
|---|---|---|---|---|
messages | array | — | Yes | The conversation messages |
model | string | — | Yes | The model to use |
do_sample | boolean | true | No | Whether to enable sampling. When true, the model uses sampling-based generation. |
frequency_penalty | number · -2 ~ 2 | 0 | No | Penalty for repeated tokens |
max_completion_tokens | integer · >= 1 | — | No | Maximum visible completion tokens |
max_tokens | integer · >= 1 | — | No | Maximum completion tokens |
n | integer · 1 ~ 128 | 1 | No | Number of choices to generate |
presence_penalty | number · -2 ~ 2 | 0 | No | Penalty for previously used tokens |
reasoning_effort | string · max | xhigh | high | medium | low | minimal | none | — | No | Controls the reasoning effort level used by the model. |
request_id | string | — | No | Client-provided request identifier for tracing and idempotency. |
response_format | object | — | No | Format constraint for the response |
route | object | — | No | OpenAny route configuration, including provider and other routing parameters |
route_mode | string | — | No | The mode for routing the request |
seed | integer | — | No | Seed for deterministic sampling |
stop | string | array | — | No | Sequences that stop generation |
stream | boolean | false | No | Whether to stream the response |
temperature | number · 0 ~ 2 | 1 | No | Sampling temperature |
thinking | object | — | No | Thinking configuration object for GLM reasoning behavior. eg: {"type": "disabled" } |
tool_choice | string | object · none | auto | required | — | No | Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool |
tool_stream | boolean | false | No | Whether to enable streaming output for tool calls. |
tools | array | — | No | Tools available to the model |
top_p | number · 0 ~ 1 | 1 | No | Nucleus sampling probability |
user_id | string | — | No | End-user identifier associated with the request. |
Request example
curl 'https://api.openany.si/v1/chat/completions' \
-H "Authorization: Bearer $OPENANY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"messages": [
{
"content": "hello",
"role": "user"
}
],
"model": "glm-5.3",
"route_mode": "balanced",
"do_sample": true,
"frequency_penalty": 0,
"n": 1,
"presence_penalty": 0,
"stream": false,
"temperature": 1,
"tool_stream": false,
"top_p": 1
}'Response example
Configured response example · not a live result
{
"id": "ec57729c-75ab-4d58-bb16-24305e482df7",
"model": "glm-5.3",
"usage": {
"total_tokens": 263,
"prompt_tokens": 13,
"completion_tokens": 250,
"prompt_tokens_details": {
"cached_tokens": 0
},
"completion_tokens_details": {
"reasoning_tokens": 213
}
},
"object": "chat.completion",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Hello! I'm your GLM model trained by Z.ai. How can I help you today? Feel free to ask any questions or share topics you'd like to discuss.",
"reasoning_content": "Let me consider how to respond to this greeting effectively.\n\nThe user has initiated contact with a simple \"hello,\" which suggests they may be testing the waters or just starting the conversation. This calls for a warm and inviting response that encourages further interaction.\n\nI should acknowledge their greeting in a friendly way and make them feel welcome to share more about what they need help with. It would be good to keep the tone approachable and professional, while also being open to various types of questions they might have.\n\nSince they haven't specified any particular topic or question, I should keep my response flexible and inviting. Perhaps I could offer some guidance on what I can assist with, while leaving the door open for them to direct the conversation.\n\nThe response should be concise yet welcoming, making it easy for them to continue the dialogue if they wish. I want to strike a balance between being helpful and not overwhelming them with too much information.\n\nLet me craft a response that is warm, professional, and open-ended - something that makes them feel comfortable sharing more about what they're looking for."
},
"finish_reason": "stop"
}
],
"created": 1787113497,
"openmodels_cost": 9944
}Error handling
400Check the model ID and request fields.429Retry with exponential backoff.5xxRetry only temporary provider failures.JSON Schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"model",
"messages"
],
"properties": {
"n": {
"type": "integer",
"default": 1,
"maximum": 128,
"minimum": 1,
"description": "Number of choices to generate"
},
"seed": {
"type": "integer",
"description": "Seed for deterministic sampling"
},
"stop": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
},
"description": "Sequences that stop generation"
},
"model": {
"type": "string",
"description": "The model to use"
},
"route": {
"type": "object",
"description": "OpenAny route configuration, including provider and other routing parameters"
},
"tools": {
"type": "array",
"items": {
"type": "object"
},
"description": "Tools available to the model"
},
"top_p": {
"type": "number",
"default": 1,
"maximum": 1,
"minimum": 0,
"description": "Nucleus sampling probability"
},
"stream": {
"type": "boolean",
"default": false,
"description": "Whether to stream the response"
},
"user_id": {
"type": "string",
"description": "End-user identifier associated with the request."
},
"messages": {
"type": "array",
"items": {
"type": "object"
},
"description": "The conversation messages"
},
"thinking": {
"type": "object",
"description": "Thinking configuration object for GLM reasoning behavior. eg: {\"type\": \"disabled\" }"
},
"do_sample": {
"type": "boolean",
"default": true,
"description": "Whether to enable sampling. When true, the model uses sampling-based generation."
},
"max_tokens": {
"type": "integer",
"minimum": 1,
"description": "Maximum completion tokens"
},
"request_id": {
"type": "string",
"description": "Client-provided request identifier for tracing and idempotency."
},
"route_mode": {
"type": "string",
"description": "The mode for routing the request"
},
"temperature": {
"type": "number",
"default": 1,
"maximum": 2,
"minimum": 0,
"description": "Sampling temperature"
},
"tool_choice": {
"enum": [
"none",
"auto",
"required"
],
"type": [
"string",
"object"
],
"description": "Tool selection policy: string modes none, auto, or required, or an object selecting a specific tool"
},
"tool_stream": {
"type": "boolean",
"default": false,
"description": "Whether to enable streaming output for tool calls."
},
"response_format": {
"type": "object",
"description": "Format constraint for the response"
},
"presence_penalty": {
"type": "number",
"default": 0,
"maximum": 2,
"minimum": -2,
"description": "Penalty for previously used tokens"
},
"reasoning_effort": {
"enum": [
"max",
"xhigh",
"high",
"medium",
"low",
"minimal",
"none"
],
"type": "string",
"description": "Controls the reasoning effort level used by the model."
},
"frequency_penalty": {
"type": "number",
"default": 0,
"maximum": 2,
"minimum": -2,
"description": "Penalty for repeated tokens"
},
"max_completion_tokens": {
"type": "integer",
"minimum": 1,
"description": "Maximum visible completion tokens"
}
}
}Request example
POST /v1/chat/completionscurl 'https://api.openany.si/v1/chat/completions' \
-H "Authorization: Bearer $OPENANY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"messages": [
{
"content": "hello",
"role": "user"
}
],
"model": "glm-5.3",
"route_mode": "balanced",
"do_sample": true,
"frequency_penalty": 0,
"n": 1,
"presence_penalty": 0,
"stream": false,
"temperature": 1,
"tool_stream": false,
"top_p": 1
}'Model API questions
How do I call GLM 5.3 through OpenAny?
Use model ID glm-5.3 with an OpenAny key and the operation published in this model's API tab. The model API base is https://api.openany.si/v1. Confirm the protocol and request schema; model availability does not imply every OpenAI API operation is supported.
How is GLM 5.3 billed?
Compare the published rate and billing unit of the selected provider route. Input, output and cache token rates may differ. Image, audio and video models can use other units. Recorded usage determines the charge under that route's billing contract.
Are Community and Verified routes the same as an official publisher API?
No. Inspect the provider name and supply classification for the specific route. A marketplace listing or a supply label is not a claim of publisher endorsement, identical service or measured uptime. Different route prices may reflect different supply and conditions.
Where do these prices come from, and when were they updated?
Rates come from the provider routes in OpenAny's public model catalog, not an independent quote from the model publisher. The catalog does not supply a price update timestamp. A page or catalog snapshot date is not a price revision date. Compare supply, billing units, tiers and conditions; a lower listed rate alone does not establish equivalent service or explain the price difference.
Use GLM 5.3 with your agent
Inspect endpoint contracts and confirm availability and pricing before a paid call.