reasoning object,
and choose whether the reasoning text comes back. A model supports it when its
supported_features in GET /v1/models include reasoning; other
models ignore the parameter.
Set the effort
effort is one of none, minimal, low, medium, high, xhigh, or max. The OpenAI-style
reasoning_effort field is accepted as an alias; if both are sent they must match.
Instead of an effort, reasoning.max_tokens sets a token budget for thinking. The two are
mutually exclusive, and a model that cannot express a budget returns 400.
Read or hide the reasoning
Models that return their reasoning put it inmessage.reasoning_content, or
delta.reasoning_content while streaming. OpenAI models return no reasoning text. Either way,
usage.completion_tokens_details.reasoning_tokens counts the thinking, and it is billed as
completion tokens.
To keep the reasoning out of the response, send "reasoning": {"exclude": true} or
"include_reasoning": false. The tokens are still generated and billed.