Skip to main content
Use a current public model ID from Models or GET /models. Example IDs and options must match the selected model’s advertised capabilities and limits.
Reasoning-capable models think before they answer and expose that thinking to you. You control how hard they think, or turn it off entirely for fast, direct answers.

Reading reasoning output

Thinking arrives as reasoning_content, separate from the answer: on the message object in normal responses, and as delta.reasoning_content chunks on streams (they come before the answer tokens).

Controlling effort

Use the reasoning object, or the reasoning_effort shorthand. Higher effort can allow deeper thinking on hard problems, with more tokens and latency. Results depend on the model.
Valid efforts are minimal, low, medium, high, xhigh, and max, in that order. Check capabilities.reasoning and capabilities.supported_reasoning_efforts via GET /models. Models without reasoning ignore reasoning controls. An empty or missing supported-efforts array means the model chooses the depth; NoMask sends no effort override and does not assume any level is supported. A supported requested level is used exactly. Otherwise NoMask uses the highest supported level at or below your request, or the lowest supported level if all supported levels are higher. For example,max uses high when that is the model’s strongest supported level; it does not create an unsupported Max mode. Omitting reasoning settings keeps the model’s defaults.

Disabling reasoning

Set "reasoning": {"enabled": false}, or "reasoning_effort": "none", for direct answers with no thinking pass. Some models are flagged reasoning_always_on: they cannot stop thinking, so they ignore the disable request and tell you so in a nomask.warnings entry on the response rather than failing. An always-on model uses its lowest configured supported effort for a disable request, or its own default depth when no supported levels are configured. In chat, Off is saved on your device even when the currently selected model cannot honor it.

Reasoning and billing

Reasoning tokens are output tokens: they count inside completion_tokens and are billed at the model’s output rate. They also count against max_tokens, so give reasoning-heavy requests generous ceilings.