GPT-5 Thinking Mode
This page only documents GPT reasoning behavior that was revalidated against Crazyrouter production on2026-03-22.
The current primary example uses:
gpt-5.4POST /v1/responses
Claude does not currently support
POST /v1/responses. If you are integrating Claude, use POST /v1/messages or POST /v1/chat/completions instead of the request shape on this page.Basic usage
Verified response shape
Verifiedoutput.type values:
reasoning item shape:
message item:
reasoning parameter
| Field | Type | Description |
|---|---|---|
effort | string | Reasoning intensity. Verified values include low, medium, and high |
summary | string | Summary granularity. concise and detailed were revalidated |
Practical rule
- If you only want stronger reasoning, send
effort - If you need an inspectable reasoning summary, send both
effortandsummary
- with only
effort, thereasoningitem existed butsummarycould be an empty array - with
summary: "detailed",summary_textwas returned reliably
Extract the thinking summary
Python
Streaming thinking
The following Responses SSE event names were revalidated in production:response.reasoning_summary_part.addedresponse.reasoning_summary_text.deltaresponse.reasoning_summary_text.doneresponse.output_text.deltaresponse.output_text.doneresponse.completed
Python
Current recommendation
- If you need a visible reasoning field, prefer
gpt-5.4with the Responses API - Do not treat
gpt-5.4Chat Completionsreasoning_contentas the current primary contract - If you only care about the final answer, Chat Completions with
reasoning_effortis still fine