Skip to main content
Reasoning models perform internal thinking before producing an answer. They are significantly stronger at math, code, planning and logic problems than ordinary models, but with higher latency and cost.

Supported models

OpenAI

Via model ID

Via parameter (Responses API)

Notes:
  • Reasoning models do not support some parameters like temperature, top_p, presence_penalty.
  • Use max_completion_tokens (new) rather than max_tokens.
  • reasoning_tokens are invisible but billed — be sure to leave enough budget.

Claude

  • budget_tokens: the thinking budget ceiling, typically 1024-32000.
  • Thinking blocks are visible by default — unlike OpenAI, you can read the reasoning process.
  • Billing: thinking_tokens are billed additionally at the output price.

Gemini

Or use a preset ID:

When to use a reasoning model

✅ Good for

  • Math proofs, complex logic problems
  • Code refactoring, bug localization
  • Multi-step planning, agent decisions
  • Long-document analysis, research reviews

❌ Not needed for

  • Ordinary Q&A, casual chat
  • Translation, summarization, rewriting
  • Simple classification, info extraction

Billing reminders

  • Reasoning tokens are not shown in content but are still billed at the output price.
  • The console log breaks out thinking / answer into two parts.
  • When setting max_completion_tokens / max_output_tokens, leave plenty of headroom (≥ 4096 recommended), or the answer may come back empty due to token exhaustion.

Streaming

Reasoning models can stream, but during the thinking phase there are no delta contents — the client sees a blank period first (possibly several seconds) before the answer starts arriving. Add a loading state in your UI. Claude / Gemini streaming can receive thinking-block deltas, enabling a “visible thinking process.”