Route GPT-5.6 to the Cheapest Tier That Clears the Floor
Set a task-specific capability floor, estimate tokens and cache reuse, then apply tier rates to pick the cheapest model that clears it.

When you assign a task to a GPT-5.6 tier, the trade-off is capability per dollar. At launch, Sol cost $5 input and $30 output per million tokens, Terra $2.50 and $15, and Luna $1 and $6, so Sol was five times Luna on both rates. A high-reuse production task can make the cheaper tier win even when it is weaker. GPT-5.6 went public on July 9, 2026 as Luna, Terra, and Sol. The routing rule is: set a task-specific capability floor, estimate tokens and cache reuse, apply those rates, and choose the cheapest tier that clears the floor.
Set a testable floor before choosing a tier
Write the minimum quality as a number you can test. For a code task, use a pass rate on a representative eval; for a support task, use a human-approval rate. Choose a sample that matches production traffic. If the floor is latency, put it in the same threshold. The target should be a dashboard value, not a label like good enough.
Capability is task-specific. On SWE-Bench Pro, Sol scored 64.6%, 15.4 points behind Claude Fable 5's 80%; on Agents' Last Exam, Sol recorded 53.6, 13.1 points ahead of Claude Fable 5. That spread is why the floor has to come from your own eval, not from a model ranking.
Measure input tokens, output tokens, and the share of input that repeats across calls. A long system block, tool schema, or document chunk can make cache reads dominate. Record average input, average output, and cache-read share per task. If the task reuses a large prefix, split the budget into fresh input, cached input, cache writes, and output. Cache reads are not free, but they are much cheaper than fresh input.
Price the tier from the measured token mix
Use the launch rates from the opening for fresh input and output. For GPT-5.6 and later models, cache writes bill at 1.25 times the uncached input rate, and cache reads get a 90% discount from the input rate. Multiply each token bucket by the matching rate, then sum the result. Record a line item per tier: fresh input cost, cache cost, output cost, and total.
OpenAI positioned Terra as the everyday model, with performance near GPT-5.5 at half the cost. That framing is not a routing decision. The decision comes from your measured floor and your measured token mix.
Turn the token bill into a unit cost: divide total request cost by the number of completed tasks. Track it by task type, not model name. Keep a recurring table showing cost per task, cache-read share, and floor pass rate.
Test the same task on the low, mid, and high tiers only until the floor is met. Ship the low tier when it clears the floor. Move to mid after a measured low-tier miss, and ship it when it clears. Pay the high-tier rate only after a measured mid-tier miss, and record the reason. Keep a routing table with task name, floor, measured pass rate, and selected tier.
Treat Pro mode as a separate cost decision
In a high-volume mid-tier extended-compute setup, Terra Pro scored 28.5% on GeneBench-Pro, 0.2 points below standard Sol's 28.7% at its highest reasoning setting; OpenAI's Pro mode lifted Sol to 31.5%. When reasoning was set to maximum, Sol cleared almost six times more GeneBench-Pro problems than at minimum, yet used only two-thirds as many tokens.
Luna's Pro-mode gain on GeneBench-Pro was 7.1 points, 2.5 times Sol's 2.8-point gain. Extended compute can raise pass rates and change the token bill at the same time. OpenAI did not disclose token use for those Pro benchmark runs. Price the extra compute before routing traffic to it.
Verify access and re-run the floor
Before you build a production route, confirm your account can actually call the tier. As of July 2, 2026, the models were not in ChatGPT, and access ran through the API and Codex for about 20 government-vetted organizations. Verify your endpoint, rate limits, and model IDs in the environment you will bill.
Re-run the eval when the prompt, tools, or data distribution changes. A task that cleared the floor can fail after a schema change. Make the scheduled regression check emit a tier recommendation, not just a pass/fail flag.
Keep the routing table visible to the team. When a task moves from the low tier to the mid tier, the reason should be a measured miss, not a hunch. When it moves back, the reason should be a measured pass at the lower cost.