Basic Reasoning Request
Pass areasoning object with an effort field to control how much the model thinks before responding:
Reasoning Response
When reasoning is enabled, theoutput array includes a reasoning item with the model’s internal thinking, followed by a message item with the visible response:
The
encrypted_content field contains an opaque token that can be passed back in multi-turn conversations so the model can reference its previous reasoning. Use include: ["reasoning.encrypted_content"] to receive it.Reasoning with Tool Calling
When reasoning is combined with tool calling, the model thinks first (producing areasoning item), then calls the tool (producing a function_call item):
Response — Reasoning + Tool Call
Multi-Turn with Reasoning
After executing the tool, pass back the reasoning item, function call, and tool result in theinput array. The model uses its previous reasoning context to generate the final answer:
Turn 2 Response — Final Answer
Effort Levels
Thereasoning.effort parameter guides how many reasoning tokens the model generates before responding. The default is medium.
| Value | Description |
|---|---|
"low" | Favors speed and economical token usage |
"medium" | Balanced between speed and reasoning accuracy (default) |
"high" | Favors more complete reasoning for complex tasks |
"xhigh" | Maximum reasoning depth — allocates the largest portion of tokens for thinking |
Reasoning Summaries
Thereasoning.summary field is part of the OpenAI Responses API spec and is accepted by the API. Support varies by model — when supported, setting it causes the output array to include a reasoning item before the message item containing a human-readable summary of the model’s internal thinking.
| Value | Description |
|---|---|
"auto" | Uses the most detailed summarizer available (recommended) |
"detailed" | Full step-by-step reasoning summary |
"concise" | A shorter, high-level summary of the reasoning process |
reasoning.summary is not currently supported by blackboxai/openai/gpt-5.3-codex. When unsupported, the field is accepted but ignored — the response returns only the message output item.reasoning.summary, the output array contains a reasoning item before the message:
Token Usage
Reasoning tokens are generated internally and are not visible in the response, but they are billed as output tokens and appear inusage.output_tokens_details:
Handling Incomplete Responses
If the model runs out of token budget while reasoning, it may returnstatus: incomplete — or in some cases return status: completed with an empty output_text when all tokens were consumed by internal reasoning. Reserve enough tokens for both reasoning and the visible output to avoid this.
Request Parameters
Configures reasoning behavior for the model.
Maximum number of tokens to generate in the response, including reasoning tokens. Increase this when using higher effort levels to avoid incomplete responses.
Next Steps
Text Generation
Learn the basics of the Responses API
Tool Calling
Combine reasoning with tool calls for complex agentic workflows
Best Practices
Preserve reasoning signatures across turns and avoid common errors