# GPT-6.1 Terra vs GPT-6 Luna: 10× per Token, 2.7–6.3× per Task

> GPT-6.1 Terra costs 10× GPT-6 Luna per token. On 12 tasks tested October 28, 2026, it cost 2.7–6.3× as much per passed task and passed 15–16 of 16 to Luna's 12.

- URL: https://blog.laozhang.ai/en/posts/gpt-6-1-terra-vs-gpt-6-luna
- Published: 2026-10-28
- Updated: 2026-10-28
- Author: LaoZhang AI Team (https://blog.laozhang.ai/en/about)
- Topic: Model Comparisons
- Tags: GPT-6.1 Terra, GPT-6 Luna, OpenAI API, model comparison, API pricing

---
Keep `gpt-6-luna` as the default for work it already passes at medium effort and that your tests or validators can check. Move a task to `gpt-6.1-terra` at low or medium effort when Luna gets an exact detail wrong, when you are already paying for Luna at xhigh or max, or when someone is waiting on the answer. GPT-6.1 Terra, released October 26, 2026, costs 10 times GPT-6 Luna per token on the OpenAI API (5 times on cached input). That ratio carries over to the cost per task only when both models use the same number of tokens, and Luna tends to spend more of them reasoning before it answers.

In a same-prompt test run on October 28, 2026 through one API gateway, both models got the same 12 tasks, 16 calls per setting. Terra passed 15 of 16 at low effort and 16 of 16 at medium; Luna passed 12 of 16 at medium, high, and xhigh alike. Per passed task, Terra cost 2.7 to 6.3 times as much as Luna and returned each answer 2 to 3 times faster. Luna's misses were specific: every answer turned the letter O in an invoice number into a zero, and it got a semver spec right 2 times in 6. Artificial Analysis's Intelligence Index v5.0 points the same way across a much broader task set, with Terra at low effort scoring one point above Luna at max for about half the cost per task.

Swapping the model ID is not always a drop-in change. If your Luna code calls functions through Chat Completions, which Luna allows only at `none` effort, Terra will need the Responses API instead. The `max` effort setting also works only through the Responses API, Terra supports only US and EU data residency, and Terra is not in the regular ChatGPT chat on any plan.

## What GPT-6.1 Terra and GPT-6 Luna cost: 10× per token, 5× on cached input

GPT-6.1 Terra charges exactly 10 times GPT-6 Luna for input, cache writes, and output, and 5 times for cached input, because Terra bills cached tokens at 5% of its input rate while Luna bills them at 10%. These are OpenAI Standard rates per one million tokens for requests up to 272,000 input tokens, from the [OpenAI API pricing page](https://developers.openai.com/api/docs/pricing) as of October 28, 2026.

| Per 1M tokens, ≤272K input | Input | Cached input | Cache write, 30 min | Cache write, 12 h | Output |
| --- | ---: | ---: | ---: | ---: | ---: |
| GPT-6 Luna (`gpt-6-luna`) | $0.10 | $0.01 | $0.125 | $0.25 | $0.50 |
| GPT-6.1 Terra (`gpt-6.1-terra`) | $1.00 | $0.05 | $1.25 | $2.50 | $5.00 |
| Terra ÷ Luna | 10× | 5× | 10× | 10× | 10× |

Past 272K input tokens the whole request is billed at 2 times the input and cache rates and 1.5 times the output rate, so Terra becomes $2.00 in and $7.50 out against Luna's $0.20 and $0.75. Batch and Flex cost half of Standard for both, Fast costs double, regional processing adds 10%, and neither model is offered on Ultrafast. Everything else on the spec sheet is identical: both [GPT-6.1 Terra's model page](https://developers.openai.com/api/docs/models/gpt-6.1-terra) and [GPT-6 Luna's model page](https://developers.openai.com/api/docs/models/gpt-6-luna) list a 1,050,000-token context window, 128,000 output tokens, text and image input, and reasoning effort from `none` to `max`, with reasoning tokens billed as output. Terra's knowledge cutoff is June 1, 2026, two weeks after Luna's May 18.

Two names cause confusion. GPT-6.1 Terra is not GPT-5.6 Terra: the previous Terra still sells at $2 input and $12 output, so GPT-6.1 Terra costs half as much for input and 5/12 as much for output. And there is no GPT-6.1 Luna as of October 28, 2026; the pricing page's flagship table lists GPT-6 Astra, GPT-6.1 Sol, GPT-6.1 Terra, and GPT-6 Luna.

## Same 12 tasks on October 28: Terra passed 16 of 16, Luna 12 of 16

On a fixed set of 12 checkable tasks, GPT-6.1 Terra at medium effort passed all 16 calls and GPT-6 Luna passed 12 at every effort it was given. The test ran on October 28, 2026, between about 05:40 and 06:30 UTC, with both models called through LaoZhang (laozhang.ai), an OpenAI-compatible gateway that lists `gpt-6.1-terra` and `gpt-6-luna`. Every call used Chat Completions, streamed, with one user message, no system prompt, no tools, and `max_completion_tokens` set to 32,000.

*Disclosure: [laozhang.ai is our own service](https://blog.laozhang.ai/en/about#laozhang). Its prices are platform pricing, not an independent comparison.*

The tasks and their pass rules were written before the run: a word problem, three coding functions graded by hidden tests, a five-bullet summary of a 6,723-word article with a 25-word limit per bullet, an expression parser without `eval`, a CSV line parser, a count of numbers below one million whose digits sum to 27, an npm-style semver `satisfies()` function with 36 hidden tests, a long document with planted correction notes whose answer is $76.80, a question about the Python standard library that includes two made-up functions, and an invoice image plus a bar chart to extract into JSON. The last four ran twice per setting and the others once, which makes 16 calls. Costs are the returned token usage multiplied by OpenAI's list prices above, not the gateway's bill.

| Setting | Passed | Cost of 16 calls | Cost per passed task | Median call time | Output tokens (reasoning) |
| --- | ---: | ---: | ---: | ---: | ---: |
| Luna, medium | 12/16 | $0.0108 | $0.0009 | 11.4 s | 15,553 (9,688) |
| Luna, high | 12/16 | $0.0140 | $0.0012 | 14.2 s | 22,063 (16,127) |
| Luna, xhigh | 12/16 | $0.0188 | $0.0016 | 15.6 s | 31,684 (25,833) |
| Terra, low | 15/16 | $0.0625 | $0.0042 | 4.7 s | 7,227 (2,310) |
| Terra, medium | 16/16 | $0.0909 | $0.0057 | 5.9 s | 12,916 (8,095) |

Terra answered faster even though Artificial Analysis measures Luna streaming more tokens per second (116–124 against Terra's 91). The difference is how long each model thinks first: Luna's median time to the first answer token was 7.1 to 11.2 seconds across its three settings, Terra's 4.0 to 4.6. On the first pass, 12 of the 48 Luna calls ended at the gateway with no answer and no usage data; they were re-run once, all completed normally, and the table counts the re-runs. The whole test cost $0.197 at list prices.

This is a small sample: one gateway, one day, one or two samples per task, single-turn prompts, synthetic images, and no tool calling or computer use, which is where OpenAI positions Terra. It shows where Luna slipped on these tasks, not a general error rate.

## Where GPT-6 Luna slipped: one letter on an invoice, one semver edge case

At least three of Luna's four misses at each setting came from two tasks, and on both it was close. On the invoice and chart, every one of Luna's six answers got all 40 numbers right, put all 12 bar heights within ±2, and caught the line total that was planted wrong. Every one of them also returned the invoice number `INV-2026-10-0O81`, which contains a capital letter O, as `INV-2026-10-0081`. All four Terra answers copied it exactly. Terra also took 8 to 17 seconds per answer against Luna's 24 to 54, though it cost $0.0045 to $0.0139 per answer against Luna's $0.0011 to $0.0025.

On the semver task, Luna passed 2 of its 6 attempts and Terra 4 of 4. Three of Luna's failures came down to one hidden test, a range ending in a dangling `||` (as in `^1.0.0 ||`) that should have been rejected as invalid, and the fourth broke caret ranges and failed 14 of 36 tests. Each Luna attempt took 36 to 70 seconds, each Terra attempt 9 to 18.

![GPT-6 Luna read the invoice number INV-2026-10-0O81 as 0081 in all 6 answers while Terra copied it exactly in 4 of 4, and on the semver task Luna passed 2 of 6 attempts against Terra's 4 of 4](https://blog.laozhang.ai/posts/en/gpt-6-1-terra-vs-gpt-6-luna/img/where-luna-slipped.webp)

The two failures call for different responses. The invoice error was systematic: the same wrong string in all six answers, so retrying would not fix it, and `0081` looks like a valid invoice number to any format check. The semver error was intermittent, and hidden tests catch it, so retrying works. At 2 passes in 6 you need about three Luna attempts per success, which costs about the same as one Terra attempt or a little less ($0.0014 to $0.0032 per Luna attempt against $0.0069 to $0.011 for Terra) but takes two to three and a half minutes instead of under 20 seconds.

The remaining slips were one-offs on both sides. Luna at high effort counted 67,252 numbers with a digit sum of 27 when the answer is 55,252, and Luna at xhigh and Terra at low each wrote one 26-word bullet in the five-bullet summary. Everything else passed in every setting: the word problem, the three coding functions, both parsers, the long-document arithmetic with its correction note, and the made-up standard-library functions. Raising Luna from medium to xhigh doubled its output tokens and did not add a single pass.

## Why 10× per token came out as 2.7–6.3× per passed task

Two effects pull Terra's per-task premium below 10×. Cost per passed task is the cost of all calls divided by the number that passed, so Terra medium works out to $0.0909 ÷ 16 = $0.0057 and Luna medium to $0.0108 ÷ 12 = $0.0009, a ratio of 6.3. Terra low against Luna xhigh is $0.0625 ÷ 15 = $0.00417 against $0.0188 ÷ 12 = $0.00157, a ratio of 2.7.

The first effect is reasoning length. Before counting passes, the same 16 calls cost 8.4 times as much on Terra medium as on Luna medium, not 10 times, because Luna produced more output tokens. At higher Luna settings the gap closes further: Luna xhigh generated 25,833 reasoning tokens over the 16 calls, Terra low 2,310, so Terra low cost only 3.3 times Luna xhigh. The second effect is failures, which push Luna's cost per passed task up. Luna's 12 passes out of 16 multiply its per-pass cost by 16/12, which turns Terra medium's 8.4× premium into 6.3×.

![Bar chart of Terra-to-Luna cost ratios: 10× list price falls to 8.4× and then 6.3× per passed task for both at medium, and to 3.3× and 2.7× for Terra low against Luna xhigh](https://blog.laozhang.ai/posts/en/gpt-6-1-terra-vs-gpt-6-luna/img/cost-ratio-per-passed-task.webp)

The 10× list ratio is what you pay per task only when both models use the same number of tokens and pass the same tasks. If Luna already passes your work at medium effort, Terra's premium stays closer to 10×. If you have been raising Luna's effort to get it to pass, the gap narrows quickly, and a higher Luna setting is not a reliable fix: here xhigh cost 74% more than medium and passed the same 12.

## Artificial Analysis Index v5.0: Terra at low effort matches Luna at max

On Artificial Analysis's Intelligence Index v5.0, GPT-6.1 Terra at low effort scores 29 at $0.07 and 48 seconds per Index task, while GPT-6 Luna at max scores 28 at $0.15 and 597 seconds. That is one point higher for less than half the cost per task, about 12 times faster. Luna is cheaper only at settings where it also scores lower. The figures below are from the [Artificial Analysis GPT-6.1 Terra vs GPT-6 Luna release comparison](https://artificialanalysis.ai/models/releases/comparisons/gpt-6-1-terra-vs-gpt-6-luna) as of October 28, 2026; AA runs both models through OpenAI's own API.

| Reasoning effort | Terra score | Terra cost per task | Terra time per task | Luna score | Luna cost per task | Luna time per task |
| --- | ---: | ---: | ---: | ---: | ---: | ---: |
| `none` | 30 | $0.23 | 104 s | 9 | $0.07 | 86 s |
| `low` | 29 | $0.07 | 48 s | 10 | $0.01 | 28 s |
| `medium` | 38 | $0.17 | 118 s | 18 | $0.04 | not shown |
| `high` | 42 | $0.26 | 182 s | 21 | $0.07 | 269 s |
| `xhigh` | 45 | $0.40 | 287 s | 23 | $0.10 | 357 s |
| `max` | 51 | $0.96 | 657 s | 28 | $0.15 | 597 s |

Climbing Luna's effort ladder is expensive for what it adds. Going from Luna low to Luna max multiplies the cost per task 15 times, from $0.01 to $0.15, for 18 more points, while going from Terra low to Terra medium multiplies it 2.4 times, from $0.07 to $0.17, for 9 more points, already above any Luna setting. Terra at `none` is the odd row: it costs more and takes longer than Terra at low on these tasks, so turning reasoning off is not a way to make Terra cheaper.

The gap is widest on agentic work. On Terminal-Bench 4.0, Terra at max scores 55.6% against Luna's 12.6%, and even Terra at low, at 15.2%, edges past Luna at max. On AA-Omniscience v1.1, Terra scores 23 to 30 at every reasoning setting while Luna stays negative at every setting, from −8 to −26. AA's launch-day post put Terra "10 points above GPT-6 Luna," but that was on the earlier Index v4.3.2; on v5.0 the gap at max is 23 points.

Index scores are composites. A narrow workload with a good check, like most of the tasks in the October 28 test, can rank differently, which is why Luna matched Terra on 10 of the 12 tasks there, apart from one-off slips on both sides.

## Which work stays on Luna and which moves to Terra

Default to Luna for high-volume work where a check runs after every answer and Luna already passes at low or medium effort, and move a workload to Terra when its failures are of the kind a retry or a validator will not catch. The October 28 test and AA's sub-scores separate the cases fairly cleanly.

| Your workload | Start with | What would change it |
| --- | --- | --- |
| Extraction, summaries, classification, or simple code with a validator or tests | Luna, medium | Pass rate falls on real data, or you keep raising effort to hold it |
| Reading IDs, serial numbers, SKUs, or other exact strings from images | Terra, low | Luna gets the strings in your real images exactly right; confusable characters like O and 0 are where it slipped |
| Code against a detailed spec with edge cases | Terra, low or medium | Latency doesn't matter and tests catch Luna's misses, so retries are acceptable |
| Terminal work, tool calls, or computer use | Terra (AA Terminal-Bench 4.0; OpenAI's positioning) | Not covered by the October 28 test; run your own agent tasks first |
| Answers from model knowledge without retrieval | Terra | You add retrieval and grade answers against it |
| Anything you now run on Luna xhigh or max | Terra, low | Terra low fails your checks where Luna at a high setting passes |

Latency is the other reason to switch, independent of quality. If a person is waiting for each answer, Terra's 4.7 to 5.9 second median calls against Luna's 11.4 to 15.6 in the October 28 test may matter more than the cost per task. If the work runs in a background queue, Luna's slower thinking costs you nothing but time.

If Terra still fails your hardest tasks, the next step up is covered in [GPT-6.1 Terra vs GPT-6.1 Sol: Half the Price, Not Always Cheaper](https://blog.laozhang.ai/en/posts/gpt-6-1-terra-vs-gpt-6-1-sol), and the full four-model choice in [GPT-6 Sol vs Terra vs Luna vs Astra: Which Model Should You Use?](https://blog.laozhang.ai/en/posts/gpt-6-sol-vs-terra-vs-luna-vs-astra). For the Anthropic side, see [Claude Opus 5.5 vs GPT-6.1 Terra: 1/9 the Cost Only at Max](https://blog.laozhang.ai/en/posts/claude-opus-5-5-vs-gpt-6-1-terra) and [Claude Sonnet 5.5 vs GPT-6 Luna: 20x per Token, 5–50x per Task](https://blog.laozhang.ai/en/posts/claude-sonnet-5-5-vs-gpt-6-luna).

## How to test your own tasks before switching the model ID

A switching test is worth running before you change a production default, and it needs a few request changes so that both models get a fair comparison and nothing breaks. The October 28 checks behind these steps went through one gateway using OpenAI-style error messages; the direct OpenAI API was not tested.

1. Collect a set of real tasks from your logs and write a pass/fail check for each before running anything: hidden tests for code, a schema or exact-match fields for extraction, a word or format limit for summaries.
2. Run Luna at the effort you use today and one step higher, and Terra at `low` and `medium`. These are the pairs where switching can save money as well as add accuracy, because on AA's Index Terra low costs no more per task than Luna high.
3. Leave `max` out unless you call the Responses API. On October 28, 2026, Chat Completions with `reasoning_effort: "max"` returned HTTP 400 for both models with "does not support 'max' with this model. Supported values are: 'none', 'low', 'medium', 'high', and 'xhigh'", while the Responses API accepted `reasoning: { effort: "max" }` for both. A streamed Terra request with `max` went through once, but the behavior is inconsistent, so don't rely on it.
4. Set the output limit with `max_completion_tokens`. A Luna request with `max_tokens` came back 400 with "Use 'max_completion_tokens' instead."
5. If your Luna integration uses function calling on Chat Completions, move it to the Responses API first. Luna supports function calling on Chat Completions only with `reasoning_effort` set to `none`, and Terra's model page says its tool calling requires the Responses API.
6. Score each setting by total cost divided by passed tasks, plus median latency, then read the failures. A miss that repeats on every sample, like Luna's invoice number, means switching models; a miss that comes and goes, like the semver edge case, can be handled with retries if your check catches it.

One condition can rule Terra out before any test. According to [OpenAI's data controls guide](https://developers.openai.com/api/docs/guides/your-data), GPT-6.1 Sol and GPT-6.1 Terra support only US and EU data residency, so a project whose data residency region is outside the US and EU can keep GPT-6 Luna but can't switch to Terra. Those other regions store data in-region but don't guarantee in-region inference, so check your region on that page before counting on either.

## Can you use GPT-6.1 Terra in ChatGPT or Codex?

Not in the regular ChatGPT chat. OpenAI makes GPT-6.1 Terra available in Work and Codex on Plus, Pro, Business, Enterprise, and Edu plans, and states that it isn't available in Chat. Luna is in Chat, but only on the free side: as of October 8, 2026, ChatGPT Free and Go run GPT-6 on Luna, while paid plans use GPT-6 Sol, which [Is GPT-6 Free in ChatGPT? Yes, as GPT-6 Luna, Not Sol or Astra](https://blog.laozhang.ai/en/posts/is-gpt-6-free) covers in detail.

In Work and Codex, the same allowance goes about ten times further on Luna. OpenAI's [Codex pricing page](https://learn.chatgpt.com/docs/pricing) estimates 350 to 3,000 local messages per 5 hours with Luna on Plus and standard Business seats against 35 to 285 with Terra, as of October 28, 2026; these are estimates that vary with task size, context, and reasoning, not fixed limits, and Pro has no 5-hour limit, though weekly limits may apply. When you pay with ChatGPT credits, Luna costs 2.5 credits per million input tokens, 0.25 cached, and 12.5 output, and Terra 25, 1.25, and 125. The [Codex models guide](https://learn.chatgpt.com/docs/models) listed Terra for the desktop app, Work on the web, the Codex CLI, and the API as of October 27, 2026, but not for the Codex IDE extension, where Luna is listed. In the CLI, Terra needs version 0.159.0 or later and is selected with `codex -m gpt-6.1-terra`.

## Sources

External pages this guide links to, in the order they appear. Last updated 2026-10-28.

- [OpenAI API pricing page](https://developers.openai.com/api/docs/pricing) (developers.openai.com)
- [GPT-6.1 Terra's model page](https://developers.openai.com/api/docs/models/gpt-6.1-terra) (developers.openai.com)
- [GPT-6 Luna's model page](https://developers.openai.com/api/docs/models/gpt-6-luna) (developers.openai.com)
- [Artificial Analysis GPT-6.1 Terra vs GPT-6 Luna release comparison](https://artificialanalysis.ai/models/releases/comparisons/gpt-6-1-terra-vs-gpt-6-luna) (artificialanalysis.ai)
- [OpenAI's data controls guide](https://developers.openai.com/api/docs/guides/your-data) (developers.openai.com)
- [Codex pricing page](https://learn.chatgpt.com/docs/pricing) (learn.chatgpt.com)
- [Codex models guide](https://learn.chatgpt.com/docs/models) (learn.chatgpt.com)
