The cheapest way to serve DeepSeek V3
The cheapest way to serve DeepSeek V3
A correction first: an earlier draft of this post listed two providers for DeepSeek V3, Together AI at $1.95/$8.00 and OpenRouter at $0.80/$1.00 per million tokens, with an 8x output spread between them. Those numbers were wrong. They belonged to the neighboring card in the catalog pull (Qwen2.5 VL 72b), misattributed to DeepSeek V3. The figures below are verified against the live catalog, which is exactly the kind of error a nightly refreshed, verified catalog exists to catch.
Here is the real picture.
One endpoint
DeepSeek V3, the 671B DeepSeek model with 164K context, is served by exactly one provider in the current catalog:
- OpenRouter: $0.32 input, $0.89 output per million tokens
There is no provider spread to exploit right now. Nobody is picking between backends for this model. So the "cheapest way to serve DeepSeek V3" question has a different answer than usual: with the provider fixed, your token mix is the entire game.
Note the ratio: output tokens cost roughly 2.8x input tokens. Every workload decision that shifts tokens from output to input, or trims output, moves the bill.
What the mix costs at real workloads
Two typical mixes, same 6M tokens a month:
Mix A: retrieval-heavy, 5M input and 1M output. Long contexts in, short answers out. The RAG pattern.
- 5 x $0.32 + 1 x $0.89 = $1.60 + $0.89 = $2.49/mo
Mix B: generation-heavy, 1M input and 5M output. Short prompts, long reports, code, agentic rollouts.
- 1 x $0.32 + 5 x $0.89 = $0.32 + $4.45 = $4.77/mo
Same token count, 1.9x the cost. Blended, Mix A runs $0.42 per million tokens and Mix B runs $0.80. The provider did not change. The mix did.
At 10x scale, a team running 60M tokens a month arranged output-heavy pays $47.70 versus $24.90 for the same tokens arranged input-heavy. That $22.80 monthly gap is pure workload shape, available without switching anything except how you prompt.
What "cheapest" means with one endpoint
Three things, in order:
-
Shape the workload. Output is the expensive direction at 2.8x. Cache aggressively, trim context before it becomes output, and prefer patterns where the model reads more than it writes, anywhere quality allows. This is the highest-leverage move available, because it is the only price lever you control directly.
-
Watch the single endpoint's health. With one serving backend in the catalog, there is no in-catalog fallback. Latency and error rate on the OpenRouter route are worth monitoring, because a degradation has nowhere to fail over to. The scoreboard matters more, not less, when the leaderboard has one row.
-
Watch for a second provider. The moment another backend lists DeepSeek V3, the spread math returns and the cheapest endpoint becomes a live question again. A nightly catalog refresh is how you notice on day one instead of quarter end.
Why the correction matters
The wrong version of this post was specific, confident, and precisely incorrect: real numbers, wrong model. That failure mode, misattributed rows in a pricing pull, is exactly what static pricing content does at scale. Prices move nightly, cards get reordered, and a bookmark from last month quietly becomes fiction.
The fix is not trying harder. It is pulling from a live catalog, verifying the rows, and correcting in public when verification catches something. We caught this one before it published. The mechanism that caught it is the product: one endpoint, a live scoreboard, nightly refreshes, and routing on measured data instead of bookmarked prices.
DeepSeek V3 at $0.32 in and $0.89 out, on one endpoint, with your token mix deciding the bill. That is the whole post, and every number in it is checkable today.