Four Prices, One Model

On July 30, 2026, OpenAI renamed Priority Processing to Fast mode: same lever, same 2x-of-Standard price, a plainer name. The rename is a footnote. What it points at isn't: GPT-5.6 Sol costs $40 per 1M output tokens on Fast mode, $20 on Standard, and $10 on Flex or Batch, a flat 4x spread on the identical model, decided by one field in the request body. Google runs a nearly matching ladder on Gemini and Vertex AI; Anthropic closed its Priority Tier to new commitments the same year, proof the tier menu itself isn't fixed either. Most integrations pick one tier once and never revisit it, which either overpays 4x for latency nobody is waiting on or risks a 429 hitting a user who was. This post covers what each tier actually buys, how the menu differs by provider, and the same request-level framework that already decides which model handles a call, applied to which tier does.

Published 2026-08-25 by Dor Amir on the Nadir blog.

Filed under Pricing & Models.

On July 30, 2026, OpenAI renamed a pricing lever. The lever is the story.

Priority Processing became Fast mode. Same service_tier parameter, same 2x-of-Standard price, same "up to 2.5x faster and more consistent" latency claim — just a name a developer might actually reach for instead of skipping past as enterprise-only jargon. Source: OpenAI, "Fast mode," API docs, 2026. The rename is a footnote. What it points at isn't: most teams still think of an LLM's price as one number per model. For GPT-5.6 Sol, Gemini 3.1 Pro, and every model behind a modern API, it's up to four — and which one you pay is a setting most integrations never touch after the day they were written.

The four tiers, in plain terms.

Every major provider now sells the same model at multiple price-latency points instead of one:

For GPT-5.6 Sol, short context, that's $8.00 / $40.00 per 1M input/output tokens on Fast mode, $4.00 / $20.00 on Standard, and $2.00 / $10.00 on Flex or Batch — a flat 4x spread on the exact same weights, for the exact same request, decided entirely by one field in the request body. Source: OpenAI API pricing, 2026.

Same model, four prices. GPT-5.6 Sol output price per 1M tokens: Fast mode (was Priority Processing) $40.00, Standard $20.00, Flex $10.00, Batch $10.00 — a 4x spread on the identical model. Right panel: premium-tier multiplier by provider — OpenAI Fast mode 2.0x, Google Gemini Priority 1.8x, Anthropic Priority tier retired for new commitments in 2026.
Same model, four prices. GPT-5.6 Sol output price per 1M tokens: Fast mode (was Priority Processing) $40.00, Standard $20.00, Flex $10.00, Batch $10.00 — a 4x spread on the identical model. Right panel: premium-tier multiplier by provider — OpenAI Fast mode 2.0x, Google Gemini Priority 1.8x, Anthropic Priority tier retired for new commitments in 2026.

Three providers, three menus, and the menu itself isn't fixed.

This is where it gets interesting for anyone tempted to hardcode a choice and move on. OpenAI's four-tier ladder above is one shape. Google's is close but not identical: Gemini and Vertex AI offer Standard, Priority (~1.8x, dedicated capacity, tighter SLA), Flex, and Batch, spanning models from Gemini 2.5 Flash-Lite up through Gemini 3.1 Pro. Source: CloudZero, "Google Vertex AI Pricing," 2026. Anthropic's shape changed under its own feet mid-2026: Priority Tier as a purchasable capacity commitment was closed to new customers, with existing commitments honored through their contract term; the service_tier parameter itself is still live on the Messages API, accepting auto or standard_only on request and returning standard, priority, or batch on response. Source: Anthropic, "Service tiers," Claude Platform Docs, 2026. A tier that was purchasable in January was retired for new buyers by August. That's not a one-time migration to absorb once — it's the same "pricing keeps moving under a static integration" pattern that has driven every model-selection and cache-strategy post on this blog, just running one layer over, on tiers instead of models.

The complexity got real enough that OpenRouter shipped a dedicated abstraction for it: a service_tier request parameter, :nitro and :floor model-name suffixes that sort candidate endpoints by throughput or price, and explicit provider slugs for pinning a tier directly. Billing "always follows the endpoint actually used," so a Priority request that falls back to Standard capacity is billed at the Standard rate, not the rate you asked for. Source: OpenRouter, "Service Tiers," docs, 2026. An entire routing feature exists because picking the right tier, per request, per provider, on a landscape that reshuffles every few months, was too much for teams to track by hand.

Where the 4x gets wasted, and where it gets needed.

The mistake is the same one this blog keeps returning to with models: pick one setting at integration time, apply it to every request forever. With tiers it shows up in both directions.

Paying Fast/Priority for work nobody is waiting on. A nightly re-embedding job, a batch of evals, a backlog of support-ticket classification — none of it is blocking a human, and all of it is billed at up to 4x Flex/Batch rates if the integration never sets service_tier. OpenAI is explicit that Flex is built for exactly this: "model evaluations, data enrichment, and asynchronous workloads." Source: OpenAI Flex processing docs, 2026.

Paying Standard for work a user is actively watching, when Fast was cheap insurance. A support-chat reply, an in-IDE code completion, a voice-agent turn — the kind of request where every added millisecond is a UX cost, not just a bill line — is exactly the case Google built the "non-sheddable" guarantee for. Paying 1.8-2x to keep that request out of a queue during a traffic spike is often the correct trade, not an indulgence.

Running production traffic on Flex without a fallback. Flex can 429 under load, and OpenAI's own guidance is to catch that and retry with service_tier: "auto" or fall back to Standard. Source: OpenAI Flex processing docs, 2026. Chasing the 2x discount on a path a customer is staring at, with no fallback wired in, trades a bill line for an outage.

None of these are model-quality questions. The model doesn't change. The weights don't change. The only thing moving is how much latency risk you're willing to sell back to the provider for a given request, and that answer is different for a chatbot reply than for a nightly backfill — which means it's a per-request decision, the same way which model handles a request is a per-request decision, not a once-at-launch one.

What actually ships this week.

Where this fits next to routing.

Model routing decides which model answers a request based on what the task needs. Verifier-gated cascades decide whether that answer was good enough before it ships. Tier selection is the same shape of decision on a third axis: not which model, not whether the answer passed, but how much of the 4x latency premium this particular request is worth paying. Handled well, it's a small, mechanical rule — is someone waiting, yes or no — sitting right next to the routing decision a request already goes through.

That's the layer Nadir sits at: point traffic at model=auto and every request already gets priced against live model and provider economics instead of a hardcoded integration. Extending that same per-request policy to tier, so a background job never pays Fast-mode rates and a live chat reply never silently lands on Flex, is the next turn of the same crank — one more setting that shouldn't have to be decided once, by hand, on the day someone wrote the integration.

Conclusion.

Fast mode is a rename. The 4x spread it sits inside is not, and it isn't going away — Google runs a nearly identical ladder, and even Anthropic's more conservative tier structure has already changed shape once this year. A team that picks Standard for everything is leaving Flex and Batch discounts on the table for every async job it runs. A team that picks Flex for everything to chase the discount is one traffic spike away from a 429 hitting a real user. The fix isn't a better guess at integration time. It's making the tier decision per request, the same way the model decision already should be.


Data in the chart is drawn from published provider pricing and documentation as of August 2026, not from proprietary production traces. Sources: [OpenAI, "Fast mode," API docs](https://developers.openai.com/api/docs/guides/priority-processing). [OpenAI, "Flex processing," API docs](https://developers.openai.com/api/docs/guides/flex-processing). [OpenAI API pricing](https://developers.openai.com/api/docs/pricing). [Anthropic, "Service tiers," Claude Platform Docs](https://platform.claude.com/docs/en/api/service-tiers). [CloudZero, "Google Vertex AI Pricing: Complete Enterprise Guide (2026)"](https://www.cloudzero.com/blog/google-vertex-ai-pricing/). [OpenRouter, "Service Tiers," docs](https://openrouter.ai/docs/guides/features/service-tiers).

More on pricing & models

What Nadir is

Nadir is an LLM router. Nadir sizes every prompt and routes it to the cheapest model that still clears your quality bar. A small decision model reads each prompt against your model menu and picks the lowest-cost model it expects to handle it. When the decision model is uncertain or unavailable, the request goes to the strongest model on the menu. The routing step makes no call to your model provider.

Nadir runs two ways. The decision API returns a model, reasoning-effort, cache, context, and policy recommendation without calling a model provider, beside the gateway you already run. That is how a shadow-mode evaluation works, and its projected savings stay advisory. The OpenAI compatible managed proxy executes the route, and migration is a two-line change: point the base URL at api.getnadir.com and set model to auto. On that path an optional verifier can score a complete non-streaming answer and escalate to a stronger model when it misses the configured bar. Streaming bypasses post-generation verification. BYOK is supported on every tier.

For coding agents, Nadir Auto is a terminal launcher for Claude Code or Codex that asks Nadir for the main-session model before each turn, with your configured model as the fallback and cost ceiling. Delegation integrations for Claude Code, Codex, or Cursor instead recommend a model tier for subagent work, and the agent decides. Either way inference runs on your own provider account, so Nadir holds no provider keys on that path.

What the numbers are, and what they are not

Nadir publishes each evaluation with its scope. On checkable code, run-check-escalate solved 392 of 395 common HumanEval and MBPP problems (99.2%), graded by running the canonical tests; that applies only to tasks with runnable deterministic tests. Nadir-Tumbler posts an arena_score of 72.3 on RouterArena's public scorer, 5th of 23 routers, which measures the routing decision on RouterArena's own model pool. A reference-assisted RouterBench evaluation over 11,420 held-out triples produced a 60% lower projected cost than always-Opus with about 98% retained quality and a 1.7% catastrophic-route rate. That experiment gave the verifier the expensive-model reference answer, which production does not have, so it is a research ceiling and not the deployed path.

None of these is a production guarantee, a universal savings rate, or a forecast for any particular workload. Customer savings are reported from measured execution against a declared baseline, and customer quality only from outcome-labelled traffic. Projected savings and realized savings are separate artifacts and are never blended.

Design-partner program

Three rungs, picked by risk appetite. Rung 0 Shadow runs advisory decision calls alongside live traffic and returns a projected receipt, with nothing in the request path changed. Rung 1 Hosted is the two-line swap on a production slice and returns a realized receipt. Rung 2 On-prem is a supervised six-week proof of concept inside the partner's VPC, where no prompt, response, or usage reaches Nadir. The commitments are the same at every rung. Apply for a rung directly: Rung 0 Shadow, Rung 1 Hosted, or Rung 2 On-prem. Not sure which fits? Start at getnadir.com/contact/?reason=design-partner.

Licensing

NadirClaw is the self-hosted core, source-available under the PolyForm Noncommercial License. Source-available is the correct label; NadirClaw is not open source. Nadir Route's hosted plan has no base fee and charges a variable fee only on measured savings from requests Nadir executed.

Pages on this site

Machine-readable summaries of this site: llms.txt and llms-full.txt.