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

# Reasoning parameters

> The reasoning request object and the reasoning_details it produces.

## The reasoning object

| Field | Type | Default | Notes |
| - | - | - | - |
| `enabled` | boolean | | Turn reasoning on. |
| `effort` | string | `low` | One of `low`, `medium`, `high`. How hard the model thinks. |
| `summary` | string | `auto` | One of `auto`, `concise`, `detailed`. Granularity of the returned reasoning summary. |
| `max_tokens` | integer | | Cap on reasoning tokens. |
| `exclude` | boolean | | When set, suppress reasoning details from the output. |

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "model": "z-ai/glm-5.2",
  "messages": [ { "role": "user", "content": "Plan a three-step migration." } ],
  "reasoning": { "enabled": true, "effort": "high", "summary": "detailed" }
}
```

Reasoning can also be requested with a model-ID feature suffix; the request object gives per-call control over effort and summary.

## Output

The response message carries `reasoning_details` and `usage` reports `reasoning_tokens`, billed like other tokens. Set `exclude: true` to reason without returning the details.

### reasoning\_details

| Field | Type | Notes |
| - | - | - |
| `type` | string | The kind of reasoning detail. |
| `summary` | string | The summary text for this segment. |
| `id` | string | Identifier for the segment. |
| `format` | string | The format of the detail. |
| `index` | integer | Ordering index. |

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "...",
        "reasoning_details": [
          { "type": "...", "summary": "First I considered...", "id": "...", "format": "...", "index": 0 }
        ]
      },
      "finish_reason": "stop"
    }
  ],
  "usage": { "prompt_tokens": 30, "completion_tokens": 80, "reasoning_tokens": 140, "total_tokens": 250 }
}
```

### Streaming

In a stream, `reasoning_details` arrives on deltas with a non-empty summary, in the same shape. See [Delta format](/api/api-reference/streaming-format/delta-format).

## Effort shorthand

Top-level `reasoning_effort` (`minimal`, `low`, `medium`, `high`) is accepted for OpenAI-style clients; `minimal` normalizes to `low`, and `reasoning.effort` wins when both are sent.

## Related

* [Reasoning (feature guide)](/api/features/reasoning)
* [Chat Completions API](/api/api-reference/chat-and-text/chat-completions)
* [Delta format](/api/api-reference/streaming-format/delta-format)


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