Model selection guide · verified September 27, 2026
GPT-5.6 Sol vs Terra vs Luna: Which Model Should You Use?
Choose GPT-5.6 Sol, Terra, or Luna by task, latency, cost, context, tools, and the reasoning effort your workflow actually needs.
There is no universal winner between GPT-5.6 Sol, Terra, and Luna. The practical choice is a routing decision: use the model whose capability, speed, and cost fit the consequence of the task. Sol is the flagship for difficult professional work; Terra balances intelligence and cost; Luna is aimed at efficient, high-volume workloads. Those labels come from OpenAI's current API guidance, not from a claim that one model will win every prompt.
This distinction matters because a model name is only one part of a reliable workflow. Input quality, tool permissions, reasoning effort, retrieval, output validation, and a human approval step can matter as much as the model tier. The goal of this guide is to help you choose deliberately and then make the choice measurable inside your own work.
The short answer
- Choose Sol for complex coding, multi-step analysis, high-stakes drafting, difficult tool coordination, and tasks where failure is expensive.
- Choose Terra for everyday business writing, structured extraction, routine coding assistance, research synthesis with sources, and mixed workloads where quality and spend both matter.
- Choose Luna for classification, routing, first drafts, high-volume transformations, simple extraction, and interactive features where low cost or response time is the constraint.
These are starting points, not performance guarantees. Before committing, run a small evaluation using your own representative inputs, a fixed rubric, and the same downstream checks for every model.
At-a-glance comparison
| Question | Sol | Terra | Luna |
|---|---|---|---|
| Positioning | Flagship capability | Balance of intelligence and cost | Efficient, high-volume work |
| API ID | gpt-5.6-sol | gpt-5.6-terra | gpt-5.6-luna |
| Input / output per 1M tokens | $4 / $20 | $2 / $12 | $0.20 / $1.20 |
| Reasoning effort | none through max | none through max | Check the current model page |
| Context / max output | 1.05M / 128K | 1.05M / 128K | 1.05M / 128K |
Pricing and limits above are transcribed from the current OpenAI Models pages. Recheck them before publishing a quote, because model prices and availability are changeable.
A five-question decision framework
1. What happens if the answer is wrong?
For a low-consequence support-label suggestion, Luna may be a sensible first pass. For a migration plan, security review, contract summary, or code change, the cost of a plausible mistake is higher. Use Sol or Terra, provide the relevant source material, and make the model show assumptions and unresolved questions. A stronger model does not remove the need for review; it gives the reviewer a more useful starting point.
2. Is the task open-ended or repetitive?
Open-ended tasks need judgment: define a strategy, reconcile conflicting documents, trace a bug across modules, or plan a sequence of tool calls. Repetitive tasks have a stable shape: classify an email, extract fields, normalise a row, or rewrite a short snippet to a fixed schema. Start with Sol or Terra for the former and benchmark Luna for the latter. If Luna produces acceptable results under a deterministic validator, the lower price can be meaningful at volume.
3. How much context must the workflow carry?
OpenAI lists a 1.05M-token context window and 128K maximum output on the current model pages, but a large context window is not a reason to paste everything. Build a source packet: include the files, sections, definitions, and constraints that affect the answer; identify what is missing; and ask for citations back to the packet. Long context increases the opportunity for irrelevant or conflicting material to influence an answer.
4. Do you need tools or only text?
The current model listings show the family supporting text and image input, text output, and tools such as functions, web search, file search, and computer use. Tool access is still an application decision. Grant the minimum permissions, define what the model may read or write, and require confirmation before irreversible actions. A model that can call a tool should not automatically be allowed to publish, delete, spend, or message.
5. Is latency or cost the binding constraint?
Use the official per-token prices as an input to a budget, not as a promise of total task cost. Estimate input tokens, expected output, retries, tool calls, caching, and human review. A cheaper model can become more expensive if it needs many retries or causes rework. A more capable model can be wasteful when the validator only needs a short label. Measure the whole workflow, not a single completion.
Recommended model by workflow
Software engineering
Use Sol for unfamiliar repositories, architecture changes, multi-file debugging, and a first pass over a difficult failure. Use Terra for focused implementation, tests, documentation, and routine refactors. Let Luna handle mechanical transformations only when the change is constrained and a compiler, test suite, or schema validator will catch mistakes. A practical prompt should include the repository rules, the exact files in scope, acceptance criteria, commands to run, and a request to stop before destructive actions.
You are editing a TypeScript repository.
Task: [one small change].
Read first: [files and repository instructions].
Do not change: [out-of-scope areas].
Acceptance checks: [tests, typecheck, diff check].
Before editing, list assumptions. After editing, report files changed and checks run.Research and synthesis
Use Sol when sources conflict or the question requires a careful synthesis. Use Terra for a well-defined brief with a source packet. Use Luna for first-pass tagging or extraction before a stronger model or person reviews the selected evidence. Never ask any model to turn an uncited claim into a fact. Require a source ID, quote or location, confidence, and a “not established” label when the packet does not answer the question.
Customer support
Terra is a sensible starting point for policy-grounded responses; Luna can triage and route when the categories are stable. Reserve Sol for escalations that require several policy documents or nuanced explanation. Keep the final answer inside the approved policy boundary, redact unnecessary personal data, and route exceptions to a person. Do not use model confidence language as a substitute for a real escalation rule.
Content production
Use Terra to turn a confirmed brief into variants and Luna for formatting, metadata, or internal classification. Use Sol for a complicated editorial outline, evidence conflict, or brand-sensitive revision. Keep claims, examples, and first-hand experience separate. A model can draft a useful structure without having conducted the research or used the product.
Data extraction
Start with Luna when inputs have a stable schema and you can reject invalid JSON, missing fields, unexpected enums, and unsupported values. Escalate failed or ambiguous rows to Terra or Sol. Store the source reference alongside every extracted value. The model should not silently infer a number because a blank field would be inconvenient.
How to choose reasoning effort
OpenAI's guidance treats reasoning effort as an intentional control. Preserve the setting your current workflow already uses as a baseline, then compare one lower setting on representative tasks. That is a safer migration pattern than assuming “more” is always better. Higher effort can be useful when the task involves planning, tool coordination, competing constraints, or difficult code. Lower effort can be appropriate for short transformations and latency-sensitive interaction.
Write down what “better” means before comparing settings: factual support, schema validity, test pass rate, useful completion, latency, token spend, reviewer edits, or escalation rate. Do not compare one lucky answer. Keep prompts, input packets, model IDs, settings, and rubric versions recorded so that a later model update is not confused with a prompt change.
A practical routing pattern
- Classify the request by risk, complexity, volume, and required tools.
- Send routine, bounded work to Luna or Terra with a strict output schema.
- Escalate ambiguity, repeated validation failure, or high consequence to Terra or Sol.
- Run deterministic checks before a human sees the result: schema, citations, totals, tests, permissions, or policy rules.
- Ask a reviewer to approve the result before external publication or irreversible action.
- Record the reason for escalation and feed representative failures back into the evaluation set.
Routing should be observable. Log the model ID and reasoning effort, but avoid logging secrets or unnecessary personal data. A simple dashboard of volume, validator failures, escalations, latency, token cost, and reviewer corrections will tell you more than a general statement that one model “felt smarter.”
Migrating from an older GPT model
First freeze a small set of real inputs that represent the work: easy, normal, edge, and known-failure cases. Run the old configuration and the GPT-5.6 candidate with the same instructions and downstream checks. Start with the existing reasoning setting, then test one lower setting as OpenAI recommends. Compare useful completion, not just eloquence. Look for missing fields, invented citations, changed formatting, longer outputs, tool mistakes, and new refusal or safety behavior.
Next, split the result into “safe to migrate,” “needs prompt change,” and “needs human review.” Keep a rollback path: configuration should name the model and settings outside the prompt, and the application should be able to switch IDs without a code rewrite. Do not silently rely on the gpt-5.6 alias if your audit or cost model requires a stable target; use the full ID and record the date you verified it.
Budgeting the three tiers
At the current listed API rates, Sol costs more per token than Terra, and Terra costs more than Luna. That does not make Luna universally cheaper in practice. Add retries, output length, tool calls, failed validations, human correction, and the cost of a wrong answer. A routing table can make the trade-off explicit:
if risk === "high" || ambiguity === "high": use gpt-5.6-sol
else if volume === "high" && schemaIsStrict: try gpt-5.6-luna
else: use gpt-5.6-terra
if validationFails || sourceIsMissing: escalate and stopThis is a policy sketch, not production code. Add rate limits, retries with backoff, privacy controls, prompt-injection defenses, and an audit log before relying on it.
Common selection mistakes
- Choosing by benchmark headline instead of the failure that matters to your job.
- Using a cheap model for an irreversible action without a validator or approval step.
- Paying for Sol to perform a deterministic transformation that Luna can validate.
- Comparing models with different prompts, context packets, output limits, or tool permissions.
- Treating a model alias as a permanent version pin.
- Calling model pricing “monthly cost” when API spend is usage-based.
- Claiming a model was tested when no reproducible evaluation was run.
Build a small evaluation before routing at scale
A model choice becomes trustworthy when it is tied to examples from the real workflow. Collect a small, permission-safe set of inputs: ordinary cases, edge cases, long cases, and cases that previously failed. Remove secrets and personal data. Write the expected properties of a good answer before looking at outputs. For extraction, that may be valid fields and correct citations; for coding, tests and review findings; for writing, required facts, audience fit and unacceptable claims.
Run each candidate with the same input, instructions, tools, output limit and validation. Keep the model ID, reasoning effort, date, input version and result. Score only the dimensions that affect the decision. A simple rubric such as pass, needs review, and fail is often more useful than a single blended score because it shows why a route should escalate. Record reviewer corrections separately from model errors: a preference change is not the same as a missing fact or invalid calculation.
Do not turn a small internal evaluation into a public benchmark claim. It tells you how your workflow behaved on your selected cases at that time. It does not establish a universal ranking. Re-run the set when prompts, tools, model IDs, prices, policies, or validation rules change. If the results are close, choose the simpler or safer routing policy and make the human review boundary explicit.
Three prompts for deliberate routing
Use these as starting points and replace the brackets with your own policy. They make the model choice part of the task contract rather than a hidden default.
Model selection brief
Task: [what must be completed]
Failure cost: [low / medium / high, and why]
Input sources: [files, records, definitions]
Required tools: [none / named tools]
Output and validation: [schema, tests, citations, reviewer]
Recommend Sol, Terra, or Luna and explain the trade-off without claiming a test you did not run.Evidence-first answer
Use only the supplied sources. For every material claim, return source: [file/section].
If the sources do not establish it, write NOT ESTABLISHED.
Separate findings, interpretations, and recommended next actions.
Do not invent a number, citation, experiment, or user result.Escalation gate
Before completing the task, check: [rules].
If any check fails, stop and return: failed_check, affected_input, likely_cause, and the smallest human decision required.
Do not retry indefinitely, broaden permissions, or take an irreversible action without approval.These prompts do not make a model infallible. They make the expected evidence and stop conditions visible to the person operating the workflow.
The final checklist
- Write the task and its failure cost in one sentence.
- Choose Sol, Terra, or Luna from the task shape—not the brand name.
- Set the reasoning effort intentionally and record it.
- Provide a bounded source packet and an explicit output schema.
- Validate citations, structure, totals, code, and permissions.
- Escalate ambiguity and require human approval for consequential actions.
- Recheck the official model and pricing pages before shipping a cost claim.
Primary sources and update note
Use the OpenAI GPT-5.6 model guidance for model selection, aliases, migration and reasoning effort. Check the OpenAI Models page for IDs, limits and current prices. The ChatGPT availability article covers plan and product differences. This guide was checked on September 27, 2026; update model names, prices, access and limits before republishing.
Frequently asked questions
Which GPT-5.6 model should I start with?
Start with GPT-5.6 Terra for a balanced everyday workflow. Move to Sol when the cost of a wrong or incomplete answer is high, and move to Luna when the task is repetitive, high-volume, or latency-sensitive and the output can be checked cheaply.
Are Sol, Terra, and Luna different model IDs?
Yes. The OpenAI API guidance lists gpt-5.6-sol, gpt-5.6-terra, and gpt-5.6-luna. The gpt-5.6 alias routes to Sol according to the current model guidance, so name the full ID when predictable routing matters.
Does a cheaper model always need a lower reasoning setting?
No. Model choice and reasoning effort are separate controls. Start from the setting that matches your existing workflow, then compare one lower setting on representative inputs before changing the model.
Can I call all three models through the API?
The current OpenAI model pages list API access for Sol, Terra, and Luna. Availability, price and limits can change, so check the official model page and pricing page before budgeting a production workload.