Skip to main content
IO Intelligence supports models that can “think” before answering — exposing their step-by-step reasoning alongside the final response. You control this behavior with a single, OpenAI-compatible reasoning field on every chat completion request.

Enable or disable reasoning

Add a reasoning 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 in choices[0].message.reasoning_content, and reasoning tokens are reported in usage.completion_tokens_details.reasoning_tokens:
When reasoning is disabled ("effort": "none"):
  • reasoning_content is null or omitted
  • reasoning_tokens is 0 (or near-zero for models that always think internally)
  • The visible answer is in content only

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 reasoning field 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

No. Use reasoning.effort everywhere, IO Intelligence handles the rest.
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.
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.
Yes. Reasoning happens before tool selection; the chain of thought explains why the model chose a particular tool call.