Compare GPT-5.6 Luna and GPT-5.6 Terra: High-Speed Speculative Model vs Balanced Workhorse
GPT-5.6 Luna vs GPT-5.6 Terra: which should I use?
Keep requests on GPT-5.6 Luna when its exact request envelope and measured SLO meet the workload requirement. Escalate to Terra only for a documented capability or quality floor, with a capped cascade and pair-specific cost inputs. Verified 2026-09-01; speed, quota, and missing failure-rate joins remain Unavailable.
Where can you find price, speed, and task evidence for GPT-5.6 Luna and GPT-5.6 Terra?
Which tasks fit GPT-5.6 Luna and GPT-5.6 Terra?
Best-fit task signals from the published model strengths; this is not a substitute for a controlled benchmark.
| Fact | GPT-5.6 Luna | GPT-5.6 Terra |
|---|---|---|
| Best fit | High-volume, latency-sensitive tasks like classification, extraction, and chat. | Everyday production workloads that need strong quality without Sol-tier pricing. |
| Reasoning mode | Unavailable | Available |
What does a Coding Agent workload cost with GPT-5.6 Luna and GPT-5.6 Terra?
Modeled for Coding Agent: 20,000 input + 2,000 output tokens per task, 1 turn. This is a workload model, not a provider quote.
| Fact | GPT-5.6 Luna | GPT-5.6 Terra |
|---|---|---|
| Coding Agent / task | $0.03 (modeled) (winner) | $0.08 (modeled) |
| Input / output rate | $1.00 / $6.00 per M | $2.50 / $15.00 per M |
How fast are GPT-5.6 Luna and GPT-5.6 Terra?
Only non-estimated benchmark results are shown as measured.
| Fact | GPT-5.6 Luna | GPT-5.6 Terra |
|---|---|---|
| Measured throughput | 126 tokens/s (winner) | 78 tokens/s |
| Time to first token | 300 ms | 380 ms |
How compatible are GPT-5.6 Luna and GPT-5.6 Terra with APIs?
Provider-level wire-format and SDK facts; model-specific parameter differences may still apply.
| Fact | GPT-5.6 Luna | GPT-5.6 Terra |
|---|---|---|
| OpenAI SDK | Usable | Usable |
| Request shape | Canonical /chat/completions and /responses shape — every OpenAI-compatible provider on this site imitates it. | Canonical /chat/completions and /responses shape — every OpenAI-compatible provider on this site imitates it. |
| Streaming | SSE (OpenAI delta) | SSE (OpenAI delta) |
What are the privacy and retention policies for GPT-5.6 Luna and GPT-5.6 Terra?
Provider policy and residency facts from the verified provider registry. A missing retention policy is not treated as a guarantee.
| Fact | GPT-5.6 Luna | GPT-5.6 Terra |
|---|---|---|
| Provider says API data trains models | No | No |
| Published retention period | Unavailable | Unavailable |
| Data residency | US by default; EU data residency available on enterprise agreements | US by default; EU data residency available on enterprise agreements |
How much effort does it take to migrate between GPT-5.6 Luna and GPT-5.6 Terra?
Direction is from each displayed model to the other. Effort is derived from provider compatibility and published parameter maps.
| Fact | GPT-5.6 Luna | GPT-5.6 Terra |
|---|---|---|
| Move GPT-5.6 Luna → GPT-5.6 Terra | drop-in; 0 breaking parameter differences | Target: GPT-5.6 Terra |
| Move GPT-5.6 Terra → GPT-5.6 Luna | Source: GPT-5.6 Terra | drop-in; 0 breaking parameter differences |
| Why | Same provider; only the model identifier changes. | Same provider; only the model identifier changes. |
Batch 52 · exact pair decision and evidence contributions. Surface verification: 2026-09-01. These three boards are server-rendered from frozen fixtures; assumptions and unavailable joins are not observations.
Exact pair boundary: requested models are gpt-5-6-luna and gpt-5-6-terra. A broad provider, pricing, task, or rate-limit verdict is out of scope.
Luna/Terra request-envelope diff compiler
Frozen Batch 52 fixture board. Formula / decision rule: admit = documented cap − input − output reserve − required tool/schema/media units >= 0; unknown unit => Unavailable Boundary: Model pages own standalone envelopes; this board only decides pair-specific workload admission.
| Frozen fixture / field ID | Joined fields and evidence | Output | State |
|---|---|---|---|
batch52-gpt-5-6-luna-vs-gpt-5-6-terra-m1-r18K classification | requested=Luna/Terra; input=8K; output reserve=1K; effort=declared; modality=text; schema=strict JSON | both-side support=Unresolved until exact schema and cap joins | UNAVAILABLE — schema/cap join |
batch52-gpt-5-6-luna-vs-gpt-5-6-terra-m1-r2strict JSON extraction | requested=Luna/Terra; input=12K; output=2K; schema=strict; tools=no; response field=exact join | transfer controls only if both exact IDs document strict schema parity | CONDITIONAL — parity probe required |
batch52-gpt-5-6-luna-vs-gpt-5-6-terra-m1-r3250K summarization | requested=Luna/Terra; input=250K; output=4K; modality=text; cache=separate | reserve=Unavailable until both documented context ceilings join | UNAVAILABLE — long-context join |
batch52-gpt-5-6-luna-vs-gpt-5-6-terra-m1-r4image-plus-tools | requested=Luna/Terra; modality=image+text; tools=yes; schema=required; image accounting=Unknown | unknown media/tool accounting is not zero | FAIL CLOSED — combined accounting |
batch52-gpt-5-6-luna-vs-gpt-5-6-terra-m1-r5900K agent trace | requested=Luna/Terra; input=900K; output=8K; tools=parallel; schema=required; cache=Unknown | admission=Unavailable until exact host supports all units | UNAVAILABLE — tool/cache join |
batch52-gpt-5-6-luna-vs-gpt-5-6-terra-m1-r6oversized output | requested=Luna/Terra; output reserve>documented cap; overflow behavior=Unknown | reject rather than silently truncate or switch tier | REJECTED — output reserve exceeds evidence |
Provenance: Batch 52 gpt-5-6-luna-vs-gpt-5-6-terra, first-party evidence, surface verification date 2026-09-01. OpenAI model documentation. Missing joins fail closed.
Latency-SLO plus capability admission matrix
Frozen Batch 52 fixture board. Formula / decision rule: eligible = capability floor passes AND measured latency identity matches exact model/host; estimated speed cannot become measured Boundary: Provider benchmark claims are not local latency measurements and broad speed rankings belong to /benchmarks.
| Frozen fixture / field ID | Joined fields and evidence | Output | State |
|---|---|---|---|
batch52-gpt-5-6-luna-vs-gpt-5-6-terra-m2-r1sub-second labeling | target=TTFT<1s; workload=label; Luna speed=Unavailable; Terra speed=Unavailable; quality floor=declared | selected tier=Unavailable until exact-host measurement joins | UNAVAILABLE — no measured speed |
batch52-gpt-5-6-luna-vs-gpt-5-6-terra-m2-r2two-second support | target=completion<2s; output=short; network=client region; model identity=exact required | eligibility=Unavailable; do not borrow provider throughput | UNAVAILABLE — local SLO evidence |
batch52-gpt-5-6-luna-vs-gpt-5-6-terra-m2-r3five-second extraction | target=<5s; schema=valid; input=8K; observed latency=Unavailable; quality floor=declared | selected tier=Unavailable until schema and latency are paired | UNAVAILABLE — paired SLO evidence |
batch52-gpt-5-6-luna-vs-gpt-5-6-terra-m2-r4interactive coding | target=interactive; tools=repository; latency=measured or estimated label required; quality=tests pass | estimated speed may inform a test plan but cannot select a tier | CONDITIONAL — measure exact host |
batch52-gpt-5-6-luna-vs-gpt-5-6-terra-m2-r5multi-step research | target=per-step SLO; tools=search; escalation=bounded; Luna/Terra capability=Unresolved | selected tier=Unavailable without tool and step-latency evidence | UNAVAILABLE — multi-step coverage |
batch52-gpt-5-6-luna-vs-gpt-5-6-terra-m2-r6no-measured-speed fixture | target=any; speed_source=provider claim only; local run=missing | do not output a latency winner | NO SUPPORTED VERDICT — measurement missing |
Provenance: Batch 52 gpt-5-6-luna-vs-gpt-5-6-terra, first-party evidence, surface verification date 2026-09-01. OpenAI model documentation. Missing joins fail closed.
Two-stage escalation economics receipt
Frozen Batch 52 fixture board. Formula / decision rule: expected cost = first-stage cost + trigger rate × second-stage cost; direct Terra when capped cascade cost plus failure cost exceeds Terra-only cost Boundary: Trigger and failure rates are declared assumptions, not observed reliability; cache is isolated by exact model and host.
| Frozen fixture / field ID | Joined fields and evidence | Output | State |
|---|---|---|---|
batch52-gpt-5-6-luna-vs-gpt-5-6-terra-m3-r1Luna-only | route=Luna; attempts=1; tokens=input/output=declared; trigger_rate=not applicable | cost formula is deterministic but numeric pair verdict belongs to pricing owners | BASELINE — Luna-only scenario |
batch52-gpt-5-6-luna-vs-gpt-5-6-terra-m3-r2Terra-only | route=Terra; attempts=1; tokens=input/output=declared; latency=Unavailable | cost=rate inputs × tokens; exact result=pricing-page join required | BASELINE — Terra-only scenario |
batch52-gpt-5-6-luna-vs-gpt-5-6-terra-m3-r3Luna-once-then-Terra | route=Luna→Terra; attempt_cap=2; trigger_rate=assumption; token carry-forward=declared | expected cost=Unavailable until trigger rate is measured | ASSUMPTION ONLY — capped cascade |
batch52-gpt-5-6-luna-vs-gpt-5-6-terra-m3-r4Luna-twice-then-Terra | route=Luna→Luna→Terra; attempt_cap=3; same-prompt retry=allowed only for transient signal | loop-stop=Terra after second Luna; cost=Unavailable | CONTAINED — no endless retry |
batch52-gpt-5-6-luna-vs-gpt-5-6-terra-m3-r5cache reuse | route=Luna→Terra; cache=provider-qualified; cache_read/write=dated; cache key=exact prompt+model | cache-adjusted cost=Unavailable when cache economics do not join both stages | UNAVAILABLE — cache rate join |
batch52-gpt-5-6-luna-vs-gpt-5-6-terra-m3-r6missing failure rate | route=Luna→Terra; failure_rate=missing; latency distributions=missing; escalation trigger=unknown | direct-versus-cascade threshold=Unavailable | FAIL CLOSED — missing trigger data |
Provenance: Batch 52 gpt-5-6-luna-vs-gpt-5-6-terra, first-party evidence, surface verification date 2026-09-01. OpenAI API pricing. Missing joins fail closed.
Method and limitations: calculations use only the displayed deterministic rule and visibly labeled assumptions. Missing provider, host, alias, version, effort, tool, modality, benchmark, workload, rate-period, or date joins fail closed. Run the gpt-5-6-luna-vs-gpt-5-6-terra Batch 52 scenario →
Batch 69 · exact-pair decision contributions · verified 2026-09-08
Exact pair boundary: OpenAI; same provider, tier escalation, $1.00/$6.00 vs $2.50/$15.00 tariffs, ultra-fast speculative speed vs balanced workhorse must join. Requested models are gpt-5.6-luna and gpt-5.6-terra. Provider, rate, pricing, and task pages remain fact owners.
Token pricing and 2.5x tariff multiple expenditure matrix
Frozen Batch 69 scenario board. Formula / deterministic rule: monthly_spend = calls * ((in_tokens * rate_in + out_tokens * rate_out) / 1M) Boundary: Owns base token tariff comparisons and workload expenditure modeling.
| Frozen scenario / field ID | Pair, identity, host, surface, and evidence fields | Result | State |
|---|---|---|---|
batch69-gpt-5-6-luna-vs-gpt-5-6-terra-m1-r125K interactive customer sessions | pair=gpt-5.6-luna vs gpt-5.6-terra; provider=OpenAI; hostA=api.openai.com; hostB=api.openai.com; surfaceA=OpenAI Responses API; surfaceB=OpenAI Responses API; requested/effective IDs=gpt-5.6-luna,gpt-5.6-terra; scenario=25K interactive customer sessions; workload; prompt tokens; completion tokens; GPT-5.6 Luna spend; GPT-5.6 Terra spend; budget delta; cost winner; prompt/config/input/output/result/cache/checkpoint/artifact hashes=required; evidence=2026-09-08; measurement versus assumption=explicit | Unavailable — 25K interactive customer sessions is a frozen fixture pending exact identity, configuration, and denominator joins. | UNTESTED — assumption cannot establish a verdict |
batch69-gpt-5-6-luna-vs-gpt-5-6-terra-m1-r2100K code autocomplete requests | pair=gpt-5.6-luna vs gpt-5.6-terra; provider=OpenAI; hostA=api.openai.com; hostB=api.openai.com; surfaceA=OpenAI Responses API; surfaceB=OpenAI Responses API; requested/effective IDs=gpt-5.6-luna,gpt-5.6-terra; scenario=100K code autocomplete requests; workload; prompt tokens; completion tokens; GPT-5.6 Luna spend; GPT-5.6 Terra spend; budget delta; cost winner; prompt/config/input/output/result/cache/checkpoint/artifact hashes=required; evidence=2026-09-08; measurement versus assumption=explicit | Unavailable — 100K code autocomplete requests is a frozen fixture pending exact identity, configuration, and denominator joins. | UNTESTED — assumption cannot establish a verdict |
batch69-gpt-5-6-luna-vs-gpt-5-6-terra-m1-r3250K real-time triage queries | pair=gpt-5.6-luna vs gpt-5.6-terra; provider=OpenAI; hostA=api.openai.com; hostB=api.openai.com; surfaceA=OpenAI Responses API; surfaceB=OpenAI Responses API; requested/effective IDs=gpt-5.6-luna,gpt-5.6-terra; scenario=250K real-time triage queries; workload; prompt tokens; completion tokens; GPT-5.6 Luna spend; GPT-5.6 Terra spend; budget delta; cost winner; prompt/config/input/output/result/cache/checkpoint/artifact hashes=required; evidence=2026-09-08; measurement versus assumption=explicit | Unavailable — 250K real-time triage queries is a frozen fixture pending exact identity, configuration, and denominator joins. | UNTESTED — assumption cannot establish a verdict |
batch69-gpt-5-6-luna-vs-gpt-5-6-terra-m1-r4prompt caching active (50% read discount both) | pair=gpt-5.6-luna vs gpt-5.6-terra; provider=OpenAI; hostA=api.openai.com; hostB=api.openai.com; surfaceA=OpenAI Responses API; surfaceB=OpenAI Responses API; requested/effective IDs=gpt-5.6-luna,gpt-5.6-terra; scenario=prompt caching active (50% read discount both); workload; prompt tokens; completion tokens; GPT-5.6 Luna spend; GPT-5.6 Terra spend; budget delta; cost winner; prompt/config/input/output/result/cache/checkpoint/artifact hashes=required; evidence=2026-09-08; measurement versus assumption=explicit | Unavailable — prompt caching active (50% read discount both) is a frozen fixture pending exact identity, configuration, and denominator joins. | UNTESTED — assumption cannot establish a verdict |
batch69-gpt-5-6-luna-vs-gpt-5-6-terra-m1-r5batch processing active (50% both) | pair=gpt-5.6-luna vs gpt-5.6-terra; provider=OpenAI; hostA=api.openai.com; hostB=api.openai.com; surfaceA=OpenAI Responses API; surfaceB=OpenAI Responses API; requested/effective IDs=gpt-5.6-luna,gpt-5.6-terra; scenario=batch processing active (50% both); workload; prompt tokens; completion tokens; GPT-5.6 Luna spend; GPT-5.6 Terra spend; budget delta; cost winner; prompt/config/input/output/result/cache/checkpoint/artifact hashes=required; evidence=2026-09-08; measurement versus assumption=explicit | Unavailable — batch processing active (50% both) is a frozen fixture pending exact identity, configuration, and denominator joins. | UNTESTED — assumption cannot establish a verdict |
batch69-gpt-5-6-luna-vs-gpt-5-6-terra-m1-r6unresolved pricing currency | pair=gpt-5.6-luna vs gpt-5.6-terra; provider=OpenAI; hostA=api.openai.com; hostB=api.openai.com; surfaceA=OpenAI Responses API; surfaceB=OpenAI Responses API; requested/effective IDs=gpt-5.6-luna,gpt-5.6-terra; scenario=unresolved pricing currency; workload; prompt tokens; completion tokens; GPT-5.6 Luna spend; GPT-5.6 Terra spend; budget delta; cost winner; prompt/config/input/output/result/cache/checkpoint/artifact hashes=required; evidence=2026-09-08; measurement versus assumption=explicit | Unavailable — unresolved pricing currency has no matched, dated bilateral observation. | FAIL CLOSED — manual, probe, or source evidence required |
First-party provenance: OpenAI API pricing; verification date 2026-09-08. Missing or conflicting joins fail closed.
Turnaround time latency and speculative decoding throughput audit
Frozen Batch 69 scenario board. Formula / deterministic rule: turnaround = ttft + (tokens_out / tps); Luna speculative decoding acceleration Boundary: Owns responsiveness benchmarks and interactive user experience benefits.
| Frozen scenario / field ID | Pair, identity, host, surface, and evidence fields | Result | State |
|---|---|---|---|
batch69-gpt-5-6-luna-vs-gpt-5-6-terra-m2-r1real-time chat autocomplete (<100ms) | pair=gpt-5.6-luna vs gpt-5.6-terra; provider=OpenAI; hostA=api.openai.com; hostB=api.openai.com; surfaceA=OpenAI Responses API; surfaceB=OpenAI Responses API; requested/effective IDs=gpt-5.6-luna,gpt-5.6-terra; scenario=real-time chat autocomplete (<100ms); task; response SLA; Luna latency; Terra latency; SLA compliance; responsiveness champion; prompt/config/input/output/result/cache/checkpoint/artifact hashes=required; evidence=2026-09-08; measurement versus assumption=explicit | Unavailable — real-time chat autocomplete (<100ms) is a frozen fixture pending exact identity, configuration, and denominator joins. | UNTESTED — assumption cannot establish a verdict |
batch69-gpt-5-6-luna-vs-gpt-5-6-terra-m2-r2interactive code suggestion (<200ms) | pair=gpt-5.6-luna vs gpt-5.6-terra; provider=OpenAI; hostA=api.openai.com; hostB=api.openai.com; surfaceA=OpenAI Responses API; surfaceB=OpenAI Responses API; requested/effective IDs=gpt-5.6-luna,gpt-5.6-terra; scenario=interactive code suggestion (<200ms); task; response SLA; Luna latency; Terra latency; SLA compliance; responsiveness champion; prompt/config/input/output/result/cache/checkpoint/artifact hashes=required; evidence=2026-09-08; measurement versus assumption=explicit | Unavailable — interactive code suggestion (<200ms) is a frozen fixture pending exact identity, configuration, and denominator joins. | UNTESTED — assumption cannot establish a verdict |
batch69-gpt-5-6-luna-vs-gpt-5-6-terra-m2-r3complex code refactoring (multi-second OK) | pair=gpt-5.6-luna vs gpt-5.6-terra; provider=OpenAI; hostA=api.openai.com; hostB=api.openai.com; surfaceA=OpenAI Responses API; surfaceB=OpenAI Responses API; requested/effective IDs=gpt-5.6-luna,gpt-5.6-terra; scenario=complex code refactoring (multi-second OK); task; response SLA; Luna latency; Terra latency; SLA compliance; responsiveness champion; prompt/config/input/output/result/cache/checkpoint/artifact hashes=required; evidence=2026-09-08; measurement versus assumption=explicit | Unavailable — complex code refactoring (multi-second OK) is a frozen fixture pending exact identity, configuration, and denominator joins. | UNTESTED — assumption cannot establish a verdict |
batch69-gpt-5-6-luna-vs-gpt-5-6-terra-m2-r4large dataset extraction | pair=gpt-5.6-luna vs gpt-5.6-terra; provider=OpenAI; hostA=api.openai.com; hostB=api.openai.com; surfaceA=OpenAI Responses API; surfaceB=OpenAI Responses API; requested/effective IDs=gpt-5.6-luna,gpt-5.6-terra; scenario=large dataset extraction; task; response SLA; Luna latency; Terra latency; SLA compliance; responsiveness champion; prompt/config/input/output/result/cache/checkpoint/artifact hashes=required; evidence=2026-09-08; measurement versus assumption=explicit | Unavailable — large dataset extraction is a frozen fixture pending exact identity, configuration, and denominator joins. | UNTESTED — assumption cannot establish a verdict |
batch69-gpt-5-6-luna-vs-gpt-5-6-terra-m2-r5network contention latency buffer | pair=gpt-5.6-luna vs gpt-5.6-terra; provider=OpenAI; hostA=api.openai.com; hostB=api.openai.com; surfaceA=OpenAI Responses API; surfaceB=OpenAI Responses API; requested/effective IDs=gpt-5.6-luna,gpt-5.6-terra; scenario=network contention latency buffer; task; response SLA; Luna latency; Terra latency; SLA compliance; responsiveness champion; prompt/config/input/output/result/cache/checkpoint/artifact hashes=required; evidence=2026-09-08; measurement versus assumption=explicit | Unavailable — network contention latency buffer is a frozen fixture pending exact identity, configuration, and denominator joins. | UNTESTED — assumption cannot establish a verdict |
batch69-gpt-5-6-luna-vs-gpt-5-6-terra-m2-r6unmeasured speed fixture | pair=gpt-5.6-luna vs gpt-5.6-terra; provider=OpenAI; hostA=api.openai.com; hostB=api.openai.com; surfaceA=OpenAI Responses API; surfaceB=OpenAI Responses API; requested/effective IDs=gpt-5.6-luna,gpt-5.6-terra; scenario=unmeasured speed fixture; task; response SLA; Luna latency; Terra latency; SLA compliance; responsiveness champion; prompt/config/input/output/result/cache/checkpoint/artifact hashes=required; evidence=2026-09-08; measurement versus assumption=explicit | Unavailable — unmeasured speed fixture is a frozen fixture pending exact identity, configuration, and denominator joins. | UNTESTED — assumption cannot establish a verdict |
First-party provenance: All AI Ask measured speed dataset; verification date 2026-09-08. Missing or conflicting joins fail closed.
Draft-and-verify dual-tier architecture and enterprise cost savings
Frozen Batch 69 scenario board. Formula / deterministic rule: blended_spend = luna_draft_cost + terra_verify_cost; speculative speed with full precision Boundary: Owns draft-and-verify speculative architectures between Luna and Terra.
| Frozen scenario / field ID | Pair, identity, host, surface, and evidence fields | Result | State |
|---|---|---|---|
batch69-gpt-5-6-luna-vs-gpt-5-6-terra-m3-r1100% GPT-5.6 Luna baseline ($1.00/$6.00) | pair=gpt-5.6-luna vs gpt-5.6-terra; provider=OpenAI; hostA=api.openai.com; hostB=api.openai.com; surfaceA=OpenAI Responses API; surfaceB=OpenAI Responses API; requested/effective IDs=gpt-5.6-luna,gpt-5.6-terra; scenario=100% GPT-5.6 Luna baseline ($1.00/$6.00); speculative mix; total monthly queries; blended spend; cost savings vs pure Terra; quality retention; architectural verdict; prompt/config/input/output/result/cache/checkpoint/artifact hashes=required; evidence=2026-09-08; measurement versus assumption=explicit | Unavailable — 100% GPT-5.6 Luna baseline ($1.00/$6.00) is a frozen fixture pending exact identity, configuration, and denominator joins. | UNTESTED — assumption cannot establish a verdict |
batch69-gpt-5-6-luna-vs-gpt-5-6-terra-m3-r290% Luna draft / 10% Terra verification | pair=gpt-5.6-luna vs gpt-5.6-terra; provider=OpenAI; hostA=api.openai.com; hostB=api.openai.com; surfaceA=OpenAI Responses API; surfaceB=OpenAI Responses API; requested/effective IDs=gpt-5.6-luna,gpt-5.6-terra; scenario=90% Luna draft / 10% Terra verification; speculative mix; total monthly queries; blended spend; cost savings vs pure Terra; quality retention; architectural verdict; prompt/config/input/output/result/cache/checkpoint/artifact hashes=required; evidence=2026-09-08; measurement versus assumption=explicit | Unavailable — 90% Luna draft / 10% Terra verification is a frozen fixture pending exact identity, configuration, and denominator joins. | UNTESTED — assumption cannot establish a verdict |
batch69-gpt-5-6-luna-vs-gpt-5-6-terra-m3-r380% Luna draft / 20% Terra verification | pair=gpt-5.6-luna vs gpt-5.6-terra; provider=OpenAI; hostA=api.openai.com; hostB=api.openai.com; surfaceA=OpenAI Responses API; surfaceB=OpenAI Responses API; requested/effective IDs=gpt-5.6-luna,gpt-5.6-terra; scenario=80% Luna draft / 20% Terra verification; speculative mix; total monthly queries; blended spend; cost savings vs pure Terra; quality retention; architectural verdict; prompt/config/input/output/result/cache/checkpoint/artifact hashes=required; evidence=2026-09-08; measurement versus assumption=explicit | Unavailable — 80% Luna draft / 20% Terra verification is a frozen fixture pending exact identity, configuration, and denominator joins. | UNTESTED — assumption cannot establish a verdict |
batch69-gpt-5-6-luna-vs-gpt-5-6-terra-m3-r450% Luna draft / 50% Terra verification | pair=gpt-5.6-luna vs gpt-5.6-terra; provider=OpenAI; hostA=api.openai.com; hostB=api.openai.com; surfaceA=OpenAI Responses API; surfaceB=OpenAI Responses API; requested/effective IDs=gpt-5.6-luna,gpt-5.6-terra; scenario=50% Luna draft / 50% Terra verification; speculative mix; total monthly queries; blended spend; cost savings vs pure Terra; quality retention; architectural verdict; prompt/config/input/output/result/cache/checkpoint/artifact hashes=required; evidence=2026-09-08; measurement versus assumption=explicit | Unavailable — 50% Luna draft / 50% Terra verification is a frozen fixture pending exact identity, configuration, and denominator joins. | UNTESTED — assumption cannot establish a verdict |
batch69-gpt-5-6-luna-vs-gpt-5-6-terra-m3-r5100% direct GPT-5.6 Terra execution | pair=gpt-5.6-luna vs gpt-5.6-terra; provider=OpenAI; hostA=api.openai.com; hostB=api.openai.com; surfaceA=OpenAI Responses API; surfaceB=OpenAI Responses API; requested/effective IDs=gpt-5.6-luna,gpt-5.6-terra; scenario=100% direct GPT-5.6 Terra execution; speculative mix; total monthly queries; blended spend; cost savings vs pure Terra; quality retention; architectural verdict; prompt/config/input/output/result/cache/checkpoint/artifact hashes=required; evidence=2026-09-08; measurement versus assumption=explicit | Unavailable — 100% direct GPT-5.6 Terra execution is a frozen fixture pending exact identity, configuration, and denominator joins. | UNTESTED — assumption cannot establish a verdict |
batch69-gpt-5-6-luna-vs-gpt-5-6-terra-m3-r6unresolved router confidence threshold | pair=gpt-5.6-luna vs gpt-5.6-terra; provider=OpenAI; hostA=api.openai.com; hostB=api.openai.com; surfaceA=OpenAI Responses API; surfaceB=OpenAI Responses API; requested/effective IDs=gpt-5.6-luna,gpt-5.6-terra; scenario=unresolved router confidence threshold; speculative mix; total monthly queries; blended spend; cost savings vs pure Terra; quality retention; architectural verdict; prompt/config/input/output/result/cache/checkpoint/artifact hashes=required; evidence=2026-09-08; measurement versus assumption=explicit | Unavailable — unresolved router confidence threshold has no matched, dated bilateral observation. | FAIL CLOSED — manual, probe, or source evidence required |
First-party provenance: OpenAI model documentation; verification date 2026-09-08. Missing or conflicting joins fail closed.
Method and limitations: formulas are deterministic; observed and assumed inputs are labeled; no missing provider, host, account, region, realm, alias, snapshot, revision, weight, artifact, control, tool, modality, workload, rate-period, timestamp, or result is transferred. Run the gpt-5-6-luna-vs-gpt-5-6-terra Batch 69 scenario →
How do GPT-5.6 Luna and GPT-5.6 Terra compare on specs?
| GPT-5.6 Luna | GPT-5.6 Terra | |
|---|---|---|
| Price (input) | $1.00/M ✓ | $2.50/M |
| Price (output) | $6.00/M ✓ | $15.00/M |
| Blended price | $2.25/M ✓ | $5.63/M |
| Context window | 1,000,000 tokens | 1,000,000 tokens |
| Max output | 64,000 tokens | 128,000 tokens ✓ |
| Modalities | text, vision | text, vision |
| Reasoning mode | No | Yes |
| Released | 2026-06 | 2026-06 |
| Speed | 126 t/s ✓ | 78 t/s |
How much do GPT-5.6 Luna and GPT-5.6 Terra cost at scale?
| Tokens / month | GPT-5.6 Luna | GPT-5.6 Terra | Delta |
|---|---|---|---|
| 1,000,000 | $2.25 | $5.63 | $3.38 (2.5×) |
| 10,000,000 | $22.50 | $56.25 | $33.75 (2.5×) |
| 100,000,000 | $225.00 | $562.50 | $337.50 (2.5×) |
Choose GPT-5.6 Luna if…
- ✓Cheapest current GPT-5.6 tier
- ✓Low latency for high-volume calls
- ✓1M context window and vision input
- ✓High-volume, latency-sensitive tasks like classification, extraction, and chat.
Choose GPT-5.6 Terra if…
- ✓Balanced cost-to-intelligence ratio
- ✓Reasoning mode available on demand
- ✓Same 1M context as Sol
- ✓Everyday production workloads that need strong quality without Sol-tier pricing.
Run this exact matchup right now
Send the same prompt to GPT-5.6 Luna and GPT-5.6 Terra side by side and see the outputs yourself.
Try GPT-5.6 Luna vs GPT-5.6 Terra FreeWhat are common questions about GPT-5.6 Luna and GPT-5.6 Terra?
Is GPT-5.6 Luna cheaper than GPT-5.6 Terra?
GPT-5.6 Luna is cheaper, at $2.25 per million blended tokens vs $5.63 for GPT-5.6 Terra.
Which has the bigger context window, GPT-5.6 Luna or GPT-5.6 Terra?
Both models support 1,000,000 tokens of context.
Can GPT-5.6 Luna replace GPT-5.6 Terra for coding?
Both are viable for coding. Cheapest current GPT-5.6 tier (GPT-5.6 Luna) vs Balanced cost-to-intelligence ratio (GPT-5.6 Terra) — pick based on which strength matters more for your workload.
Which is faster, GPT-5.6 Luna or GPT-5.6 Terra?
GPT-5.6 Luna is faster: 126 t/s vs 78 t/s, measured on our speed benchmarks.
Neither of these? See GPT-5.6 Luna alternatives or GPT-5.6 Terra alternatives.
What related comparisons help choose between GPT-5.6 Luna and GPT-5.6 Terra?
Pricing verified 2026-08-14. Specs verified 2026-08-14.
