Should I route everything through OpenRouter?
A router gives you every model behind one key and one invoice, and picks who serves each call. It is how most teams start, and it is a good way to start. The question is what it costs to stay, and that is measurable: one model, fourteen ways of reaching it, 12,795 controlled calls.
| route | cold $/M | warm $/M | first token | cache share | failures |
|---|---|---|---|---|---|
| relace, FP4 | 0.067 | 0.019 | 0.93 | 98% | 2/100 |
| doubleword flex | 0.091 | 0.019 | 2.55 | 100% | 0/100 |
| morph, BF16 | 0.101 | 0.033 | 1.73 | 93% | 55/100 |
| OpenRouter auto | 0.102 | 0.044 | 1.13 | 96% | 0/100 |
| doubleword realtime | 0.117 | 0.024 | 1.23 | 99% | 0/100 |
| CoreWeave, FP8 | 0.132 | 0.075 | 1.24 | 94% | 0/100 |
| Together | 0.143 | 0.035 | 1.08 | 98% | 0/100 |
| Parasail, FP8 | 0.143 | 0.095 | 1.48 | 53% | 0/100 |
| SiliconFlow, FP8 | 0.226 | 0.047 | 1.88 | 93% | 0/100 |
| DeepSeek, first party | 0.226 | 0.018 | 1.10 | 98% | 0/100 |
| GMI Cloud, FP8 | 0.356 | 0.071 | 5.84 | 85% | 0/100 |
| Atlas Cloud, FP4 | 0.453 | 0.055 | 2.73 | 97% | 0/100 |
| Novita, FP8 | 0.453 | 0.050 | 1.21 | 98% | 0/100 |
The same model costs 6.8 times more on one route than another, and the router’s automatic choice is neither. Every route in that table serves the same weights. The cheapest cold price is 6.7 cents per million tokens and the dearest is 45; the first-party API sits in the middle. Automatic routing landed at 10 cents, better than most, and it did so by sending repeated prompts to different upstreams: over the study, the same request shape reached Baidu, CoreWeave, SiliconFlow, Parasail and a dozen others. That is the convenience working as designed. It also means the route your production traffic takes next week is not the one you benchmarked this week.
What a router hides is not the price, it is the three things next to it. First, precision: the routes in the table are labelled FP4, FP8 and BF16 because the hosts chose different quantisations of the same model, and a model name on a router is not a promise about which one you get. Second, caching: a repeated prompt only hits a cache if it lands on the same upstream with the prefix still warm, and the measured cache share ranged from 53% to 100% by route, which on an agent workload is the difference between the two lines on the previous page. Third, reliability: one route failed 55 of 100 calls in this sample, and a failed call that is retried is billed twice. None of these appear on the price page, and a router’s fee, a few percent on top of the upstream rate, is the smallest of the four.
A router is right when you are choosing; direct is right once you have chosen. While you are still deciding between models, or you need fallbacks, or you are shopping the open-weight hosts, one key that reaches everything is worth its fee and then some. Once one or two models carry most of your traffic, going direct buys you the things a router cannot sell: a cache you control the hit rate of, the batch tier at half price, committed-spend and provisioned-throughput pricing at volume, a single data-handling agreement rather than one per upstream, and a fixed precision. The pattern most teams settle into is both: direct for the workhorse, a router for the long tail and the experiments.
Where the real discounts are, in order of size. Open weights: a model in the same capability tier served from open weights is routinely twenty times cheaper than a frontier proprietary one on the list, before you ask whether the task needed the frontier at all. Caching: a tenth of the input price on every re-read, which on an agent workload is most of the tokens. The batch tier: half price for anything that can wait a day. Not paying for the frontier when the task does not need it: the newest flagship from each vendor lists at two to five times its own previous tier, and up to fifty times a small model from the same vendor. And time: list prices fall, and a rate negotiated last year is worth renegotiating. Which host actually wins on your prompts depends on their shape, the report shows the winner changing between 1K, 10K and 100K inputs, so the last discount is measuring with your own traffic before signing anything.
What this leaves out
Quality. The report timed and priced the routes; it did not score what they wrote. An FP4 route and a BF16 route serving the same weights can differ in output, and the cheapest route is only cheap if the answers are as good. That is a benchmark of your own tasks, not of the hosts.
One model, one fortnight. Capacity, price and routing change; the report describes its sample, not a guarantee. The pattern, that routes to one model differ by multiples on cost, latency, caching and reliability, is the durable finding. The ranking is not.
Rate limits and regional availability, which decide what is reachable at all before any of the above applies.
Read next
- api-bill/
- What actually drives my LLM API bill?
Re-reading history. Output is expensive per token; history is expensive because you pay for it every turn.
- Is it cheaper to self-host?
It is a utilisation bet, and the API you are escaping matters more than your hardware.
- What does zero data retention actually cover?
The stateless call. Anything that remembers for you is outside it.
- benchmarks/
- explainers/
- The load balancer decides the hit rate
Why a repeated prompt that lands on a different machine misses the cache, which is what a router does to you at a larger scale.
- Latency, cost, quality: pick two
The trade a provider is making when it serves a model in FP4, and what it costs you.
- glossary/