Model Suffixes
Append supported suffixes to themodel value to request optional behavior for a single request. Most suffixes are stripped before the base model is routed. Model identity suffixes, such as supported :thinking variants, are preserved because they identify a distinct model or alias.
Suffix parsing is case-insensitive for provider routing and provider suffixes. Avoid combining multiple suffixes that make conflicting provider-selection requests.
Provider Routing Preference Suffixes
These apply only to provider-selection-capable models.- Routing preference suffixes only consider user-selectable providers. Internal routing-only providers are excluded.
- Routing preference suffixes are stripped before model mapping/routing. Non-routing identity suffixes such as
:thinkingare preserved. - Do not combine
:speed,:fast,:throughput,:latency,:price,:cheap, or:floorwithX-Provider, bodyprovider, or a provider model suffix. - Do not combine
:toolswith a routing preference suffix,X-Provider, bodyprovider, a provider model suffix, orcaching: true. - Do not combine
:caching,:cache, or:cachedwith:tools,X-Provider, bodyprovider, a provider model suffix, or another routing preference suffix. - Routing preference requests are billed like explicit provider-selection requests.
- Conflict error codes use the existing
speed_suffix_*family for API compatibility, even when the suffix is not literally:speed.
cache_control markers, configure cache TTLs, or force a cache write. For details, see Prompt Caching.
Provider Suffixes
The API accepts a trailing provider suffix for public user-selectable provider IDs:X-Provider for explicit provider overrides. The API also accepts a trailing provider suffix for user-selectable providers, such as model-id:cerebras, but X-Provider is clearer and easier to validate against provider-discovery responses.
Provider suffixes must match a public user-selectable provider ID. They are case-insensitive, cannot be combined with routing preference suffixes or :tools, and are billed like explicit provider selection.
Web Search Suffixes
Web search suffixes can compose with memory and reasoning-exclude suffixes. If request body
webSearch.enabled or legacy linkup.enabled is true, body configuration takes precedence over model suffix configuration.
Memory Suffixes
Header
memory_expiration_days takes precedence over :memory-<days>. memory: false in the request body explicitly disables memory even if the model has a memory suffix. Memory can compose with web search, for example openai/gpt-5.2:online:memory-90.
PII Redaction Suffixes
Redaction suffixes are stripped before model routing and can compose with other supported NanoGPT suffixes, such as
:online. If a request explicitly enables redaction with a model suffix, redaction remains enabled even if an account-level or API-key default would otherwise be disabled for that request.
For details, pricing, and limitations, see PII Redaction.
Reasoning and Thinking Suffixes
:reasoning-exclude works on Chat Completions and Text Completions. It composes with other suffixes such as :thinking, :online, and :memory. :thinking is model identity, not provider routing, and is not universal.
Official and Original Route Suffixes
Some model families expose:official / :original aliases to force the official-provider route. These are model-specific; check the model page or provider-selection docs for supported IDs.