Blog

DeepSeek V4.1 Flash price cut: 9% to 57% depending on your token mix, and the deepseek-v4-pro switch DeepSeek later reversed

DeepSeek's September 10 rate card cuts Flash cache-hit input 57%, cache-miss input 32% and output 9% against the August 17 sheet, so a real bill drops 15% to about 40% depending on token mix; against the early-August sheet, output is still 2.1×. Updated September 28: DeepSeek has since said deepseek-v4-pro stays available after September 14 at unchanged billing, so the planned switch to Flash no longer applies. Three rate cards in USD and CNY, the model swap, and the 12 of 16 base-model rows the vendor claim skips.

Leo Kaka21 min readUpdated Sep 28, 2026
DeepSeek's official chart of global KV cache bytes per token across generations: V1 389,120, V3.2 48,068, V4-Flash 3,514, V4.1-Flash 890, the reason the vendor gives for the Flash price coming down

Update (2026-09-28): After this post went up, DeepSeek rewrote the September 10 entry in its changelog to say: “In response to user demand, we have decided to continue providing API services for DeepSeek V4 Pro after September 14, 2026, with the billing method remaining unchanged. We will provide further notice should there be any changes.” (checked September 27). The sections below about every deepseek-v4-pro request being served by V4.1 Flash from September 14 with no opt-out no longer hold; the Flash price analysis is unaffected. The entry was edited in place rather than dated anew, so we cannot say exactly when the plan changed.

DeepSeek cut Flash prices on September 10, but not all the way back. Against the sheet in force since August 17, cache-hit input fell 57%, cache-miss input 32% and output 9%, so what your bill does depends entirely on which of those three lines it is made of: a generation-heavy workload saves about 15%, a long-context agent loop closer to 40%. Against the sheet in force before August 17, output is still 2.1× what it was, and every token mix I can construct still pays more than it did in early August. And from 04:00 UTC on September 14, every request that names deepseek-v4-pro will be served by V4.1 Flash and billed at Flash rates, with no opt-out, until a V4.1 Pro that has no date. One announcement, three different things: a price sheet, a model swap, and a set of parameter and benchmark claims. This post separates them, with every number linked to the page it came from. The peak/off-peak mechanics have not changed since we wrote them up in August; I will not repeat them.

Three rate cards in four weeks: the numbers, in USD and in CNY

DeepSeek publishes prices in two currencies on two pages, and the pages do not say the same thing about whether this is a rollback. Start with the USD sheet, because that is what most readers of this blog are billed in. The first column is the Models & Pricing page as archived on 9 August 2026, a single rate with no peak window; the second is the Models & Pricing page as archived on 1 September 2026; the third is Models & Pricing (current). Off-peak rates shown; peak is exactly double on both later sheets.

Flash, USD per 1M tokensBefore Aug 17Aug 17 to Sep 10 (off-peak)From Sep 10 (off-peak)vs Aug 17vs early August
Input, cache hit$0.0028$0.007$0.003−57%+7%
Input, cache miss$0.14$0.22$0.15−32%+7%
Output$0.28$0.66$0.60−9%2.14×

Now the CNY sheet. The two earlier columns are the Chinese page as the Wayback Machine captured it, once on 31 July and once on 16 August at 16:13 UTC, thirteen minutes after the increase took effect (Chinese Models & Pricing page, archived 31 July 2026; Chinese Models & Pricing page, archived 16 August 2026). The current column is the Chinese Models & Pricing page (current). A Juejin author tabulated the same three sheets a day before the cut took effect and the numbers agree (掘金 — DeepSeek 明天又降价(涵历史价格对比)).

Flash, CNY per 1M tokensBefore Aug 17Aug 17 to Sep 10 (off-peak)From Sep 10 (off-peak)vs Aug 17vs early August
Input, cache hit¥0.02¥0.05¥0.02−60%exactly back
Input, cache miss¥1¥1.5¥1−33%exactly back
Output¥2¥4.5¥4−11%2.0×

Two things fall out of putting the sheets next to each other. First, the “back to the old price” story is a CNY story. On the yuan sheet the two input lines returned to the pre-August numbers to the fen. On the dollar sheet they came back 7% above where they started. The likeliest explanation is that the USD sheet is a rounded conversion of the CNY one and the rate used moved between editions. Divide each line in yuan by the same line in dollars: the early-August sheet converts at 7.14 on all three lines, the September sheet at 6.67 on all three. The August 17 sheet does not — cache-hit converts at 7.14 while cache-miss and output convert at 6.82, so that one edition carries two rates. The cache-hit line is the odd one: it kept the old 7.14 conversion through the hike (¥0.05/$0.007) before moving to 6.67 with everything else in September. That is my arithmetic on the published sheets, not something DeepSeek has said, and the mixed-rate edition is why I will not call it a rule — a sheet built line by line explains it as well as a sheet built by conversion. Either way, “returned to the original price” is true in one currency and off by 7% in the other, and most coverage did not say which one it meant.

Second, the output line did not come back in either currency. The Juejin author’s phrasing is the most precise I have seen: the input lines are a rollback, the output line is a discounted increase (my translation). At ¥4 or $0.60 it is twice the pre-August rate in yuan and 2.14× in dollars.

DeepSeek's official V4.1 Flash pricing graphic: off-peak and peak rates for cache-hit input, cache-miss input and output, effective 04:00 UTC September 10, 2026
The launch graphic. Its footnote lists weekends and public holidays as off-peak; the pricing page defines peak only as weekday UTC hours and names no holiday calendar.Source: DeepSeek — DeepSeek-V4.1-Flash Release 2026/09/10

The Pro column did not move at all. deepseek-v4-pro, listed on the pricing page as model version DeepSeek-V4-Pro-0813, is still $0.022 / $0.66 / $1.98 off-peak (¥0.15 / ¥4.5 / ¥13.5), the same as on the 1 September snapshot. Before August 17 it was $0.003625 / $0.435 / $0.87. Keep that row in mind for the section on September 14, because after that date a Pro-named request will be billed at the Flash rates above, which is lower than Pro has ever been.

The dates, from the primary pages: the increase was announced in the DeepSeek API Change Log, 13 August 2026 entry and took effect at 16:00 UTC on 16 August, which is midnight on 17 August in Beijing, so the “August 13” in Japanese coverage (ITmedia — 「DeepSeek-V4.1-Flash」発表 値上げから一転) and the “August 17” in Chinese coverage are two different dates in one story, not a timezone artefact: the 13th is when the changelog announced the increase, the 17th is the Beijing date on which it took effect (16:00 UTC on the 16th). The cut took effect at 04:00 UTC on 10 September per the DeepSeek — DeepSeek-V4.1-Flash Release 2026/09/10. The archived 9 August page already carried a footnote saying “We plan to raise the overall pricing for DeepSeek API services in the near future, with a significant increase expected”, so the August hike was flagged before it was dated. The September cut got one day: a notice on the platform’s usage page on September 9 listed the three new numbers. I have no archived capture of the pricing page between September 1 and the 10th, so I cannot say whether it carried the same warning; what I can say is that the notice people saw first was on the console, not the price sheet.

This is why the same day produced headlines that contradict each other. One router blog called the new pricing “the same Flash rate card as before rather than a cut” (OrcaRouter — DeepSeek V4.1 Flash: New Base Model, Not a Point Release). A Juejin post led with a 60% cut (掘金 — DeepSeek V4.1 Flash 来了,明天中午 Flash 降价 60%). An English write-up settled on “roughly 11 to 57 percent depending on the token type” (Intelligent Living — DeepSeek V4.1 Flash Released: Benchmarks, Pricing, and Pro Retirement), which is the CNY floor next to the USD ceiling. All three are defensible given a baseline and a currency. None of them told you the baseline or the currency.

What you actually save depends on your token mix: 15% to 40% on a real bill

The three percentages in the table are per-line. A bill is a weighted sum of the three lines, and the weights are brutal: on the new sheet an output token costs 200× a cache-hit token and 4× a cache-miss token. So the 57% headline, which is the cache-hit line alone, is only reachable if almost all your billed tokens are cache hits, and the 9% floor is only reached by pure generation. Three profiles, all off-peak, all USD, all against the August 17 sheet:

Profile (per 1M output tokens)Aug 17 sheetSep 10 sheetSavingvs early August
Generation-heavy: 1M cache-miss input, 1M output$0.88$0.75−15%+79%
Retrieval chat: 9M cache-hit, 1M cache-miss, 1M output$0.943$0.777−18%+75%
Long-context agent loop: 200M cache-hit, 5M cache-miss, 1M output$3.16$1.95−38%+27%

The second row uses the same 90% hit-share example that Digital Applied — DeepSeek V4.1 Flash: Benchmarks, Prices and Pro Cutoff worked through, and lands on the same $0.777. The third is the profile this release was built for, an agent that re-reads a 200k-token context every turn and emits a thousand tokens; that is where cache-hit dominates and the cut is large. Ignoring misses, to break 30% you need roughly 70 cached input tokens per output token; to break 40%, about 170. If you do not know your ratio, your billing export has it, and that is the first number to pull.

The last column is the one the headlines skipped. Every profile still pays more than it did in early August, the agent loop least at +27%, generation the most at +79%. The Juejin table makes the same point in yuan with one million cache-miss input plus one million output: ¥3 before the hike, ¥6 after it, ¥5 now. Cheaper than last week, still two-thirds more than last month.

Where does that leave optimisation effort? The input side is now cheap enough that shaving prompt tokens has stopped paying for the engineering. The expensive line is output, and it stayed expensive. Shorter completions, structured returns instead of prose, and not having the model restate what you already sent it are worth more than another round of prompt compression. The clock still matters, and moving batch work into the off-peak window is still the only lever that halves a line outright; the August post covers where that decision belongs.

September 14: the name stays, the model changes, and there is no opt-out

Update (2026-09-28): this section describes the plan as announced on September 10. DeepSeek has since kept V4 Pro available; see the note at the top.

The second thing in the announcement has nothing to do with price. Two footnotes on the current Models & Pricing (current) page do the work; I am quoting them in full because they are the contract.

(1) Use deepseek-flash as the model name. The legacy names deepseek-v4-flash and deepseek-v4-flash-vision-exp are still accepted, but the corresponding models have been retired, their requests are served by the DeepSeek-V4.1-Flash model and billed at the Flash price.

(2) After extensive testing, V4.1 Flash has comprehensively surpassed V4 Pro in performance, cost, speed, and total time, so we plan to retire V4 Pro in an orderly manner. From 12:00 Beijing Time on September 14, 2026, and until V4.1 Pro is released in the future, requests to deepseek-v4-pro will all be routed to V4.1 Flash and billed at the V4.1 Flash price.

Read footnote (1) again if you are calling deepseek-v4-flash or deepseek-v4-flash-vision-exp in production: the swap already happened, on September 10, announced and executed in the same release note. Both old models are retired; the names now resolve to a model with a different architecture, a different parameter count and, for the text-only name, vision it did not have before. On HN, someone said they were still using the vision-exp endpoint for vision; the reply underneath was one line, “It is now redirected to Flash v4.1” (HN 49639090 — DeepSeek v4.1 Flash).

Footnote (2) is the one with a date. Three details about how the date was arrived at matter for anyone planning around it:

  • The four days are themselves a postponement. A notice on the platform’s usage page, reproduced in an HN post on September 9, said that “following the official launch of V4.1 Flash and prior to the release of V4.1 Pro, all requests to the Pro model will be routed to V4.1 Flash” (HN 49624603 — DeepSeek launching v4.1 flash cheaper and more capable than v4 pro). No buffer. An email a user posted to HN the next day then said “we plan to postpone the discontinuation of the V4 Pro service to 12:00 Beijing Time on September 14, 2026”, and that “the price of V4 Pro remains unchanged during the service period” (HN 49639667 — user-posted DeepSeek API email on the V4 Pro discontinuation). Both are users’ copies, not official pages; the date matches the pricing page and the changelog, and the word “postpone” is the useful part.
  • There is no way to keep V4 Pro. No flag, no pinned version, no paid tier. The DeepSeek — DeepSeek-V4.1-Flash Release 2026/09/10 says the routing “will continue until V4.1-Pro launches”. No date for V4.1 Pro appears anywhere.
  • This is how DeepSeek does it. The DeepSeek API Change Log, 24 April 2026 entry repointed deepseek-chat and deepseek-reasoner at V4 Flash’s two modes and gave three months before the names were discontinued. The Flash names got the same day this time; Pro got four days, originally none. The mechanism is the same: a model name at DeepSeek is an alias the vendor can retarget, and the notice period is whatever the vendor decides that week. The pricing page says as much about prices, in one sentence under Deduction Rules: “Product prices may vary and DeepSeek reserves the right to adjust them.” When we read four providers’ notice clauses in August, DeepSeek was the one with no committed period. The same is evidently true for what a name points to.

For anyone billed under the Pro name, September 14 is a strange day: the bill drops to Flash rates, which is roughly 70% off Pro output and below what Pro cost even before the August hike, and the model behind the name changes to one you did not choose. If your routing table says deepseek-v4-pro because someone evaluated Pro in July and liked it, that evaluation expires at 04:00 UTC on the 14th. This is the argument from what we wrote when Cursor lost its OpenAI models again, with a friendlier vendor and a shorter fuse: a model you reach by name is exactly as stable as the vendor’s alias table.

“Comprehensively surpasses V4 Pro” is a vendor claim: 12 of 16 base-model rows say otherwise

Footnote (2) justifies the swap with a claim, so the claim deserves the same reading as the price sheet. Every score in this section is vendor-reported: the evidence DeepSeek offers is its own Hugging Face model card — DeepSeek-V4.1-Flash, and to the company’s credit the card publishes the rows it loses as well as the ones it wins.

The base-model table compares V4-Flash-Base, V4-Pro-Base and V4.1-Flash-Base on sixteen benchmarks under one internal harness, with the stated rule that “scores within 0.3 of each other are considered equivalent”. V4 Pro wins twelve of the sixteen rows, none of them within 0.3:

Benchmark (base models)V4-Pro-BaseV4.1-Flash-BaseGap
SimpleQA-Verified (EM)55.242.3−12.9
LongBench-V2 (EM)51.545.2−6.3
MultiLoKo (LLM-Judge)50.945.5−5.4
MGSM (EM)84.480.2−4.2
MATH (EM)64.561.1−3.4
BBEH (EM)29.827.2−2.6
plus AGIEval, C-Eval, SuperGPQA, BBH, DROP, HellaSwag−0.8 to −1.4

V4.1 Flash wins the other four: MMLU-Pro, BigCodeBench, HumanEval and GSM8K. That distribution is not surprising for a 552B backbone against a 1.6T one, and the model card does not pretend otherwise. But it does mean “comprehensively” is doing work the table cannot support. Factual recall, long-document question answering and multilingual knowledge are the rows where the model behind deepseek-v4-pro is about to get worse, and they are common production workloads.

The instruct table, the one the launch graphic is built from, tells the other half. At maximum reasoning effort V4.1 Flash beats V4 Pro on every agentic row where both were scored: Terminal-Bench 2.1 (90.6 vs 87.9), DeepSWE v1.1 (74.2 vs 62.7), Automation-Bench (54.8 vs 43.2), CyberGym (88.1 vs 83.3) and so on. V4 Pro keeps GPQA Diamond (92.4 vs 90.9) and the text-only HLE subset (42.7 vs 39.1). If your workload is a coding agent, the swap is probably an upgrade at under a third of Pro’s output price; if it is a knowledge-retrieval endpoint, test before you find out.

DeepSeek's official seven-model benchmark table for V4.1 Flash against V4 Pro, V4 Flash, GLM 5.3, Kimi K3, GPT-5.6 Sol and Claude Opus 5, all at maximum reasoning effort
Vendor-reported scores at Max reasoning effort. The HLE row mixes full-set and text-only figures; the footnote marks which.Source: DeepSeek — DeepSeek-V4.1-Flash Release 2026/09/10

Three caveats before anyone puts these numbers in a slide. The card’s scaffold table (Table 4 of the technical report) runs the identical V4.1 Flash checkpoint through eight agent harnesses and gets DeepSWE scores from 65.5 to 74.2, an 8.7-point spread from harness choice alone; the Flash-over-Pro gap on the same benchmark is 11.5. The headline number is the best harness. Second, two official pages disagree on one cell: the model card lists NL2Repo-Bench at 64.0, the DeepSeek API Change Log, 10 September 2026 entry and the launch table say 65.4. Small, but it tells you the tables were assembled by hand. Third, independent measurement was thin on day one. OrcaRouter — DeepSeek V4.1 Flash: New Base Model, Not a Point Release recorded that Artificial Analysis had not published a score as of September 10, while other same-day write-ups cite early third-party runs; I have not been able to reconcile those two claims, and neither is a substitute for a measurement you can rerun. The retirement of a 1.6T model is being justified by the retiring party’s own table. That is normal, and it is also why you run your own regression.

552B, 485B, 748B, 763B: four parameter counts for one model

The third thing in the announcement is the model itself, and even its size comes in four editions. DeepSeek says 552B, and the number is correct for what it describes: the MoE backbone. The Hugging Face model card — DeepSeek-V4.1-Flash opens with the 552B figure and then, six lines down under “Additional architectural components”, adds “Engram conditional memory (196B parameters, sparsely accessed via token-based lookup)” — a separate paragraph that most coverage dropped. A Reddit user then opened the safetensors and counted (r/LocalLLaMA — Deepseek V4.1 Flash is 748B, not 552B): backbone 551.6B, Engram 196.9B, DSpark speculative-decoding heads 14.2B, vision encoder 0.5B. Backbone plus Engram is the 748B in that post’s title; everything together is about 763B.

Then there is 485B, which is what the Hugging Face parameter counter displayed on launch day, per the same Reddit post, a Progressive Robot — DeepSeek V4.1 Flash: Powerful 552B MoE at a Surprising Price breakdown and a screenshot in the OrcaRouter piece. The counter was reading the MXFP4 expert weights as one element per byte when there are two 4-bit weights in each byte; double the 278.6B “I8” elements it reported and you get 557B, the expert count. By the time I am writing this, the counter reads 763B and the tensor-type badge lists BF16, F8_E4M3 and I8. So four numbers, all of them “the size of the model”: 552B is the backbone, 485B was a counting artefact, 748B is backbone plus memory, 763B is the file.

What this did to the word “Flash” drew one of the longest reply threads on HN 49639090 — DeepSeek v4.1 Flash (668 points at collection time): “the original v4 flash was 284B… This one is 552B so almost twice that… it’s not really flash anymore, imo.” The reply underneath is the other half of the argument: “It uses fewer active parameters, though. (8B or 14B instead of always 13B) So … flash indeed.” The card itself says 8B during prefill and 16B during decode, so the reply’s 14B is off by two on the decode figure; the point it is making survives the correction, since both numbers sit under V4 Pro’s 49B. Both commenters are right about a different axis. If Flash means “fast and cheap to serve”, V4.1 Flash is more Flash than its predecessor. If it means “fits on a machine I own”, it is not: the vLLM serving recipe, as Progressive Robot reports it, lists the checkpoint at roughly 511 GB on disk and asks for at least 614 GB of accelerator memory. MIT licence, weights on Hugging Face, and on launch day the model page said it was not deployed by any inference provider; a day later Novita was listed. The licence is open; the hosting is a separate problem, the one we covered in open weights still need a host.

None of this is a complaint about DeepSeek’s honesty. The 196B is in the card, the base table is in the card, the byte-counting artefact is on Hugging Face’s side. It is a note about how many distinct facts hide under one model name, which is the same thing we said about Qwen3.8-27B: the product is the tuple, not the label, and a routing rule keyed on the label cannot see any of this.

Before the 14th: the regression to run this week

Update (2026-09-28): the switch was called off, so this is no longer a deadline. Pinning the model names you depend on and watching the changelog is still worth doing.

Four days is enough if you start now. What changes, by the name in your code:

If your requests name…On September 14Do this week
deepseek-flash✓Nothing changes; this is already V4.1 Flash at the new ratesUpdate your cost model to the Sep 10 sheet
deepseek-v4-flash or deepseek-v4-flash-vision-exp⚠Already swapped on Sep 10; retired models, name still acceptedRename to deepseek-flash; your regression is already overdue
deepseek-v4-pro✗Model swaps to V4.1 Flash, bill drops to Flash rates, no opt-outCapture a Pro baseline now; decide whether the name or the tier is what you meant

One more cell the footnotes leave blank: the pricing page lists a concurrency limit of 500 for deepseek-v4-pro and 2,500 for deepseek-flash, and says nothing about which one a Pro-named request gets after the 14th. If you sized a worker pool to 500, find out before the pool does.

Finding every call site is the part people skip, and gateway configs are where they hide. Search the code, then the routing tables, model-alias maps and SDK defaults:

rg -n 'deepseek-v4-pro|deepseek-v4-flash(-vision-exp)?' \
  --glob '!node_modules' \
  --glob '*.{py,ts,js,go,rs,yaml,yml,json,toml,env,conf}'

For the Pro baseline: save the prompts, tool definitions, harness version, sampling settings and accepted outputs from a representative slice of production traffic, with timestamps, while deepseek-v4-pro still means V4 Pro. Replay the same slice against deepseek-flash now, not on the 14th, and diff. Look hardest at factual lookups, long-document extraction and non-English traffic, because those are the rows the vendor’s own base table says moved the other way. If the diff is clean, you have a 70% cheaper endpoint and a week’s head start. If it is not, you have four days to find another Pro-tier model, and the vendor’s changelog is not going to tell you that.

The structural fix is the one every DeepSeek repricing keeps pointing at. A model name is an alias the vendor controls; what you wanted was a capability tier at a price, and that decision belongs in the layer that already holds a per-provider price sheet. Our routing layer is designed to key a route on the model version and the price-sheet edition rather than on the bare string, so that a footnote retargeting deepseek-v4-pro shows up as a version change to act on, not a silent swap. Treat that as a statement of design, not of shipped behaviour; what is live today is on pirouter.ai — Models, where the DeepSeek lines sit next to everyone else’s. Wherever yours lives, September 14 is a good day to check that it is keyed on something the vendor cannot retarget with a footnote.