reasoning parameter accepts effort and summary fields. Reasoning output appears as dedicated reasoning output items separate from text content.
Prerequisites
- An Auriko API key
- Python 3.10+ with the OpenAI SDK (
pip install openai) or the Auriko SDK (pip install auriko)- OR Node.js 18+ with the OpenAI SDK (
npm install openai) or@auriko/sdk(npm install @auriko/sdk)
- OR Node.js 18+ with the OpenAI SDK (
Set reasoning effort
Set the reasoning effort level:none, minimal, low, medium, high, xhigh, max, off. Auriko normalizes these levels across providers. See Extensions and Thinking for the provider support table.
Access reasoning summaries
Request reasoning summaries with thesummary field (or its alias generate_summary):
summary array on the reasoning output item in the response. See Extensions and Thinking for which models support reasoning summaries.
Stream reasoning
Stream reasoning summary events:Map parameters
| Chat Completions | Response API |
|---|---|
reasoning_effort: "high" | reasoning: {effort: "high"} |
choices[0].message.reasoning_content | output[].type: "reasoning" with summary blocks |
reasoning_effort in extra_body (OpenAI SDK) | reasoning is a native parameter (OpenAI SDK) |
reasoning as a top-level parameter on client.responses.create(). You don’t need extra_body for reasoning in the Response API.
Preserve reasoning across turns
Include the fullreasoning output item (with encrypted_content if present) in subsequent input. Models use the encrypted content to maintain reasoning context. Omitting it starts reasoning from scratch.
await client.responses.create() and spreading response.output.
See Extensions and Thinking for effort normalization, provider support, and sampling constraints.