All articles
LLM Economics

The Same Model, 14 Providers: Why Your LLM Bill Depends on Where You Run It

Choosing a model sets your capability ceiling, but choosing the provider that serves it sets your actual bill, because price, throughput and prompt caching all differ between endpoints running the identical weights.

Sep 9, 2026 · 6 min read
The Same Model, 14 Providers: Why Your LLM Bill Depends on Where You Run It

Key takeaways

  • A serving benchmark of DeepSeek V4 Flash across 14 providers shows that one model behaves like fourteen different products once you look at price, speed and caching.
  • Model selection and serving selection are two separate decisions. Most teams only make the first one on purpose.
  • Prompt caching is the variable teams most often ignore, and on repeat-heavy workloads it moves cost more than the headline per-token price does.
  • Throughput is a cost input, not only a UX input, as soon as you are paying for concurrency or reserved capacity.
  • Unit economics should be modeled per endpoint, not per model.

What the benchmark actually compares

The Inference Academy write-up takes a single model, DeepSeek V4 Flash, and runs it across 14 different serving providers, then reports the tradeoffs: what each endpoint charges, how fast it returns tokens, and how it handles prompt caching. The weights are the same everywhere. Everything around the weights is not.

That framing matters more than any individual number in the table, because it breaks an assumption most cost models are built on: that a model has a price. It does not. A model has a price per endpoint, and that price comes bundled with a throughput profile and a caching policy that quietly change what you actually pay.

Why does the same model cost different amounts?

Open weight models get hosted by many providers at once. Each host makes its own choices about hardware, batching strategy, quantization, context handling and margin. Those choices move real cost in opposite directions. A provider running aggressive batching on cheaper accelerators can undercut on list price while returning tokens more slowly. A provider optimizing for latency may charge more per token but finish a long generation sooner.

So the per-token sticker is a partial number. The complete number is what one unit of your workload costs, end to end, on that specific endpoint.

How much does prompt caching change the math?

More than most founders expect, and it is the least standardized part of the stack. Caching policies differ on what gets cached, how long it lives, and what the discounted rate is, which means two providers with identical list prices can produce different invoices for the same traffic.

Here is an illustrative way to see the effect. Say your agent sends a 10,000 token system prompt with every call and 500 tokens of fresh user input. Without caching you pay full input rate on 10,500 tokens each time. With an effective cache on the static block, you pay full rate on roughly 500 tokens and a discounted rate on the rest. The workload did not change. The bill changed by a large multiple, purely because of where you ran it.

The original observation worth adding here: caching value is not a property of the provider, it is a property of the ratio between your static and dynamic tokens. A RAG app with long fixed instructions gets enormous value from a caching endpoint. A summarizer that sees a new document every call gets almost none, and should optimize for raw price instead. The right provider is workload-specific, which is exactly why a single leaderboard cannot answer the question for you.

Is throughput a cost line or a UX line?

Both, and teams usually only book it as UX. If you serve users on a per-request basis and you are charged per token, slow generation costs you satisfaction. But once you hold concurrency open, run background agents, or pay for provisioned capacity, tokens per second converts directly into dollars, because slower generation means you hold more parallel capacity to serve the same request volume.

That is why the price and speed columns should never be read separately. The useful metric is cost per completed task at your target latency, not cost per million tokens in isolation.

How do you turn this into a decision?

A workable process, in order:

  1. 1Fix your model on capability. Decide what quality bar the task needs before you look at any price.
  2. 2Describe your token shape. Static versus dynamic input, average output length, requests per user per month.
  3. 3Price every candidate endpoint against that shape, with caching modeled in, not the list price alone.
  4. 4Filter by the throughput you actually need, then take the cheapest survivor.
  5. 5Re-run it quarterly. Serving prices move far faster than model releases do.

Step three is where most teams stop early, and it is the step where the spread between endpoints is widest.

One model is not one price, it is a range, and the endpoint you pick decides where in that range you land. You can model the same token split across providers in the Calcaas provider comparison before you commit to one.

Frequently asked questions

Does the same LLM cost the same on every provider?

No. Providers hosting identical open weights set their own per-token prices, and they also differ on throughput and prompt caching. Two endpoints running the same model can produce meaningfully different monthly bills for the same traffic.

What is prompt caching and why does it change my cost?

Prompt caching lets a provider reuse a previously processed block of input instead of charging you full rate to reprocess it. If a large part of your prompt is identical on every call, caching reduces the billable input dramatically. If your input is fresh each time, it does almost nothing.

Should I pick the cheapest provider per token?

Not automatically. The cheapest per-token endpoint can be the most expensive per completed task if it is slow enough that you pay for extra concurrency, or if it lacks the caching your prompt shape depends on. Compare cost per task, not cost per million tokens.

How often should I re-check provider pricing?

At least quarterly, and after any major model release. Serving prices and caching terms change much more frequently than the models themselves, so a comparison you ran six months ago is likely stale.

Does switching providers require changing my code?

Usually very little, since most serving providers expose an OpenAI-compatible API. The larger work is re-validating output quality and re-tuning for the new endpoint's caching and rate limits, not rewriting the integration. Place the JSON-LD block above inside a <script type="application/ld+json"> tag in the page head. The questions and answers must stay identical to the visible FAQ section. Source: Inference Academy, serving tradeoffs benchmark, https://www.inference.academy/benchmarks/serving-tradeoffs

ShareXLinkedInFacebook

More from the blog

The Margin Memo

Pricing math, in your inbox.

One short note a week on AI pricing, token economics, and margin. No spam, unsubscribe anytime.