Reasoning Models
This page only documents reasoning behavior that was revalidated against Crazyrouter production on2026-03-22.
For OpenAI-compatible integrations, the current guidance is:
- If you only want stronger reasoning and only need the final answer, use Chat Completions with
reasoning_effort - If you need a stable, inspectable reasoning output, prefer the Responses API and see GPT-5 Thinking Mode
Verified combinations
| Route | Model | Request parameter | Current production behavior |
|---|---|---|---|
| Chat Completions | gpt-5.4 | reasoning_effort | Request succeeds and returns a final answer |
| Responses | gpt-5.4 | reasoning.effort / reasoning.summary | output includes reasoning and message items |
Chat Completions: reasoning_effort
The following request shape currently works in production:
cURL
reasoning_effort values:
| Value | Meaning |
|---|---|
low | Faster response for simpler tasks |
medium | Balanced default-style setting |
high | More reasoning for harder tasks |
Current response behavior
In the2026-03-22 production recheck:
- the request succeeded
- the final answer was returned in
message.content message.reasoning_contentdid not reliably contain usable content
reasoning_effort is still usable. If you need a visible reasoning summary field, do not treat Chat Completions as the primary path.
When you need inspectable reasoning output
The more reliable production path is the Responses API:cURL
output.type values:
Current recommendation
- For new builds that need to log or display reasoning summaries, start with the Responses API
- For existing Chat Completions integrations that only care about the final answer,
reasoning_effortis still a valid path - Do not assume all OpenAI-compatible reasoning models will reliably expose
reasoning_content