Skip to main content
These tokens offer insight into the model’s reasoning process, providing a transparent view of its thought steps. Since Reasoning Tokens are considered output tokens, they are billed accordingly.
Get your API key in the Requesty Console.
To enable reasoning, specify reasoning_effort with one of the supported values in your API request.

Notes

  • OpenAI does NOT share the actual reasoning tokens. You will not see them in the response.
  • Deepseek reasoning models enable reasoning automatically, you don’t need to specify anything in the request to enable that.
  • When using Deepseek and Anthropic, the reasoning content in the response will be under ‘reasoning_content’.

Reasoning effort values

Anthropic expects a specific number that sets the upper limit of thinking tokens. The limit must be less than the specified max tokens value. OpenAI models expect one of the following ‘effort’ values: Google Gemini expects a specific number when using Vertex AI, and supports OpenAI’s reasoning efforts via the Google AI Studio (their OpenAI-compatible API). Requesty introduces new ‘effort’ values: ‘max’, ‘min’, and ‘none’ to support more granular control over reasoning.

”xhigh” effort

xhigh is OpenAI’s highest reasoning effort. It is not the same as max. max is normalized to high for OpenAI models (see below), whereas xhigh is a strictly higher tier and produces more reasoning tokens. xhigh support is model-specific. Requesty passes xhigh through to OpenAI unchanged, so it works only on models that OpenAI accepts it for:
  • Works on newer reasoning models such as openai/gpt-5.3-codex and openai/gpt-5.4.
  • Not supported on openai/gpt-5-codex, which returns 400 Unsupported value: 'xhigh' is not supported... Supported values are: 'low', 'medium', and 'high'.
xhigh is available on the /v1/chat/completions and /v1/responses endpoints. It is not reachable via the Anthropic-style /v1/messages endpoint, where OpenAI reasoning effort can only be controlled through thinking.budget_tokens (which maps to low/medium/high).

“none” or “min” effort

“none” or “min” are synonyms and work with all models. For reasoning models, it either disables reasoning or uses the minimal effort for it. So, for example, “none” or “min”, would use 128 with Gemini 2.5 Pro, or 0 with Gemini 2.5 Flash.

When using OpenAI via Requesty:

  • If the client specifies a standard reasoning effort string, i.e. “low”/“medium”/“high”, Requesty forwards the same value to OpenAI.
  • If the client specifies the ‘max’ reasoning effort string, Requesty forwards the value ‘high’ to OpenAI. Note that ‘max’ is therefore equivalent to ‘high’ and is not the same as ‘xhigh’.
  • If the client specifies the ‘xhigh’ reasoning effort string, Requesty forwards it unchanged to OpenAI. This is only accepted by certain models (see the “xhigh” effort section above).
  • If the client specifies ‘none’ or ‘min’ as the reasoning effort string, Requesty will use “low”, as this is the minimal amount of reasoning the models support.
  • If the client specifies a reasoning budget string (e.g. “10000”), Requesty converts it to an effort, based on the conversion table below.
Conversion table from budget to effort:
  • 0-1024 -> “low”
  • 1025-8192 -> “medium”
  • 8193 or higher -> “high”

When using Anthropic via Requesty:

  • If the client specifies a reasoning effort string (“low”/“medium”/“high”/“max”, “min”, or “none”), Requesty converts it to a budget, based on the conversion table below.
  • If the client specifies a reasoning budget string (e.g. “10000”), Requesty passes this value to Google. If the budget is larger than the model’s maximum output tokens, it will automatically be reduced to stay within that token limit.
Conversion table from effort to budget:
  • “min” / “none” / “low” -> 1024
  • “medium” -> 8192
  • “high” -> 16384
  • “max” -> max output tokens for model minus 1 (i.e. 63999 for Sonnet 3.7 or 4, 31999 for Opus 4)

When using Vertex AI via Requesty:

  • If the client specifies a reasoning effort string (“low”/“medium”/“high”/“max”, “min”, or “none”), Requesty converts it to a budget, based on the conversion table below.
  • If the client specifies a reasoning budget string (e.g. “10000”), Requesty passes this value to Google. If the budget is larger than the model’s maximum output tokens, it will automatically be reduced to stay within that token limit.
Conversion table from effort to budget:
  • “min” / “none” -> 0 for Gemini Flash and Flash lite, 128 for Gemini Pro models
  • “low” -> 1024
  • “medium” -> 8192
  • “high” -> 24576
  • “max” -> max output tokens for model
This conversion table is compatible with the Google AI Studio documentation.

When using Google AI Studio via Requesty:

Same as using OpenAI. See above.

Reasoning code example

For both tests, you can use either an OpenAI, Anthropic or Gemini reasoning model, for example:
  • “openai/o3-mini”
  • “anthropic/claude-sonnet-4-0”
  • “vertex/google/gemini-2.5-pro”

Javascript example using reasoning effort

Python example using reasoning budget

Last modified on July 17, 2026