Service Tiers
Some providers sell the same model at more than one grade of capacity. Every request uses the standard tier unless you ask for another one; the exception is priority endpoints of open-weight models, which also compete for default traffic (see Finding Tier Endpoints):priority and fast are two spellings of the same tier; a request can use either. Providers label their priority endpoints differently (fast, turbo, highspeed, prime), and an endpoint’s badge and slug use the provider’s label (for example deepinfra/turbo or alibaba/prime), while service_tier: "priority" or "fast" requests all of them. See Fast mode.
OpenRouter lists each tier as its own endpoint of the model. You can let tier endpoints compete with standard endpoints for your traffic, or request a tier explicitly. Either way, the response reports the tier that actually served the request, and you’re billed at that endpoint’s price.
A few OpenAI models also offer an ultrafast tier above priority.
The :nitro and :floor Variants
The simplest way to use service tiers is to append a variant to the model ID. :nitro sorts every endpoint for the model by throughput and admits priority tier endpoints into that sort. :floor sorts by price and admits flex endpoints.
service_tier parameter below when you need a specific tier regardless of how it compares to the alternatives.
See Nitro and Floor for the variants in full.
Using Service Tiers
To pin a tier explicitly, passservice_tier as a top-level parameter in your request body. Supported values:
default: the standard tier.flex: lower price, lower processing priority.priorityorfast: priority processing, higher price.ultrafast: see Ultrafast.
flex tier from OpenAI’s gpt-5; the flex endpoint’s pricing is listed on the model page.
The service_tier parameter is also accepted on the Responses API and the Anthropic Messages API. See API Response Differences below for where the response field is returned in each.
Anthropic Messages API
Fast mode
Three spellings request the priority tier. They are fully interchangeable on all APIs and providers:service_tier: "priority"service_tier: "fast"(OpenAI’s Fast mode rename of priority processing)speed: "fast"(Anthropic’s native parameter)
turbo, highspeed, prime) are not request values: they name endpoints, not requests. A request for priority or fast reaches those endpoints too.
Reported tier. The response always reports the tier as priority, never fast. This matches OpenAI’s own API, which returns priority even when the request spelled the tier fast.
Anthropic models. The reported tier is derived from the speed Anthropic returns:
- A fast-served request reports
service_tier: "priority", plususage.speed: "fast"on the Messages API. - Anthropic’s own API would echo
service_tier: "standard"for the same request. - On models that support fast mode, the request routes to the model’s
fastservice tier endpoint like any other provider’s priority tier. See Fast Mode in the Claude Code guide.
speed: "standard" with service_tier: "priority"), both are honored as written and neither is derived from the other.
Deprecated *-fast models. The dedicated *-fast models (e.g. anthropic/claude-opus-5-fast) are deprecated. They keep working and are served by the same fast tier capacity, but new integrations should target the regular model.
Anthropic itself has deprecated its priority tier. Per Anthropic’s service tiers documentation: “Priority Tier capacity commitments are no longer available for purchase. Organizations with an existing commitment can continue to use Priority Tier through their contract end date.”
Ultrafast
ultrafast is OpenAI’s Ultrafast mode, a tier above priority. It is available on select OpenAI models; on models that offer it, the model page lists an openai/ultrafast endpoint with its pricing.
Ultrafast is a separate tier, not another spelling of priority, and it is opt-in only. OpenRouter never routes to it unless you name it:
openai/ultrafast endpoint slug in provider.order or provider.only (see How Routing Works). Nothing else selects it: not :nitro, not service_tier: "priority" or "fast", and not provider.sort.
An ultrafast request tries ultrafast endpoints first, then priority endpoints, then standard endpoints. You’re billed at the rate of the tier that served the request, and the response’s service_tier field reports that tier. If the model has no ultrafast endpoint, the request behaves like service_tier: "priority".
How Routing Works
Non-default tier endpoints (flex, priority, ultrafast) are only considered when your request asks for them. There are three ways to do that.
1. The :nitro and :floor model variants
:nitromakes priority endpoints eligible.:floormakes flex endpoints eligible.- Unlike the
service_tierparameter, tier endpoints get no special treatment. The whole pool is sorted by the variant’s metric (throughput for:nitro, price for:floor), so a tier endpoint is used only when it wins that sort. - Setting
provider.orderreplaces sorting with your explicit ordering, which disables the variant’s tier admission. Name a tier endpoint slug in the order list to include it. - An explicit
service_tier: "default"also disables the variant’s tier admission, so you can use:nitro/:floorpurely for their sorting while pinning the standard tier.
2. The service_tier parameter
priority: matching endpoints are tried first, with fallback to other endpoints if none succeed. Within each group, endpoints are sorted by throughput by default, and settingprovider.orderorprovider.sortreplaces that default with your ordering. Billing always follows the endpoint actually used, so a priority request that falls back off-tier is charged at that endpoint’s standard rate, not the tier rate.ultrafast: works likeprioritywith one more group in front: ultrafast endpoints, then priority endpoints, then default endpoints. See Ultrafast.flex: routing is restricted to flex endpoints (sorted by price). Flex never falls back to a default-tier endpoint, since that would cost more than the tier you requested, so a flex capacity error surfaces instead.- If the pool contains no flex endpoints at all (for example, the model has no flex-capable provider), the request routes normally at standard rates.
- Combine with
allow_fallbacks: falseto route only to the top endpoint of that tier.
3. Tier endpoint slugs in provider.order or provider.only
- Each tier has its own endpoint slug, formed by appending the tier to the slug of its standard sibling, after any variant or region segment, e.g.
openai/fast,openai/ultrafast,google-vertex/global/flex, orbaseten/fp4/us/priority. The tier is always the last segment; see Targeting Specific Provider Endpoints for the full slug shape. "provider": { "only": ["openai/fast"] }restricts routing to OpenAI’s Fast tier. See Provider Selection forprovider.orderandprovider.onlyin full.- The
fastandpriorityslug suffixes are interchangeable, soopenai/prioritymatches the same endpoint asopenai/fast.
Comparing Tier Selection Options
In every case, billing follows the tier that actually served the request: if a provider sheds a tier request to its default tier, you’re billed the default rate.
The variants are the recommended default, since a tier endpoint serves only when it wins on the metric you asked for. The
service_tier parameter is the right choice when the tier itself matters more than how it compares, for example when you want flex pricing even where a default endpoint would be faster.
Finding Tier Endpoints
Every tier endpoint is marked the same way, whichever provider sells it:- On a model page, a tier endpoint shows a tier badge (
Fast,Turbo,Flex, …) next to the provider’s name. The badge uses the provider’s label;Fast,Turbo,Highspeed, andPrimeare all theprioritytier. - In the model endpoints API, a tier endpoint carries
service_tier(priority,flex, orultrafast;nullfor a standard endpoint) and a tier-suffixedtag(for exampleopenai/fastordeepinfra/turbo). Itspricingis what requests it serves are billed at.
service_tier request parameter and tier slugs, in the response’s service_tier field, and in billing, whichever way its provider built it.
Listing doesn’t change routing. Flex endpoints, and every tier endpoint of a closed-weight model, are opt-in: they serve only when you request the tier or pin the provider, as described in How Routing Works. Priority endpoints of open-weight models take part in default routing like any other endpoint, so you may be served by one without asking.
The response’s service_tier field reports which tier was actually used. Possible values:
defaultflexpriorityultrafastnullwhen no service tier is available from upstream
standard, to default. The exception is the Anthropic Messages API, which preserves standard to match Anthropic’s spec (see API Response Differences below).
API Response Differences
The API response includes aservice_tier field that indicates which capacity tier was actually used to serve your request. The placement of this field varies by API format:
- Chat Completions API (
/api/v1/chat/completions):service_tieris returned at the top level of the response object, matching OpenAI’s native format. - Responses API (
/api/v1/responses):service_tieris returned at the top level of the response object, matching OpenAI’s native format. - Messages API (
/api/v1/messages):service_tieris returned inside theusageobject, matching Anthropic’s native format.
service_tier value in the Messages API
Anthropic’s spec uses standard rather than the OpenAI-style default as the base tier label. So the Messages API returns service_tier: "standard" where the Chat Completions and Responses APIs return "default". Other tier values are returned unchanged.