> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lithosai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# GLM-5.3-Flash

> Model IDs, limits, thinking behavior and supported parameters for GLM-5.3-Flash.

## Model IDs

| Model ID |
| - |
| `zai-org/GLM-5.3-Flash` |
| `zai-org/GLM-5.3-Flash-ultra` |

Both IDs serve the same model and accept the same parameters. Each ID has its own rates
and [rate limits](https://docs.lithosai.com/rate-limits.md), listed on the [Models](https://console.lithosai.cloud/models)
and [Limits](https://console.lithosai.cloud/limits) pages.

## Limits

| Limit | Tokens |
| - | - |
| Context length | 1,048,576 |
| Max output | 131,072 |

The context length covers the input and `max_tokens` together. A request whose input plus
`max_tokens` exceeds it returns 400. A `max_tokens` above 131,072 is accepted, but output
stops at 131,072 tokens.

## Thinking

GLM-5.3-Flash always thinks, and thinking cannot be turned off. `"reasoning_effort": "none"` and
`"thinking": {"type": "disabled"}` are not supported for this model, so don't send them.

`reasoning_effort` accepts `minimal`, `low`, `medium`, `high`, `xhigh` and `max`. Any other
value returns 400.

The reasoning arrives in `message.reasoning_content`, or in `delta.reasoning_content` when
streaming, separate from `content`. `usage.completion_tokens_details.reasoning_tokens`
counts it. Reasoning tokens are part of `completion_tokens` and are billed as output.

`max_tokens` covers the reasoning and the answer together. If the reasoning uses the whole
budget, the response ends with `finish_reason: "length"` and an empty `content`. Stop
sequences are matched in the reasoning too, so a match there ends the response before the
answer starts.

## Parameters

| Parameter | Notes |
| - | - |
| `max_tokens`, `max_completion_tokens` | Cover reasoning and answer together. |
| `temperature` | 0 to 2. |
| `top_p` | Greater than 0, up to 1. |
| `top_k`, `presence_penalty`, `frequency_penalty` | Accepted. |
| `stop` | Also matched in the reasoning. |
| `seed` | Accepted, but does not make output reproducible. |
| `stream`, `stream_options` | Every stream ends with a usage chunk, with or without `include_usage`. |
| `tools`, `tool_choice` | `auto`, `required`, `none` or a named function. |
| `response_format` | `text`, `json_object` and `json_schema`. |
| `reasoning_effort` | See [Thinking](#thinking). |
| `user` | Accepted. |

These return 400:

| Parameter | `error.code` | `error.message` |
| - | - | - |
| `n` other than `1` | `unsupported_n` | `n must be 1` |
| `logprobs`, even `false` | `unsupported_parameter` | ``the parameter `logprobs` is not supported`` |
| `top_logprobs` | `unsupported_parameter` | ``the parameter `top_logprobs` is not supported`` |
| `logit_bias` | `unsupported_parameter` | ``the parameter `logit_bias` is not supported`` |
| Fields the API does not define, such as `chat_template_kwargs` | `unknown_parameter` | `unrecognized request argument supplied: chat_template_kwargs` |

```json theme={null}
{
  "error": {
    "message": "the parameter `logprobs` is not supported",
    "type": "invalid_request_error",
    "param": null,
    "code": "unsupported_parameter"
  }
}
```

Out-of-range values, such as `temperature: 3` or `top_p: 0`, also return 400.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.