OpenAI: Migrating to GPT-5.6
Use this guide when you are preparing existing OpenAI traffic for GPT-5.6. GPT-5.6 is the current OpenAI GPT family for complex production workflows. In AI Stats, the fixed tier IDs map to the OpenAI model IDsgpt-5.6-sol, gpt-5.6-terra, and gpt-5.6-luna.
Choose the right GPT-5.6 model
| Model | Use it for | Reasoning effort |
|---|---|---|
openai/gpt-5.6-sol | Highest-capability reasoning, agentic coding, scientific analysis, and complex professional work | none, low, medium, high, xhigh, max |
openai/gpt-5.6-terra | Balanced everyday work across reasoning, coding, and assistant workflows | none, low, medium, high, xhigh, max |
openai/gpt-5.6-luna | Lower-latency and cost-sensitive GPT-5.6 workloads | none, low, medium, high, xhigh, max |
gpt-5.6 alias routes to gpt-5.6-sol. In AI Stats, use openai/gpt-5.6 or openai/gpt-sol-latest when you want that Sol-tier default, and use the fixed tier IDs for controlled routing.
AI Stats also tracks tier aliases for the latest model in each tier: openai/gpt-sol-latest, openai/gpt-terra-latest, and openai/gpt-luna-latest. Use the fixed GPT-5.6 IDs for controlled migrations, and use the tier aliases only when you deliberately want future Sol, Terra, or Luna releases to roll forward through the same route.
What changed
- GPT-5.6 adds the new Sol/Terra/Luna split instead of one default GPT route.
- All three GPT-5.6 tiers support
reasoning.effort: "max"for the highest reasoning budget. - GPT-5.6 supports
reasoning.mode: "pro"without switching to a separate Pro model slug. - GPT-5.6 adds persisted reasoning controls through
reasoning.context. - GPT-5.6 adds beta multi-agent support and Programmatic Tool Calling for eligible tool-heavy workflows.
- Prompt caching is priced with separate uncached input, cache read, cache write, and output meters.
- Explicit prompt caching is supported through
prompt_cache_options; OpenAI currently recommendsprompt_cache_options.ttlinstead ofprompt_cache_retention.
Update your request
Start by swapping only the model id and keeping the rest of the request stable. The first examples use the Responses API-styleinput shape. If you are migrating Chat Completions traffic, keep using messages and the flat reasoning_effort field where the route supports it.
max effort only for routes where the extra reasoning budget is worth the latency and cost.
reasoning_effort where the route supports it:
Review pricing
GPT-5.6 pricing is tracked per 1M tokens in the catalog.| Model | Input | Cache read | Cache write | Output |
|---|---|---|---|---|
| Sol | $5.00 | $0.50 | $6.25 | $30.00 |
| Terra | $2.50 | $0.25 | $3.125 | $15.00 |
| Luna | $1.00 | $0.10 | $1.25 | $6.00 |
Use prompt caching deliberately
For repeated context, keep the stable part of the prompt in cacheable blocks and leave request-specific text uncached.cache_control when you want provider-neutral cache hints or explicit cache breakpoints. Use prompt_cache_options when you want to pass OpenAI cache mode and TTL options directly.
What to test
Reasoning and output quality
- Sol, Terra, and Luna at the effort levels you expect to expose to users, including
maxwhere quality-first workflows justify it - standard mode versus
reasoning.mode: "pro"on difficult tasks where quality matters more than latency - structured outputs and schema pass rate at each effort level
- tool-call selection and argument quality
Cost and latency
- latency at each reasoning effort
- output token growth when moving from older GPT-5.x models
- cache read/write mix on repeated prompts
- cost per successful task, not just price per token
Rollback
- keep your previous GPT-5.x route available as a fallback
- keep
maxbehind a config flag or preset until it is proven on production-like prompts - monitor cache write volume separately from cache read volume
- move GPT-5.6 into default routing only after your own evals confirm task success, cost, and latency