
Routing Preferences — Steer How PayPerQ Picks Your Provider
Append a suffix like :nitro or :floor to any model and tell PayPerQ whether to optimize for speed, cost, or tool-calling quality — no config, no separate endpoint.
What are routing preferences?
Most models on PayPerQ can be served by more than one upstream provider, and each provider trades off differently on speed, price, and reliability. Routing preferences let you steer that choice on a per-request basis by appending a :suffix to the model name — no separate endpoint, no config file, no code changes beyond the model string itself.
bashcurl https://api.ppq.ai/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer sk-YOUR_API_KEY" \ -d '{ "model": "anthropic/claude-sonnet-4.6:nitro", "messages": [{"role": "user", "content": "What is the capital of France?"}] }'
That :nitro tells PayPerQ to prioritize the fastest provider for this one request. Drop the suffix and you get the default routing. That's the whole feature.
The suffixes
| Suffix | Optimizes for | What it does |
|---|---|---|
:nitro | Throughput | Routes to the highest tokens-per-second provider. Great for user-facing chat where latency is felt. |
:floor | Cost | Routes to the lowest-priced provider. Great for batch jobs where cost is the constraint. |
:exacto | Tool-calling quality | Prefers providers with the strongest tool-calling reliability signals instead of the cheapest. Great for agentic workflows. |
:online | Fresh information | Enables web search for the request (adds relevant search results to the prompt). |
:thinking | Reasoning | Selects a model's dedicated reasoning variant, when it has one (see the note below). |
:extended | Context length | Selects an extended-context variant, where the model offers one. |
Each is appended directly to the model slug:
textanthropic/claude-sonnet-4.6:floor # cheapest provider anthropic/claude-sonnet-4.6:exacto # best tool-calling provider openai/gpt-5.2:online # with web search
You can also use them on PayPerQ's short aliases — claude-sonnet-4:nitro works the same way as the full slug.
When to use which
:nitro— interactive chat, live assistants, anything a human is waiting on.:floor— bulk processing, evals, background jobs, anything where you'd trade a little latency for a lower bill.:exacto— agents and tool-heavy workflows where a mis-formatted tool call costs you more than a few cents of routing.:online— questions about recent events, prices, docs, or anything past the model's training cutoff.
Good to know
Billing is unaffected — you're always charged the real cost. PayPerQ records the actual generation cost reported by the upstream after the request completes, so a suffix that routes you to a cheaper (:floor) or pricier-but-faster (:nitro) provider is reflected automatically in what you pay. There's nothing extra to configure.
:online costs extra — on paid requests. When web search runs, it bills a small per-request search fee on top of the model tokens. On free-tier models :online is a no-op: PayPerQ does not attach web search to free-tier requests, so there is no search and no fee.
Some models are pinned and ignore routing preferences. A handful of models are deliberately routed to a single provider — for example, low-latency "fast" variants and models pinned to a specific endpoint for cost or reliability reasons. On those, :nitro / :floor / :exacto have no effect because there's only one provider to choose from. If a routing preference doesn't seem to change anything, this is usually why.
:thinking and :extended are variant-specific. They only work on models that actually publish that variant. On a model that doesn't have one (Claude, for example), the request returns a no endpoints found error rather than silently ignoring the suffix. To turn on reasoning for models like Claude, use the reasoning request parameter — e.g. { "reasoning": { "effort": "medium" } } — instead of :thinking.
Unknown suffixes pass through untouched. If you append something PayPerQ doesn't recognize as a routing preference, the model string is forwarded to the upstream as-is — so a provider's own permaslug (for example one that already ends in :free) keeps working exactly as before.
Compatible with everything else
Routing preferences are just a model-string convention, so they work anywhere you already pass a model to PayPerQ — the chat completions API, your existing OpenAI-compatible SDK, or any tool that lets you set the model name. Nothing else about your request changes.
What is PayPerQ?

PayPerQ is a pay-per-query AI service that gives you instant access to hundreds of chat, image, video, and audio AI models in one place. Unlike traditional ChatGPT subscription that charges $20+ per month, PPQ users pay only for what they use—averaging just $4 a month.
Account registration optional. No monthly commitments. Privacy focused. Credit cards and all major cryptos accepted. Just top up with as little as 10 cents and start using premium AI immediately.
Why Use PayPerQ?
- Access hundreds of AI models from all major providers in one place
- Pay per use - no subscriptions, no wasted money on unused credits
- No registration required - start using AI in seconds
- Start small - top up with as little as 10 cents
- Privacy-first - conversational data stored locally by default
- Average cost: ~1 cent per query
Getting Started
- Visit ppq.ai
- Top up your balance (crypto or credit card, as little as 10 cents)
- Select your model and start chatting
No account creation needed—just fund and go.