
100% private · no tracking · works offline100% client-side/no data leaves your browser/no accounts/works offline
A production guide to routing selected OpenAI API requests through Fast mode, measuring the latency benefit, detecting downgrades, and controlling the premium.
Free toolkit
85+ private dev tools
Everything runs in your browser. Zero tracking, no sign-up.
Browse toolsOpenAI API Fast Mode gives latency-sensitive requests a faster processing path without changing the selected model. The useful production pattern is not to turn it on everywhere, but to route only interactions whose user value justifies the higher token price, record which tier actually served each response, and compare tail latency against a Standard control group.
OpenAI renamed Priority processing to Fast mode on July 30, 2026. Existing requests with service_tier: "priority" remain valid; new integrations can send service_tier: "fast". For GPT-5.6 and earlier models, the API response and Usage dashboard still report the tier as priority, even when the request used the new fast value.
The rename coincided with a larger speed claim for gpt-5.6-sol: up to 2.5 times the Standard processing speed, with the same model intelligence. “Up to” matters. It is not a per-request guarantee, and it does not mean total wall-clock latency will always fall by the same factor. Network time, prompt ingestion, tool execution, reasoning, and application work still contribute to the user-visible duration.
This distinction is easy to miss because search results mix three different products:
| Product surface | Control | Billing unit | What it changes |
|---|---|---|---|
| OpenAI API Fast mode | service_tier: "fast" |
API tokens | Processing tier for an API request |
| Codex Fast mode | Codex setting or command | ChatGPT credits when signed in with ChatGPT | Codex model speed and credit use |
| A smaller model | Different model value |
That model's token prices | Capability, price, and latency profile |
This article covers the API processing tier. It does not assume that a similarly named toggle in Codex has the same price or behavior.
Fast mode is available on the Responses API and Chat Completions API. Set service_tier per request, or make Fast the project default in the OpenAI dashboard. Per-request selection is safer for most production systems because the call site makes the latency decision explicit and background traffic stays on Standard.
The smallest Responses API request is:
curl https://api.openai.com/v1/responses \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.6-sol",
"input": "Summarize the incident in three bullet points.",
"service_tier": "fast"
}'
Two compatibility rules should shape your implementation:
fast and priority as request aliases for supported existing models.service_tier as the source of truth for what actually happened. A response of priority can represent a successful Fast request on GPT-5.6 or earlier; default means Standard processing served it.Fast mode shares a model's normal rate limit with Standard traffic. It is not extra rate-limit capacity. It also does not support long-context requests, fine-tuned models, or embeddings. Image inputs are supported when the underlying model supports them, and cached-input discounts still apply.
The current behavior and limits are documented in OpenAI's Fast mode guide.
Fast mode is pay-as-you-go at a per-token premium. As of August 1, 2026, the direct OpenAI prices below apply to short-context GPT-5.6 requests:
| Model | Standard input | Standard cached input | Standard output | Fast input | Fast cached input | Fast output |
|---|---|---|---|---|---|---|
| GPT-5.6 Sol | $5.00 | $0.50 | $30.00 | $10.00 | $1.00 | $60.00 |
| GPT-5.6 Terra | $2.00 | $0.20 | $12.00 | $4.00 | $0.40 | $24.00 |
| GPT-5.6 Luna | $0.20 | $0.02 | $1.20 | $0.40 | $0.04 | $2.40 |
Prices are per one million tokens. Verify them against the live OpenAI API pricing page before hard-coding budgets because model and service-tier prices can change.
For one request, the incremental Fast-mode cost is:
extra_cost = fast_cost - standard_cost
For a short-context GPT-5.6 Sol request with 8,000 uncached input tokens, 12,000 cached input tokens, and 1,000 output tokens:
Standard = 8,000/1M × $5 + 12,000/1M × $0.50 + 1,000/1M × $30
= $0.076
Fast = 8,000/1M × $10 + 12,000/1M × $1 + 1,000/1M × $60
= $0.152
Incremental cost = $0.076
The decision is therefore not “Is twice the price expensive?” It is “Is reducing this interaction's latency worth about 7.6 cents?” Use the actual token distribution and business value of your route, not an average across unrelated workloads.
Prompt caching remains important because a cache hit reduces the base to which the Fast premium applies. If your agent repeatedly sends a stable tool catalog or policy block, structure that content consistently. The site's context engineering guide covers the broader work of selecting and compressing agent context.
Fast mode fits synchronous, user-facing paths where model latency is a meaningful part of the wait:
It is usually a poor default for offline evaluation, extraction pipelines, backfills, nightly jobs, or speculative agent branches. Those jobs gain little from faster token delivery and can create exactly the sudden token ramp that Fast mode is designed to constrain.
Use a routing policy based on product semantics, not user-supplied text. A client should not be able to add ?fast=true and spend at the premium rate without server-side authorization. Reasonable inputs include endpoint identity, account tier, remaining latency budget, request size estimate, and a feature-flag allocation.

The following Node.js example keeps the policy pure, makes Standard the default, and records the tier returned by the API. Install the current OpenAI JavaScript SDK with npm install openai, then run the module with Node.js after setting OPENAI_API_KEY.
import OpenAI from "openai";
import { performance } from "node:perf_hooks";
const client = new OpenAI();
function selectServiceTier({ interactive, plan, estimatedInputTokens }) {
const eligiblePlan = plan === "pro" || plan === "enterprise";
const withinPromptGuardrail = estimatedInputTokens <= 100_000;
return interactive && eligiblePlan && withinPromptGuardrail
? "fast"
: "default";
}
export async function generateAnswer({ input, requestContext }) {
const requestedTier = selectServiceTier(requestContext);
const startedAt = performance.now();
const response = await client.responses.create({
model: "gpt-5.6-sol",
input,
service_tier: requestedTier,
});
const durationMs = Math.round(performance.now() - startedAt);
const servedTier = response.service_tier ?? "unknown";
console.log(JSON.stringify({
requestedTier,
servedTier,
durationMs,
inputTokens: response.usage?.input_tokens,
outputTokens: response.usage?.output_tokens,
}));
return response.output_text;
}
Do not copy the illustrative 100_000-token guardrail as an OpenAI limit. It is an application budget chosen well below the unsupported long-context range. Set your own threshold from observed request sizes and the current model documentation.
If the project default is Fast, explicitly send service_tier: "default" from batch and low-value routes. Otherwise, a dashboard change can silently move more traffic onto the premium tier.
Fast mode has a ramp-rate control in addition to normal model rate limits. OpenAI says it may apply when traffic is at least one million tokens per minute and TPM rises by more than 50% within 15 minutes. If performance is degraded while traffic is ramping too quickly, some requests can be served at Standard speed and charged at Standard rates.
That is not an HTTP failure. The request can succeed normally, so retrying it would duplicate work and cost. Detect it from the response:
function normalizeServedTier(serviceTier) {
if (serviceTier === "priority" || serviceTier === "fast") return "fast";
if (serviceTier === "default") return "standard";
return "unknown";
}
Record both requested and normalized served tiers. Alert on the downgrade ratio over a window, not on a single event. If the ratio rises during a deployment, slow the feature-flag rollout. If it is chronic under stable traffic, the workload may need Scale Tier rather than repeated Fast requests.
All traffic contributes to the same ramp-rate calculation across projects and organizations. Splitting a sudden launch across several project IDs is therefore not a reliable workaround.
Do not compare a Fast request from today with a Standard average from last month. Run a concurrent controlled rollout because prompt mix, model snapshots, traffic, and network paths all affect latency.
Measure at least:
Keep model, prompt, tools, region, timeout, and streaming behavior constant between cohorts. Start with a small deterministic allocation, such as 5% Fast and 5% Standard on the same eligible route. Compare distributions after enough traffic covers normal peaks; do not decide from a handful of requests.
A useful decision metric is the cost of latency saved:
cost_per_second_saved =
(fast_cost - standard_cost) / (standard_duration - fast_duration)
Segment it by route. A second saved in an IDE interaction may be valuable, while the same second in a background summary has no measurable product benefit.
Use a feature flag and increase the Fast allocation over hours, not in one deployment. A safe sequence is 1%, 5%, 15%, 30%, then the intended steady-state share, with a hold at each step long enough to inspect latency, cost, errors, and downgrades.
Add three operational controls before launch:
default without a redeploy.If you are already building complex OpenAI agent loops, pair this routing boundary with explicit tool budgets and continuation limits. The Programmatic Tool Calling production guide explains why nested tool execution needs its own cost and permission controls. For broader comparisons between flat subscriptions and token-metered tooling, see AI coding tools pricing in 2026.
| Processing option | Best fit | Latency expectation | Cost posture |
|---|---|---|---|
| Standard | General synchronous traffic | Normal | Baseline token price |
| Fast | High-value interactive traffic | Faster and more consistent | Premium per token |
| Flex | Lower-priority asynchronous work that can tolerate slower or unavailable capacity | Variable | Lower-cost posture |
| Batch | Large offline jobs submitted for asynchronous completion | Not interactive | Discounted batch processing |
| Scale Tier | Predictable, sustained enterprise throughput requiring purchased capacity | SLA-backed provisioned capacity | Committed capacity |
Fast is not a substitute for application latency work. Reduce unnecessary output, parallelize independent steps, stream when it improves the experience, cache stable prompt prefixes, and remove avoidable model calls first. Then pay for Fast where model serving remains the dominant delay.
service_tier: "priority" deprecated?#No removal date is documented. OpenAI says priority and fast both access Fast mode for supported models. New code should prefer fast because it matches the current name, while existing integrations can migrate without urgency.
service_tier: "priority"?#For GPT-5.6 and earlier models, responses, usage reporting, and invoices retain the older priority label. Normalize both priority and fast to one internal Fast value, while preserving the raw field for auditability.
No. Fast and Standard consumption share the same model rate limit. Fast mode changes processing speed, not your allowed request or token capacity.
Not currently. OpenAI lists long context, fine-tuned models, and embeddings as unsupported. Add an application guardrail so an ineligible request does not rely on premium routing.
Yes. Eligible cached inputs retain their discounts. OpenAI also documents compatibility with data residency, Zero Data Retention, and Business Associate Agreements, subject to the existing endpoint, tool, eligibility, and contractual requirements.
OpenAI API Fast Mode is most useful as a selective production control, not a global speed switch. Route only high-value synchronous calls, verify the served tier, measure tail latency and incremental cost together, and ramp traffic gradually. That turns a premium processing option into an explicit product decision instead of a surprise on the invoice.
Comments
Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.