Largest context models: who reaches 1M, and what it costs to use it
Fifteen catalog entries hold 1,000,000 tokens or more. Their effective input rates span 80×, from $0.050 to $4.00 per million, and the output ceiling splits the group in half.
A million tokens is not the scarce part
Fifteen of the 31 catalog entries hold 1,000,000 tokens or more. Nine are Claude ids, five are Gemini ids, and one — stable-gpt-6-astra at 1,050,000 — is the single largest window here. Sorting the catalog by context size does not narrow the field much.
The tier below is a real drop: grok-4.6 and grok-4.5 at 500,000, the gpt-5.6 family at 372,000, gpt-5.5 / gpt-5.4 / gpt-5.4-mini at 272,000, and claude-sonnet-4-6, stable-claude-sonnet-4-6, stable-claude-haiku-4-5 and grok-composer-2.5-fast at 200,000. So the question is rarely "can I find 1M" — it is which of the fifteen you want to pay for.
And the price spread inside that group is enormous. gemini-3-flash bills at $0.050 per million input tokens; stable-claude-fable-5-1 and stable-claude-fable-5 bill at $4.00. That is a factor of 80 between two models with the same headline context number.
The output ceiling splits the group
Ten of the fifteen cap output at 128,000 tokens per response: claude-opus-5, claude-opus-4-8, claude-opus-4-6, claude-sonnet-5, their stable-* twins, both Fable stable lanes, and stable-gpt-6-astra. The five Gemini ids cap at 65,536 — 65,535 for gemini-3.1-pro-low.
That matters more than it looks. A large input window and a small output ceiling is a perfectly coherent design for summarisation, retrieval and analysis: read a lot, say a little. It is a poor fit for generating a long document or a large diff in one response, where you will hit the ceiling regardless of how much room the input had.
So the first cut is not price. It is whether your work is read-heavy or write-heavy. Read-heavy work can use the cheap half of this list; write-heavy work past 65,536 output tokens cannot, and the choice collapses to the ten ids that reach 128,000.
What filling the window costs
Take one request with 900,000 input tokens and multiply by the effective input rate. On gemini-3-flash that is $0.045. On gemini-3.7-flash-high or gemini-3.6-flash-high, $0.0675. On gemini-3.8-flash, $0.135. On gemini-3.1-pro-low, $0.18. On claude-sonnet-5, $0.27. On claude-opus-5, $0.45. On stable-claude-opus-5 or stable-gpt-6-astra, $1.80. On the Fable stable lanes, $3.60.
One request. If that prefix repeats across a conversation you pay it again every turn, which is where a large window turns from a capability into a recurring line item. The catalog prices a cache read separately from fresh input for these models, so a genuinely stable prefix is the case where the repetition stops being charged at the full input rate.
The trap is treating the window as a default rather than a budget. Nothing about a 1,000,000-token model requires you to send 1,000,000 tokens, and the rate is per token either way — a 20,000-token request on stable-claude-fable-5-1, the most expensive id in this group, costs $0.08, less than the $0.27 a 900,000-token request costs on claude-sonnet-5.
# gemini-3-flash: 1,000,000 ctx, 65,536 max output, $0.050 / M input
curl -sS https://token-share.app/v1/chat/completions \
-H "Authorization: Bearer $TOKEN_SHARE_KEY" \
-H "content-type: application/json" \
-d '{
"model": "gemini-3-flash",
"messages": [{"role": "user", "content": "Summarise the attached design doc in ten bullet points."}]
}' | jq '.usage'
# claude-sonnet-5: 1,000,000 ctx, 128,000 max output, $0.30 / M input
curl -sS https://token-share.app/v1/messages \
-H "x-api-key: $TOKEN_SHARE_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-5",
"max_tokens": 4096,
"messages": [{"role": "user", "content": "Summarise the attached design doc in ten bullet points."}]
}' | jq '.usage'Choosing inside the group
Three columns do the work, in this order. Output ceiling: 65,536 or 128,000 — this is a hard constraint and it eliminates, so apply it first. Route: the Gemini ids answer on /v1/chat/completions, every Claude id and stable-gpt-6-astra on /v1/messages, which decides how much integration work a switch costs you. Then price, over the candidates the first two left standing.
Lane is a fourth consideration and an independent one. claude-opus-5 at $0.50 input and stable-claude-opus-5 at $2.00 are the same weights and the same 1,000,000-token window; the difference is that a stable-* id is a dedicated lane served on our own key and does not participate in pool failover. That is a routing decision, not a capability one.
What none of these columns tell you is whether a model uses a long context well. A window is capacity to accept tokens, not a guarantee about what the model does with the material at position 700,000. If your work depends on that, the test is to build a prompt at the size you actually run and check whether the answer reflects the whole input — cheap to do on the Flash-tier ids, and worth doing before committing to any of them.