Choosing among the eight OpenAI ids
Two of the eight are ruled out by route or modality before price enters. The remaining six split on context, output ceiling and a per-token rate spanning 8.33×. The order to decide in.
Start by eliminating on route and modality
Two ids leave the shortlist before any comparison of quality or price. gpt-image-2 is an image model on /v1/images/generations — it is not an alternative to the text ids, it is a different job. And stable-gpt-6-astra records /v1/messages as its route, so reaching it means the Anthropic-shaped request with x-api-key and anthropic-version rather than the Bearer-token responses call the others take.
That leaves six on /v1/responses: gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna, gpt-5.5, gpt-5.4 and gpt-5.4-mini. Among these six a substitution is a one-field change, which is what makes them genuinely comparable.
If your client already speaks the Anthropic message format, invert this step — stable-gpt-6-astra becomes the easy one to add and the six become the port. Route is the first filter either way because it is the only difference that costs engineering time rather than money.
Then on the two hard limits
Context and output ceiling are limits, not preferences: exceed them and the request fails or the response truncates, regardless of budget. The six split cleanly in two. gpt-5.6-sol, gpt-5.6-terra and gpt-5.6-luna take 372,000 tokens and emit up to 128,000. gpt-5.5, gpt-5.4 and gpt-5.4-mini take 272,000 and emit up to 64,000.
The output ceiling is the one to check first because it fails hardest — a task that must return one response longer than 64,000 tokens has three candidates, not six. If you need more room than 372,000 on the input side, none of the six qualifies and the decision moves to stable-gpt-6-astra at 1,050,000, with the route change that implies.
All six record the same capability set — text, tools and thinking — so capabilities do not narrow the field here. Release dates run from 2026-03-15 for the GPT 5.4 pair through 2026-05-01 for gpt-5.5 to 2026-07-09 for the three GPT 5.6 ids.
Then on price, read correctly
Effective rates per million tokens, input / output: gpt-5.4-mini at $0.075 / $0.45, gpt-5.6-luna at $0.10 / $0.60, gpt-5.4 at $0.25 / $1.50, gpt-5.6-sol and gpt-5.5 at $0.50 / $3.00, gpt-5.6-terra at $0.60 / $3.60. Top to bottom that is a spread of 8×.
Read those numbers rather than the multiplier column. Four of the six are 0.1×, gpt-5.6-terra is 0.3×, and gpt-5.6-luna is 0.5× — yet Luna is not the cheapest per token after you multiply. The multiplier is a discount on each model’s own official rate, and Luna’s low list price is what kept it competitive even at 0.5×.
Two pairings stay clean. gpt-5.6-sol and gpt-5.5 have identical effective rates, so between those two price is not a tiebreaker and context is: 372,000/128,000 against 272,000/64,000. gpt-5.6-terra now bills above gpt-5.4 ($0.60 / $3.60 against $0.25 / $1.50) while still carrying the larger context window.
export TOKEN_SHARE_KEY="<your-pool-api-key>"
for MODEL in gpt-5.6-luna gpt-5.6-terra gpt-5.6-sol gpt-5.4-mini gpt-5.4 gpt-5.5; do
echo "=== $MODEL ==="
curl -sS https://token-share.app/v1/responses \
-H "Authorization: Bearer $TOKEN_SHARE_KEY" \
-H "Content-Type: application/json" \
-d "{
\"model\": \"$MODEL\",
\"input\": \"Given this diff, name the one behavior change a reviewer must verify.\"
}"
doneWhat the table cannot decide for you
Nothing in the catalog ranks these ids by answer quality, and this page will not invent one. Once route, context and output ceiling have narrowed the field, what remains is whether a cheaper id produces answers you can use on your prompts — and that is a property of your workload, not of the model list.
The test is cheap because the request shape is shared. Take a few dozen prompts from real traffic, run them through two or three candidates, and compare outputs alongside the token counts each returned. Then count retries: a model 3.33× cheaper per token stops being cheaper once it needs a fourth attempt where the other needed one.
One factor that shifts the arithmetic: cached input is billed separately from fresh input, and the official cache-read rates follow each model’s own tier — $0.50 per million on gpt-5.5 and gpt-5.6-sol down to $0.02 on gpt-5.6-luna. If your prompts share a long stable prefix, run the comparison with that prefix in place, or the measured gap will not match your production bill.