OpenAI took GPT-5.6 to general availability on July 9, 2026, and the first decision it forces has nothing to do with whether to upgrade. It is a model-selection decision. The release ships as three models—gpt-5.6-sol, gpt-5.6-terra, and gpt-5.6-luna—at different points on the cost-capability curve. Pick too high and you pay Sol rates for work Terra handles well. Pick too low and your agent stalls on tasks Luna was not built for.
The names follow a system: the number marks the generation, while Sol, Terra, and Luna are durable tiers that advance on their own cadence. Our GPT-5.6 naming explainer covers that structure in depth. This guide focuses on the implementation decision: what each tier does well, where costs can spike, and how to validate the choice with your own prompts.
The 30-second answer
| Model | Price per 1M tokens | Pick it when |
|---|---|---|
gpt-5.6-sol |
$5 input / $30 output | The task is genuinely hard: agentic coding, multi-step tool orchestration, deep research |
gpt-5.6-terra |
$2.50 input / $15 output | Almost everything else; this is the production default |
gpt-5.6-luna |
$1 input / $6 output | Volume and latency rule: classification, extraction, routing, and first-pass drafts |
Terra is the sensible default. OpenAI positions it as competitive with GPT-5.5 at roughly half the price, so the model class many production apps used last month now costs less. Sol earns its premium only when your evaluation shows a measurable quality gap. Luna wins when per-token costs are multiplied across millions of requests.
All three models accept the same Responses API calls. Run the same prompt set against each tier in Apidog, compare outputs and token usage, then choose based on your workload.
What each tier is built for
All three models are live in the API for any account. Access is self-serve with no plan gating, and the model IDs come directly from OpenAI’s developer docs. Early documentation coverage reports a 1M-token context window, 128K maximum output, and a February 16, 2026 knowledge cutoff across the family. Treat those as reported figures until OpenAI’s model page confirms them for your account.
Sol: the flagship for hard problems
Sol is the deep-reasoning tier. Its launch benchmarks concentrate gains in long-horizon, agentic work. Per OpenAI, Sol scores around 53 on Agents’ Last Exam versus 46.9 for GPT-5.5, hits 88.8% on Terminal-Bench 2.1, and increases from 47.5 to 62.6 on OSWorld 2.0.
Those are launch-day claims, so validate them against your own tasks. The practical pattern is clear: planning, tool use, and error recovery improved more than routine text generation.
It is not a clean sweep. On SWE-Bench Pro, Claude Fable 5 leads at 80.3% against Sol’s 64.6%, so “flagship” does not mean “best at everything.” See the GPT-5.6 Sol benchmarks analysis for a breakdown of where the numbers look strongest and weakest.
Terra: the default for production work
Terra’s pitch is economic rather than heroic. OpenAI positions it as GPT-5.5-competitive at roughly 2x lower cost.
Start here for:
- Chat assistants
- Summarization
- Content pipelines
- Most RAG applications
- General structured-output workflows
If your product worked well on GPT-5.5, Terra is the tier to test first. Escalate only when your evaluation shows that Sol materially improves the result.
Luna: unit economics and speed
Luna is built for work where users do not need to inspect a long reasoning trace:
- Classification
- Entity extraction
- Request routing
- Tagging
- First-pass drafts
- High-volume structured output
At $1 input / $6 output, Luna costs one-fifth of Sol on both sides of the meter and is the fastest tier. Do not pay Terra rates for tasks that return a category label, an ID, or a few extracted fields.
The trap in the default
The bare alias gpt-5.6 routes to Sol.
If you use the obvious model string without explicitly selecting a tier, you get the most expensive option by default. Pin the model in every request:
{
"model": "gpt-5.6-terra",
"input": "Classify this support ticket by urgency and product area.",
"reasoning": {
"effort": "medium"
}
}
The difference compounds quickly. A service processing 50M input and 10M output tokens per month pays approximately:
| Tier | Approximate monthly cost |
|---|---|
| Terra | $275 |
| Sol | $550 |
| Luna | $110 |
The traffic is identical. The cost spread is determined by one model string.
For the full rate card, including caching discounts, see the GPT-5.6 pricing breakdown. Simon Willison’s launch write-up is also useful as an independent developer’s first pass at the release.
Match the model to your workload
Agentic coding pipeline: choose Sol
Use Sol for multi-step coding agents, tool orchestration, deep research, and long-running workflows.
The GA features are especially relevant here:
- Programmatic tool calling lets the model write JavaScript that orchestrates tool calls.
- The code runs in an isolated V8 runtime with no network access.
- Persisted reasoning carries context across turns.
When an agent takes 40 steps, a wrong decision at step 12 can waste the next 28. For these workloads, better model quality can be cheaper than retries, failed runs, and human intervention.
See the full Sol profile for more details.
Production chat assistant: choose Terra
Use Terra as the baseline for customer-facing chat.
Users usually judge latency and helpfulness, not benchmark deltas. For routine requests, they may not be able to distinguish Sol from Terra. If logs show a small set of difficult requests, route only those to Sol with a heuristic or classifier.
For example:
const model =
ticket.requiresMultiStepReasoning || ticket.requiresToolUse
? "gpt-5.6-sol"
: "gpt-5.6-terra";
Do not pay flagship rates for routine queries such as “How do I reset my password?”
High-volume document pipeline: choose Luna
Use Luna for extraction, classification, and routing pipelines, then add caching where prompts repeat.
GPT-5.6 supports explicit cache breakpoints:
{
"prompt_cache_options": {
"mode": "explicit",
"ttl": "30m"
}
}
Cache reads retain the 90% discount, writes bill at 1.25x the input rate, and cached content lives for at least 30 minutes. For extraction jobs that reuse a long system prompt across thousands of documents, Luna plus explicit caching can be in a different cost class from its siblings.
The new vision detail settings, original and auto, also preserve source image dimensions, which matters when extracting fields from scans.
Effort levels change the math
The model tier is only half the decision. GPT-5.6 exposes six reasoning effort levels on every tier:
none
low
medium
high
xhigh
max
This creates a model-and-effort grid. The useful comparison is often not Sol versus Terra at the same setting. Test combinations such as:
- Terra at
high - Sol at
medium - Luna at
medium
Terra with more reasoning time can close much of the quality gap at half the token price. Whether it closes enough of the gap for your workload is an evaluation question, not a spec-sheet question.
OpenAI’s migration guidance points in the same direction: treat migration as a tuning pass, not just a model-slug swap.
A practical test plan:
- Start with your current effort level.
- Test one level lower and one level higher.
- Compare output quality, latency, and token usage.
- Change model tiers only after checking whether effort tuning solves the problem.
GPT-5.6 also produces shorter answers with fewer generic introductions. Remove inherited “be concise” boilerplate from older prompts if outputs become too terse.
For quality-first work where you prefer waiting over re-running, enable pro mode:
{
"reasoning": {
"mode": "pro"
}
}
Pro mode is available across Sol, Terra, and Luna. It is a setting, not a separate model.
Test all three before you commit
The best model is the one that wins on your prompts. Benchmarks measure vendor tasks; production traffic does not.
Use this evaluation workflow:
- Collect 10 to 20 real tasks from production logs, including difficult failures.
- Download Apidog.
- Save the OpenAI base URL and API key once.
- Define a
modelenvironment variable. - Use one request definition for every tier.
- Run the same prompt set with each model.
- Compare output quality, latency, and the
usagetoken counts from each response. - Multiply token counts by each tier’s pricing to calculate cost per task.
For example, make the model configurable:
{
"model": "{{model}}",
"input": "{{prompt}}",
"reasoning": {
"effort": "{{reasoning_effort}}"
}
}
Then run the request with:
gpt-5.6-sol
gpt-5.6-terra
gpt-5.6-luna
Two patterns commonly appear:
- Terra matches Sol on more tasks than the price difference suggests.
- Luna handles structured-output tasks—especially classify-and-extract workflows—more often than its price suggests.
Your evaluation reveals where those patterns stop holding.
Where ultra fits
Ultra is not an API model ID. It is a multi-agent setting that runs four agents in parallel by default, deliberately spending more tokens in exchange for faster wall-clock results on hard problems.
Per OpenAI, ultra increases Sol’s Terminal-Bench 2.1 score from 88.8% to 91.9%.
Availability is plan-gated on the product side. Ultra is available in ChatGPT Work on Pro and Enterprise plans, and in Codex from Plus upward. The chat product has its own tier map, according to OpenAI’s help center:
| ChatGPT plan | GPT-5.6 access |
|---|---|
| Free / Go | Terra |
| Plus | Sol, Terra, and Luna with per-model effort control; Sol starts at medium effort |
| Pro / Business / Enterprise | All of the above, plus Sol Pro |
| ChatGPT Work (Pro / Enterprise), Codex (Plus and up) | Ultra |
If your parallel-agent workload runs in code rather than chat, watch the multi-agent beta in the Responses API. It is the API-side sibling of the same idea.
FAQ
Is gpt-5.6-terra good enough to replace GPT-5.5 in production?
For most workloads, yes. OpenAI positions Terra as competitive with GPT-5.5 at roughly half the price, and the shared Responses API surface makes switching low-risk.
Run your evaluations before cutting over. Also monitor output length, since GPT-5.6 responses are shorter by design.
What happens if I call the bare gpt-5.6 alias?
Your request routes to Sol and bills at Sol rates: $5 per 1M input tokens and $30 per 1M output tokens.
Nothing fails at runtime, which is why this is easy to miss. Pin gpt-5.6-terra or gpt-5.6-luna explicitly wherever a lower-cost tier is sufficient.
Can I switch tiers without changing my integration?
Yes. Sol, Terra, and Luna share the same Responses API surface, so switching is a one-line model-string change. Effort levels and pro mode work across all three tiers.
See the guide on how to use the GPT-5.6 API for the request shape end to end.
Do I need a specific ChatGPT plan to use these models in the API?
No. API access is self-serve for any API account, with no plan gating on any of the three models.
ChatGPT plan tiers apply only to the chat product. Ultra is the capability that remains product-side, available through ChatGPT Work and Codex rather than as an API model.
Your first hour with the tiers
Start with Terra and make the other tiers prove themselves.
- Escalate to Sol when evaluations show a quality gap worth paying double for, typically in agentic and long-horizon work.
- Downshift to Luna when outputs are short and request volume is high.
- Pin explicit model IDs everywhere so the Sol-by-default alias never chooses for you.
- Tune reasoning effort before changing tiers. Terra at
highcan be the cheapest quality upgrade in the lineup.
Then measure. Load ten difficult production prompts into Apidog, run one request against all three model IDs through an environment variable, and compare token counts, latency, and output quality. That small evaluation can settle a decision that compounds in your API bill every month.


Top comments (0)