GPT-5.6 Terra API Routing Guide (2026): Pricing, Context, and Fallbacks

On July 22, 2026, OpenAI's API documentation surfaced the current GPT-5.6 lineup in a clearer three-tier shape: GPT-5.6 Sol for the hardest reasoning and coding work, GPT-5.6 Terra for the middle ground, and GPT-5.6 Luna for high-volume cost-sensitive traffic. The most interesting part for developers isn't the branding. It's the routing decision.

Terra is the model you should look at when your app needs solid reasoning, structured outputs, tools, and long context, but you don't want to pay Sol prices for every request. In real systems, that usually means support triage, document analysis, coding helpers, data extraction, internal agents, and dashboard copilots. This guide turns the new docs into a production routing plan.

TL;DR: Key Takeaways

  • GPT-5.6 Terra costs $2.50 per million input tokens and $15.00 per million output tokens in the OpenAI API short-context price band as of July 23, 2026.
  • GPT-5.6 Terra has a 1,050,000-token context window and a 128,000-token maximum output limit, according to OpenAI API documentation checked on July 23, 2026.
  • GPT-5.6 Terra cached input costs $0.25 per million tokens, and cache writes are billed at 1.25 times the uncached input token rate.
  • OpenAI states that GPT-5.6 requests with more than 272,000 input tokens are priced at 2 times input and 1.5 times output for the full request.
  • GPT-5.6 Terra is the balanced GPT-5.6 tier for workloads that need more capability than GPT-5.6 Luna but do not require GPT-5.6 Sol on every request.

GPT-5.6 Pricing Table

The table below uses OpenAI API pricing and model pages checked on July 23, 2026. Prices are in U.S. dollars per 1 million tokens.

ModelInput priceCached input priceOutput priceContext window
GPT-5.6 Sol$5.00 / 1M tokens$0.50 / 1M tokens$30.00 / 1M tokens1,050,000 tokens
GPT-5.6 Terra$2.50 / 1M tokens$0.25 / 1M tokens$15.00 / 1M tokens1,050,000 tokens
GPT-5.6 Luna$1.00 / 1M tokens$0.10 / 1M tokens$6.00 / 1M tokens1,050,000 tokens

GPT-5.6 Terra vs Sol vs Luna

OptionBest forInput/output priceContext and outputKey limitation
GPT-5.6 SolComplex professional reasoning, hard coding tasks, deep analysis, and high-stakes agent decisions.$5.00 input and $30.00 output per 1M tokens.1,050,000-token context window and 128,000-token max output.It is the most expensive GPT-5.6 tier.
GPT-5.6 TerraBalanced production workloads such as support agents, code review, extraction, analytics, and internal copilots.$2.50 input and $15.00 output per 1M tokens.1,050,000-token context window and 128,000-token max output.It is not the highest-capability GPT-5.6 tier for the hardest tasks.
GPT-5.6 LunaHigh-volume classification, summarization, routing, cleanup, and budget-sensitive tasks.$1.00 input and $6.00 output per 1M tokens.1,050,000-token context window and 128,000-token max output.It is optimized for cost-sensitive workloads, not maximum reasoning depth.

The Practical Routing Rule

Don't route by vibe. Route by failure cost.

Use GPT-5.6 Luna when the task is short, repetitive, easy to verify, and cheap to retry. Use GPT-5.6 Terra when the task has enough ambiguity that bad reasoning creates user-visible damage. Use GPT-5.6 Sol when the task is either hard enough to justify the bill or expensive enough that a wrong answer costs more than the model call.

Here's a rough production split that works better than “always use the biggest model”:

The 1,050,000-token context window is tempting, but don't treat it as permission to dump everything. OpenAI says prompts with more than 272,000 input tokens move into a higher price band: 2x input and 1.5x output for the full request. That means a lazy long-context request can wipe out the savings you expected from using Terra instead of Sol.

Minimal curl Example

Terra is available through the same standard API shape, so you can test routing without changing your whole app.

curl https://api.openai.com/v1/responses \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-terra",
    "input": "Extract the renewal date, contract value, and termination clause from this agreement. Return strict JSON.",
    "max_output_tokens": 1200
  }'

If your app already uses an OpenAI-compatible gateway, keep the model name configurable. Hard-coding model names into business logic is how teams end up with painful migrations later.

Python: Route by Task Class

This example keeps the routing rule small enough that product engineers can understand it. You can move the same idea into feature flags later.

from openai import OpenAI

client = OpenAI()

MODEL_BY_TASK = {
    "classify": "gpt-5.6-luna",
    "extract": "gpt-5.6-terra",
    "code_review": "gpt-5.6-terra",
    "hard_debug": "gpt-5.6-sol",
}

def run_task(task_type: str, prompt: str) -> str:
    model = MODEL_BY_TASK.get(task_type, "gpt-5.6-terra")
    response = client.responses.create(
        model=model,
        input=prompt,
        max_output_tokens=1600,
    )
    return response.output_text

Two details matter here. First, Terra is the default, not Sol. Second, the “hard” route must be explicit. If every uncertain task silently escalates to Sol, your monthly bill will drift upward and nobody will know why.

Node.js: Add Fallback Without Hiding Errors

Fallbacks are useful, but they can also mask broken prompts. Log the first failure, then retry with a known backup. If you use KissAPI as an OpenAI-compatible secondary route, the client change is usually a base URL and key swap rather than a full SDK rewrite.

import OpenAI from "openai";

const primary = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
const backup = new OpenAI({
  apiKey: process.env.KISSAPI_API_KEY,
  baseURL: "https://api.kissapi.ai/v1"
});

export async function answerSupportTicket(ticket) {
  const body = {
    model: "gpt-5.6-terra",
    input: `Write a concise support reply. Ticket:\n${ticket}`,
    max_output_tokens: 900
  };

  try {
    return (await primary.responses.create(body)).output_text;
  } catch (err) {
    console.error("primary_model_failed", { model: body.model, err: String(err) });
    return (await backup.responses.create(body)).output_text;
  }
}

That fallback is not a license to ignore reliability. Track fallback rate, latency, and cost separately. If fallback rate jumps from 1% to 15%, that is an incident, not a rounding error.

Use the 272K Threshold Deliberately

The most common mistake with million-token models is using context as storage. It feels convenient until the invoice arrives. For Terra, the smarter pattern is:

  1. Summarize or retrieve only the relevant chunks for normal requests.
  2. Use cached input for stable policy, schemas, and tool instructions.
  3. Reserve very long context for cases where the whole artifact truly matters.
  4. Escalate to Sol only when Terra fails a measurable quality gate.

For example, a contract review app can use Luna to classify document type, Terra to extract clauses from retrieved sections, and Sol only for final risk review on high-value contracts. That design is faster to debug than a single giant prompt, and it usually costs less.

Budget Check Example

Before routing a request, estimate whether it will cross the higher price band. This simple guard catches expensive surprises.

def pick_gpt56_model(task: str, input_tokens: int) -> str:
    if input_tokens > 272_000:
        return "gpt-5.6-terra"  # Keep long-context tasks reviewed and logged.
    if task in {"tag", "classify", "short_summary"}:
        return "gpt-5.6-luna"
    if task in {"architecture", "hard_debug", "risk_review"}:
        return "gpt-5.6-sol"
    return "gpt-5.6-terra"

In production, pair this with a token counter and a cost estimator. KissAPI's token counter and API cost calculator are useful quick checks before you ship a new prompt template.

Build a Safer GPT-5.6 Routing Stack

Create a free KissAPI account and test OpenAI-compatible routing, fallback, and cost controls without rewriting your app.

Start Free

FAQ

How much does GPT-5.6 Terra cost?

GPT-5.6 Terra costs $2.50 per million input tokens, $0.25 per million cached input tokens, and $15.00 per million output tokens in the short-context price band as of July 23, 2026.

What context window does GPT-5.6 Terra support?

GPT-5.6 Terra supports a 1,050,000-token context window and up to 128,000 output tokens, according to OpenAI API documentation checked on July 23, 2026.

Should I replace GPT-5.6 Sol with Terra?

Not everywhere. Terra is the better default for balanced production traffic, while Sol still makes sense for hard reasoning, complex coding, and high-stakes decisions where quality is worth the higher price.