Tool Reviews

GPT-5.6 Sol vs Terra vs Luna: Current Prices and Routing

Compare GPT-5.6 Sol, Terra, and Luna on current API prices, long-context costs, caching, and a practical job-routing framework.

  • #gpt-5-6
  • #openai
  • #api-pricing
  • #model-selection
  • #comparison

Route complex work with an expensive failure mode to GPT-5.6 Sol, balanced production work to Terra, and high-volume work with a mechanical check to Luna. When a task does not clearly fit, start on Terra. Promote it to Sol because observed failures are costly, or demote it to Luna because the output can be verified cheaply.

The model decision should be made per job type, not once for an entire product. The same application can use Sol for architecture, Terra for scoped implementation, and Luna for classification. That is the central advantage of the family, and the easiest way to avoid paying flagship prices for work that does not need flagship judgment.

Current API prices

Prices below are standard-processing rates in US dollars per one million text tokens. OpenAI reduced Terra and Luna prices on July 30, 2026. On August 21, it also announced a three-month reduction in GPT-5.6 Sol API and credit pricing. Recheck Sol when that temporary period ends.

ItemGPT-5.6 SolGPT-5.6 TerraGPT-5.6 LunaPrimary sourceChecked
Model IDgpt-5.6-sol; the gpt-5.6 alias points to Solgpt-5.6-terragpt-5.6-lunaOpenAI model comparison2026-08-24
Input$4.00$2.00$0.20OpenAI model comparison2026-08-24
Cached input$0.40$0.20$0.02OpenAI model comparison2026-08-24
Output$20.00$12.00$1.20OpenAI model comparison2026-08-24
Cache writes$5.00, or 1.25x uncached input$2.50, or 1.25x uncached input$0.25, or 1.25x uncached inputGPT-5.6 announcement2026-08-24
Context window1,050,000 tokens1,050,000 tokens1,050,000 tokensOpenAI model comparison2026-08-24
Maximum output128,000 tokens128,000 tokens128,000 tokensOpenAI model comparison2026-08-24
Knowledge cutoff2026-02-162026-02-162026-02-16OpenAI model comparison2026-08-24
Requests above 272K input2x input and 1.5x output for the entire request2x input and 1.5x output for the entire request2x input and 1.5x output for the entire requestSol, Terra, and Luna2026-08-24
OpenAI positioningFrontier model for complex professional workBalance of intelligence and costCost-sensitive, high-volume workloadsOpenAI model catalog2026-08-24

A context window is like the amount of desk space available for the job. A larger desk can hold more documents, but it does not guarantee a better analysis or a lower bill. All three models expose the same maximum window; their price and intended workload differ.

OpenAI pages can update at different times. During this review, the live comparison page showed the current $4/$20 Sol rate while a model-specific surface still displayed the earlier price. This article uses the current comparison page as the price-table source. When official surfaces disagree, verify the billing dashboard and the latest comparison table before changing production budgets.

Decision table: route by failure cost and verifiability

The subject of this table is a task, not a user or company. Do not assign a single model to everything because one request performed well.

Job conditionStart withAdoption conditionSkip or escalate whenHow to returnBasis and checked date
The specification is ambiguous and a wrong direction would damage later workSolThe job requires constraint integration, architecture, or a consequential reviewThe output is simple and mechanically testableChange the model ID to Terra and rerun the same acceptance checksModel positioning, 2026-08-24
Requirements are fixed for implementation, document transformation, or general analysisTerraYou need a balance between capability and costA Terra error would directly affect customers, safety, or productionPromote only that failing task type to Sol; do not move all trafficModel positioning, 2026-08-24
Classification, extraction, or first-pass triage runs at high volumeLunaA schema, rule set, or sample review can detect bad outputErrors cannot be detected before external useReturn that task type to Terra and repair the validator firstModel positioning, 2026-08-24
A long source set is read once and cache reuse will be lowTerra firstYou can record total input and whether the 272K boundary is crossedThe plan assumes a large window is automatically cheapSplit or retrieve the necessary material, then return to the short-context routeTerra specification, 2026-08-24
The same long instructions or references recur across requestsTerra or Luna with cachingBilling telemetry confirms cached tokensCache reuse has not been measuredRemove the cache key and compare against normal input billingGPT-5.6 announcement, 2026-08-24
Latency has a documented business requirement and a premium is acceptableSol Fast, or Ultrafast for eligible preview usersThe account displays the price and latency is part of acceptanceThe team assumes a faster tier is more intelligentReturn to Standard and evaluate speed separately from model qualityFast mode and Ultrafast preview, 2026-08-24
A high-risk action has neither human review nor an automated checkDo not automate it yetAn approver, rollback path, and audit record existThe plan relies on a stronger model to justify no supervisionReturn to a human approval step and stop automatic executionModel positioning, 2026-08-24

Sol is justified when the cost of correcting a bad decision is materially larger than the token-price difference. Luna is justified when an incorrect result can be detected and retried before it causes harm. Terra is the starting point for work that has not yet earned either exception.

This framework also prevents a common routing mistake: promoting the whole product because one hard request failed. Record the failed task class, for example, cross-service architecture or ambiguous incident analysis, and promote that class. Routine extraction in the same product can remain on Luna.

Convert token prices into the unit your workflow uses

API cost combines uncached input, cached input, cache writes, output, and any separately priced tool calls. For short-context text usage, the starting formula is:

cost = input tokens / 1,000,000 * input rate + cached input / 1,000,000 * cached rate + output tokens / 1,000,000 * output rate

For GPT-5.6, writing a new cache is billed at 1.25 times uncached input. A cache is closer to buying a reusable pass than receiving an automatic discount. It helps when later requests reuse the same prefix. A prompt that changes on every call can pay for cache writes without accumulating useful reads.

Track cache behavior using the usage fields exposed by the relevant API response and the billing export. A high-level “cache enabled” flag is not evidence that the workload is saving money. The evidence is a stable prefix, recorded cache reads, and a lower observed cost for the same job type.

Long context creates another discontinuity. Above 272K input tokens, the model pages state that the higher input and output multipliers apply to the full request, not only the tokens beyond the threshold. Before sending an entire repository or document collection, consider this order:

  1. Retrieve only the relevant sections.
  2. Split independent chapters or files into bounded calls.
  3. Keep a reusable prefix stable when repeated access is likely.
  4. Send the full context only when the task genuinely requires cross-document reasoning.

The million-token window is capability headroom, not a recommendation to fill every request.

Build routing rules from your own acceptance tests

This article does not contain a controlled benchmark of quality or latency across the three models. Use the following process to create a routing policy from your workload.

  1. Divide work into units with the same expected output, such as architecture, implementation, extraction, and classification.
  2. Select representative cases for each unit, including difficult cases and cases where failure must be caught. Do not add personal data or secrets merely to make the evaluation realistic.
  3. Define acceptance before running a model. Use tests for code, a schema for extraction, a label set for classification, or required claims and citations for prose.
  4. Run Terra first. Record the model, input tokens, cached tokens, output tokens, pass or fail result, and reason for any correction.
  5. Send only high-impact failures to Sol. The expected result is a written condition describing which task types earn the promotion.
  6. Send passing, mechanically verifiable task types to Luna. The expected result is a list of jobs that still pass the same checks at the lower rate.
  7. If all three fail, stop escalating and inspect the specification, reference material, validator, or the decision to automate.
  8. Re-run the saved cases after meaningful model or price updates.

The acceptance rule should describe a failure the system can act on. “The answer felt weaker” is not enough. “A required field was missing,” “the test failed,” or “the cited source did not support the claim” can drive a routing decision.

For high-impact changes, model selection never replaces approval. A Sol-generated database migration, access-control change, purchase, message, or deletion still needs the same deterministic checks and human gate as output from Terra or Luna.

Where Sol fits

Start Sol on jobs that combine constraints whose interactions are hard to specify, such as architecture across services, ambiguous debugging, consequential review, or long-horizon planning. These tasks can justify the higher rate when a shallow answer creates substantial rework.

Sol is harder to justify for format conversion, template completion, bulk routine prose, or any task whose full acceptance can be expressed as a cheap deterministic check. A higher output price should not be spent on length alone.

OpenAI’s August 21 price update describes the Sol reduction as lasting three months. The reviewed material did not provide an exact end timestamp or a confirmed post-promotion rate. Do not hard-code the temporary price into an annual forecast. Store prices in configuration and schedule a review before the promotion expires.

Where Terra fits

Terra is the default candidate for jobs with a written specification: scoped feature work, structured research, document organization, and transformations with a defined result. “Default” does not mean “no validation.” If the team cannot state what success looks like, the missing piece is the task specification rather than a more expensive model.

Use the current $2 input and $12 output rates rather than a pre-July 30 price. OpenAI also says Terra and Luna now consume fewer credits in ChatGPT Work and Codex, while subscription prices and quota budgets remain unchanged. Subscription credit accounting and direct API token billing are related but not interchangeable; confirm the surface where the work actually runs.

Where Luna fits

At $0.20 input and $1.20 output, Luna is the lowest-priced model in this comparison. Good candidates include label classification, bounded extraction, duplicate-candidate screening, catalog enrichment, and the first pass over search results.

Each candidate needs a return path. Reject labels outside the allowed set, detect missing required fields, preserve a link to the source record, and route failures to Terra or a human queue. Without that gate, Luna’s low unit cost can finance a large volume of errors.

Cheap generation is not permission to publish unreviewed content. Any output that can trigger an external message, production change, deletion, payment, or permission update requires an approval boundary regardless of the model.

Fast and Ultrafast are separate decisions

OpenAI describes Sol Fast mode as twice the Standard price and announced Ultrafast on August 13 as a limited preview for selected customers. These tiers change processing speed, not the underlying intelligence claim used for the routing table.

The Ultrafast announcement reviewed here did not publish a general price or permanent availability terms. If the account is not in the preview or does not display the applicable price, do not include Ultrafast in a production budget. Standard remains the clean fallback.

The practical answer

Start new task types on Terra. Move mechanically checked, low-consequence work to Luna. Move expensive, observed Terra failures to Sol. Store that decision as a routing rule with an acceptance test and a rollback, rather than assigning one model to an entire application.

The reviewed official material did not establish the exact end timestamp or post-promotion price for Sol, a public permanent Ultrafast price, or the quality and latency differences on your workload. Those are account- and task-specific checks, not values this article can supply.

Official primary sources