reasoning field on every chat completion request.
Enable or disable reasoning
Add areasoning object to your /v1/chat/completions payload:
The same field works for every model that supports reasoning — no per-model configuration required.
Quickstart
Enable reasoning (curl)
Disable reasoning (curl)
Python (OpenAI SDK)
Node.js (OpenAI SDK)
Reading the response
When reasoning is enabled, the model’s chain of thought is returned inchoices[0].message.reasoning_content, and reasoning tokens are reported in usage.completion_tokens_details.reasoning_tokens:
"effort": "none"):
reasoning_contentisnullor omittedreasoning_tokensis0(or near-zero for models that always think internally)- The visible answer is in
contentonly
Streaming
Reasoning works with"stream": true as well. While the model is thinking, you’ll receive delta events with a reasoning_content field; once thinking finishes, regular content deltas follow.
Backwards compatibility
- Requests without the
reasoningfield continue to behave exactly as before. - The legacy
reasoning_effort: "low" | "medium" | "high"top-level string is still accepted.
You can safely roll out the new field at your own pace.
Errors
Models Enabled
The capability of reason enabling/disabling has been enabled for the following models:FAQs
Do I need different code for different models?
Do I need different code for different models?
No. Use
reasoning.effort everywhere, IO Intelligence handles the rest.What does each effort level cost me in tokens?
What does each effort level cost me in tokens?
Reasoning tokens are billed as completion tokens. none skips them entirely; low/medium/high each produce progressively more reasoning tokens. Exact budgets vary by model.
Can I hide the chain of thought from end users while still using it internally?
Can I hide the chain of thought from end users while still using it internally?
Yes, just don’t render
reasoning_content in your UI. It’s returned as a separate field so you can choose whether to show it.Does this work with tool calls / function calling?
Does this work with tool calls / function calling?
Yes. Reasoning happens before tool selection; the chain of thought explains why the model chose a particular tool call.