Skip to main content
Reasoning models think through a problem before they answer. The reasoning_effort parameter controls how much thinking a model does. Higher effort improves quality on hard problems and uses more tokens and increases latency.

Set a reasoning effort

Pass reasoning_effort on a chat completion request:

Effort levels

The full set of levels is none, minimal, low, medium, high, xhigh, and max. none disables reasoning. Each model supports a subset: You can also discover support programmatically. GET /v1/models returns context_length and max_completion_tokens when the platform knows them, and a reasoning_efforts array when the catalog declares the model’s levels:
On OpenAI and Anthropic models, the API rejects an unsupported level before dispatch with a 400 that names the valid values. Other models forward the request, and the serving engine decides:
gpt-4o and gpt-4.1 accept reasoning_effort and ignore it. They are not reasoning models, so usage.completion_tokens_details.reasoning_tokens is always 0.

Anthropic models: max_tokens must exceed the thinking budget

On Anthropic models, each effort level reserves a thinking budget, and that budget counts toward max_tokens. Your max_tokens (or max_completion_tokens) must be strictly greater than the budget for the level you request: For example, reasoning_effort: "xhigh" with max_tokens: 2000 fails, because the 8,192-token budget does not fit. The API rejects it with a 400 that names both numbers:
Set max_tokens to the budget plus the visible output you want. max_tokens: 20000 leaves room for every level.
Do not send Anthropic’s native thinking parameter to /v1/chat/completions. This endpoint does not map or validate it. Use reasoning_effort instead; the gateway maps it to a thinking budget for you.

Where reasoning appears in the response

Models differ in whether they return the reasoning text:
  • Anthropic models and glm-5.2 return the reasoning text in reasoning_content on the message.
  • OpenAI models do not return reasoning text. You only see the count in usage.completion_tokens_details.reasoning_tokens.
Reasoning tokens bill at the model’s reasoning rate. See each model’s page for rates.

Verbosity

The verbosity parameter (low, medium, or high) controls how long the visible answer is, independent of how much the model thinks. Only the gpt-5 family supports it.

Notes

  • reasoning: {"enabled": false} is accepted as a no-op on models served on the Inference.net cluster. Use reasoning_effort: "none" to disable reasoning.
  • Request keys outside the documented schema pass through to the upstream provider without validation. A typo in a parameter name fails at the provider, not at the gateway.