From b4a29c2ed4b922464ac8ab86e627c6b09d9dfbde Mon Sep 17 00:00:00 2001 From: Eric Wang Date: Thu, 17 Sep 2026 22:17:12 -0700 Subject: [PATCH] feat(pricing): V4.1 Flash is deepseek-flash, on a cheaper card DeepSeek-V4.1-Flash shipped 2026-09-10 as `deepseek-flash`. The V4 Flash and V4 Flash Vision Exp models are retired; their names still work, are served by V4.1 Flash and bill at the Flash price. The Flash card fell on every item (off-peak $0.007/$0.22/$0.66 -> $0.003/$0.15/$0.60 per 1M, peak still double); Pro's did not move. Verified today off both pricing locales, the changelog, and GET /models, which lists exactly deepseek-flash and deepseek-v4-pro. The switch instant is INFERRED. Upstream dated the release and gave no time. Our docs mirror fetched the old card at 04:50 UTC on 09-10 and the new one at 11:27 UTC; V41At is 11:00 UTC, the last whole hour between, so an estimate for a call in that gap can only overstate. - CLI: ModelFlash is now deepseek-flash (the default model); the retired names resolve to it. Cards are keyed by tier and gated by era (flat, V4 time-of-day, V4.1), so a ledger row still reprices under the card it was billed at. `pricing` shows the card of the era in force (it read the card at RepriceAt, which would have shown V4 prices forever) and gains `card_since`. NextChange sees a card change as a change. - Gateway meter: same three eras, keyed by tier; every flash name lands on the flash card. The admission ceiling uses the admission era's card, which is correct because the one change since the repricing was a cut. - `make price-check` now also compares the dated instants between the two copies. The gateway's own comment admitted nothing guarded its clock; mutation-checked by moving the gateway's V4.1 hour. - Playground: its private card is on V4.1, and it now honours the weekend rule it missed on 2026-08-22 (it billed Beijing weekends at peak). A Go test pins its RATES to the newest flash card, read off the newest era rather than time.Now() so it cannot become a flip-day bomb; mutation-checked. - Site, README, AGENTS.md, SKILL.md, llms.txt, gateway/DESIGN.md: the new card and names everywhere a current claim is made; superseded cards kept, labelled, where the ledger needs them; a news entry; "text only" claims corrected (flash takes images since 09-10). The thinking surcharge table is labelled as a V4 Flash measurement: one probe on deepseek-flash read +26 at high, not +79, and the table is not re-measured here. - Docs corpus repacked from the mirror (77 pages, 100K, en/dsh excluded). Verified: make check, go test -race, cover-gate (72.7%); every changed page rendered in Chrome, no page scrolls sideways at 390px, and the pricing strip agrees with `ds pricing`. Co-Authored-By: Claude Opus 5 --- AGENTS.md | 25 +-- Makefile | 13 +- README.md | 21 ++- gateway/DESIGN.md | 27 +-- gateway/internal/meter/meter.go | 82 ++++++--- gateway/internal/meter/meter_test.go | 2 +- gateway/internal/meter/weekend_test.go | 46 +++-- internal/cli/anthropic.go | 2 +- internal/cli/chat.go | 2 +- internal/cli/cli_test.go | 9 +- internal/cli/e2e_test.go | 17 +- internal/cli/fim.go | 2 +- internal/cli/output.go | 16 +- internal/cli/pricing.go | 41 +++-- internal/cli/pricing_test.go | 40 ++++- internal/cli/respond.go | 2 +- internal/cli/status.go | 2 +- internal/deepseek/client.go | 22 ++- internal/deepseek/playground_card_test.go | 39 +++++ internal/deepseek/pricing.go | 108 +++++++++--- internal/deepseek/usage_test.go | 70 ++++++-- internal/docs/corpus.tar.gz | Bin 96459 -> 99320 bytes site/bench/index.html | 13 +- site/build.py | 203 +++++++++++++++------- site/commands/index.html | 2 +- site/cost/index.html | 35 ++-- site/formats/index.html | 20 ++- site/index.html | 13 +- site/llms.txt | 12 +- site/news/index.html | 52 ++++-- site/playground.js | 27 ++- site/playground/index.html | 2 +- site/pricing.test.js | 8 +- site/pricing/index.html | 74 +++++--- skill/SKILL.md | 13 +- 35 files changed, 758 insertions(+), 304 deletions(-) create mode 100644 internal/deepseek/playground_card_test.go diff --git a/AGENTS.md b/AGENTS.md index 9dc6bac..48fd8e1 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -66,7 +66,7 @@ Key flags: | Flag | Effect | | --- | --- | -| `-m, --model` | `deepseek-v4-flash` (default) or `deepseek-v4-pro` | +| `-m, --model` | `deepseek-flash` (default) or `deepseek-v4-pro` | | `--think on\|off` | thinking mode; default is the API's own, which is on | | `-e, --effort low\|high\|max` | reasoning effort | | `--max-tokens N` | cap generated tokens | @@ -106,7 +106,10 @@ deepseek pricing --json # the schedule and the billing period right now ``` Pricing has been time-of-day since 2026-08-16 16:00 UTC: peak hours -01:00–04:00 and 06:00–10:00 UTC bill at twice the off-peak rate. Never +01:00–04:00 and 06:00–10:00 UTC, Monday to Friday, bill at twice the +off-peak rate. Since 2026-09-10 flash is `deepseek-flash` (V4.1) on a +lower card; the retired names `deepseek-v4-flash` and +`deepseek-v4-flash-vision-exp` still work and bill as flash. Never quote a DeepSeek price without saying which period it is — `pricing` computes the current one locally, no network, nothing spent, from the same schedule the cost estimates use. @@ -163,8 +166,7 @@ deepseek free off # forget the enrolment on this machine Free-tier limits, per UTC day: 30 requests, 60K input tokens, 20K output tokens, 3 web searches, 4K output per call, 128KB per request body, -`deepseek-v4-flash` only. A request for pro is **refused, not -downgraded**. `models` and `status` cost no quota; everything that can +flash only. A request for pro is **refused, not downgraded**. `models` and `status` cost no quota; everything that can generate a token does. `respond --web-search` works on the free tier and spends one of the three @@ -265,21 +267,24 @@ Every call prints a usage line to stderr and appends to for a quiet run. - Costs are estimates from the published USD rate card, not billed amounts. Token counts are exact. -- Cached input tokens cost about 30× less than uncached ones. Put the - stable part of a prompt first — the same system prompt and files across +- Cached input tokens cost 50× less than uncached ones on flash, 30× on + pro. Put the stable part of a prompt first — the same system prompt and files across calls — and `deepseek usage` will show the saving. Prompt structure is still the biggest lever on a bill; the hour of the day comes second, and it is worth at most 2×. ## Cautions -- **Text only.** Images, documents and search-result blocks are rejected - by the API in every format. +- **Text only, from this CLI.** Since 2026-09-10 `deepseek-flash` takes + images through chat and Responses, and pro does not; the CLI has no + flag that sends one. - **The thinking surcharge depends on effort**, and not as documented. The template added to your input is fixed per level, constant across - prompt length, measured live on 2026-08-05: + prompt length, measured live on 2026-08-05 on V4 Flash (retired + 2026-09-10; `deepseek-flash` is not re-measured, and one probe read +26 + at `high`): - | `--effort` | flash | pro | + | `--effort` | V4 flash | pro | | --- | --- | --- | | `none` | +0, thinking off | +0, thinking off | | `minimal`, `low` | +0 | +0 | diff --git a/Makefile b/Makefile index 98a7e9d..93434a4 100644 --- a/Makefile +++ b/Makefile @@ -87,7 +87,8 @@ gateway-check: gateway-test # cost estimates, gateway/internal/meter/meter.go for the gateway's # budget — because they are separate modules and neither can import the # other. Drift would mean the gateway believed it had spent a different -# amount than it had. This is what catches that. +# amount than it had. This is what catches that, for the numbers and for +# the dated instants that switch between them. .PHONY: price-check price-check: @pattern='CacheHitInput: [0-9.]+, CacheMissInput: [0-9.]+, Output: [0-9.]+'; \ @@ -100,7 +101,15 @@ price-check: echo "FAIL: the CLI and gateway rate cards have drifted"; \ echo " cli: $$cli"; echo " gateway: $$gw"; exit 1; \ fi; \ - echo "rate cards match:"; echo "$$cli" | sed 's/^/ /' + echo "rate cards match:"; echo "$$cli" | sed 's/^/ /'; \ + when='time\.Date\([^)]*\)'; \ + cli=$$(grep -oE "$$when" internal/deepseek/pricing.go | sort); \ + gw=$$(grep -oE "$$when" gateway/internal/meter/meter.go | sort); \ + if [ "$$cli" != "$$gw" ]; then \ + echo "FAIL: the CLI and gateway switch cards at different instants"; \ + echo " cli: $$cli"; echo " gateway: $$gw"; exit 1; \ + fi; \ + echo "and switch at the same instants:"; echo "$$cli" | sed 's/^/ /' # The site is generated HTML plus one page that is an application. The # generator has its own --check; these cover the parts it cannot see — diff --git a/README.md b/README.md index d11bbc3..140319c 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ 302 tests, 70% statement coverage
Implemented against the DeepSeek API docs of 2026-08-05 - Models: deepseek-v4-flash and deepseek-v4-pro + Models: deepseek-flash and deepseek-v4-pro Go MIT License

@@ -54,7 +54,7 @@ It also does three things `curl` will not: on every later request. `--continue` handles that; without tools it strips the same field, because replaying it there just burns tokens. - **Prices every call.** DeepSeek's disk KV-cache makes a cached input - token **~30× cheaper** than an uncached one, and since 2026-08-16 the + token **30–50× cheaper** than an uncached one, and since 2026-08-16 the hour of the day doubles the bill on top. Both splits are invisible unless something reads `prompt_cache_hit_tokens`, knows the schedule and does the arithmetic. This does, on every call, and keeps a local @@ -171,7 +171,7 @@ is the key, the balance, the network, a proxy, or one endpoint: $ deepseek check https://api.deepseek.com -ok GET /models 141ms deepseek-v4-flash, deepseek-v4-pro +ok GET /models 141ms deepseek-flash, deepseek-v4-pro ok GET /user/balance 126ms 18.48 CNY ok POST /chat/completions 651ms 5 in / 1 out ok POST /anthropic/v1/messages 590ms 5 in / 1 out @@ -376,8 +376,8 @@ context cache saved ~$0.23 (1.7M of 2.2M prompt tokens replayed) costs are estimates from the published USD rate card, not billed amounts ``` -That last line is the point. Cached input costs $0.007/M against -$0.22/M for a miss in an off-peak hour — structuring prompts so the +That last line is the point. On flash, cached input costs $0.003/M +against $0.15/M for a miss in an off-peak hour — structuring prompts so the stable part comes first is worth real money, and this is how you see whether it worked. @@ -470,7 +470,7 @@ rather than hides: the same number at every level — and at low effort it is not there at all, while the model still reasons: - | `--effort` | flash | pro | + | `--effort` | V4 flash | pro | | --- | --- | --- | | `none` | +0 (thinking off) | +0 (thinking off) | | `minimal`, `low` | **+0** | **+0** | @@ -478,12 +478,15 @@ rather than hides: | `max` | +92 | +79 | Measured against the live API on 2026-08-05 at two prompt lengths, - twice each. `deepseek tokens -e low` will show you the same thing for + twice each, on V4 Flash. That model was retired on 2026-09-10 and + `deepseek-flash` has not been re-measured: one probe on 2026-09-18 + read +26 at `high`. `deepseek tokens -e low` will show you the same thing for your own text. Two of those levels — `none` and `minimal` — appear in no DeepSeek documentation at all; `none` disables thinking exactly as `--think off` does. -- **Text only.** DeepSeek rejects image, document and search-result - content blocks in every format. +- **Text only, from this CLI.** Since 2026-09-10 `deepseek-flash` takes + images through chat and Responses, and pro does not; the CLI has no + flag that sends one. - **The Responses endpoint takes both models** since V4-Pro's official release (2026-08-12); it refused pro before that. - **FIM caps output at 4K tokens** and ignores thinking entirely. diff --git a/gateway/DESIGN.md b/gateway/DESIGN.md index ef9f854..a6ccfd5 100644 --- a/gateway/DESIGN.md +++ b/gateway/DESIGN.md @@ -281,25 +281,26 @@ scarce operation and gets the conservative boundary. ## Limits, and why these numbers Worst-case cost per anonymous user per day, at flash off-peak rates -($0.22/M input, $0.66/M output): +($0.15/M input, $0.60/M output): ``` -60,000 input × $0.22/M = $0.0132 -20,000 output × $0.66/M = $0.0132 +60,000 input × $0.15/M = $0.0090 +20,000 output × $0.60/M = $0.0120 ------- - $0.0264 / user / day at full burn, off-peak - $0.0528 / user / day at full burn, peak + $0.0210 / user / day at full burn, off-peak + $0.0420 / user / day at full burn, peak ``` -So a $1/day budget serves ~38 users burning *everything* off-peak, ~19 at +So a $1/day budget serves ~47 users burning *everything* off-peak, ~23 at peak, or several hundred normal ones — a normal turn is a few hundred -input and a few hundred output tokens, about $0.0006. Roughly **1,700 -ordinary turns per dollar off-peak, 850 at peak.** - -These are the numbers of the card that took effect 2026-08-16 16:00 UTC, -and they roughly halved the free tier's reach at an unchanged budget: the -old flat card ($0.14/$0.28) made the same worst case $0.014/user/day. The -quotas below have not been retuned for it — the budget breaker is what +input and a few hundred output tokens, about $0.0005. Roughly **1,900 +ordinary turns per dollar off-peak, 950 at peak.** + +These are the numbers of the V4.1 Flash card of 2026-09-10. The card of +2026-08-16 16:00 UTC ($0.22/$0.66) made the same worst case +$0.0264/user/day, which had roughly halved the free tier's reach against +the flat card before it ($0.14/$0.28, $0.014/user/day). The quotas below +have not been retuned for either — the budget breaker is what actually bounds spend, and it does its job at any card — but the reach per dollar is now a time-of-day figure, and the peak windows are the expensive seven hours. diff --git a/gateway/internal/meter/meter.go b/gateway/internal/meter/meter.go index bca50a7..9ac51e7 100644 --- a/gateway/internal/meter/meter.go +++ b/gateway/internal/meter/meter.go @@ -55,29 +55,57 @@ var RepriceAt = time.Date(2026, time.August, 16, 16, 0, 0, 0, time.UTC) // The drift here runs the other way to the repricing's: over-charging our // own budget is safe for the credit pool but it is still wrong, and it // makes /economics report a cost-per-task the account never paid. The -// same date gates the CLI's copy; `make price-check` guards the numbers, -// and this comment is the only thing guarding the clock. +// same date gates the CLI's copy; `make price-check` guards the numbers +// and, since the V4.1 cut added a third instant, the dates too. var weekendOffPeakAt = time.Date(2026, time.August, 22, 16, 0, 0, 0, time.UTC) +// v41At is when the Flash card dropped with the DeepSeek-V4.1-Flash +// release of 2026-09-10; Pro's card did not move. The instant is +// INFERRED, as in the CLI's copy (internal/deepseek/pricing.go, V41At, +// which records how): upstream published a date and no time. A cut +// cannot drain the pool the way the repricing could, but it can make +// /economics report a cost nobody paid. +var v41At = time.Date(2026, time.September, 10, 11, 0, 0, 0, time.UTC) + // beijing is the vendor's clock; no daylight saving since 1991. var beijing = time.FixedZone("CST", 8*60*60) +// The cards are keyed by tier, not by model name. The API has accepted +// three flash names (deepseek-v4-flash, deepseek-v4-flash-vision-exp, +// deepseek-flash) and bills them all as flash, so cardFor maps a name +// onto its tier and each card says what that tier cost in its era. +const ( + flashTier = "flash" + proTier = "pro" +) + // ratesFlat is the card published 2026-08-02, in force before RepriceAt. var ratesFlat = map[string]Price{ - "deepseek-v4-flash": {CacheHitInput: 0.0028, CacheMissInput: 0.14, Output: 0.28}, - "deepseek-v4-pro": {CacheHitInput: 0.003625, CacheMissInput: 0.435, Output: 0.87}, + flashTier: {CacheHitInput: 0.0028, CacheMissInput: 0.14, Output: 0.28}, + proTier: {CacheHitInput: 0.003625, CacheMissInput: 0.435, Output: 0.87}, +} + +// ratesV4OffPeak is the base card from RepriceAt until v41At; during +// peakWindows every billing item costs peakMultiplier times these numbers. +var ratesV4OffPeak = map[string]Price{ + flashTier: {CacheHitInput: 0.007, CacheMissInput: 0.22, Output: 0.66}, + proTier: {CacheHitInput: 0.022, CacheMissInput: 0.66, Output: 1.98}, +} + +// ratesV41OffPeak is the base card from v41At on: Flash cut on every +// item, Pro unchanged. Same peak rule. +var ratesV41OffPeak = map[string]Price{ + flashTier: {CacheHitInput: 0.003, CacheMissInput: 0.15, Output: 0.6}, + proTier: {CacheHitInput: 0.022, CacheMissInput: 0.66, Output: 1.98}, } -// ratesOffPeak is the base card from RepriceAt on; during peakWindows -// every billing item costs peakMultiplier times these numbers. -var ratesOffPeak = map[string]Price{ - "deepseek-v4-flash": {CacheHitInput: 0.007, CacheMissInput: 0.22, Output: 0.66}, - // Released 2026-08-21, after the switchover, so it has no flat row - // above. Priced identically to flash. Carried here even though the - // policy allowlist does not admit it, so that a metering gap can never - // be the reason it gets served for free. - "deepseek-v4-flash-vision-exp": {CacheHitInput: 0.007, CacheMissInput: 0.22, Output: 0.66}, - "deepseek-v4-pro": {CacheHitInput: 0.022, CacheMissInput: 0.66, Output: 1.98}, +// offPeakCardAt is the time-of-day base card in force at t, which must +// not be before RepriceAt. +func offPeakCardAt(t time.Time) map[string]Price { + if t.Before(v41At) { + return ratesV4OffPeak + } + return ratesV41OffPeak } const peakMultiplier = 2.0 @@ -126,7 +154,7 @@ func PriceAt(model string, t time.Time) Price { if t.Before(RepriceAt) { return cardFor(ratesFlat, model) } - p := cardFor(ratesOffPeak, model) + p := cardFor(offPeakCardAt(t), model) if inPeak(t) { p = scale(p, peakMultiplier) } @@ -134,16 +162,13 @@ func PriceAt(model string, t time.Time) Price { } func cardFor(cards map[string]Price, model string) Price { - if p, ok := cards[model]; ok { - return p - } switch { case strings.Contains(model, "pro") || model == "": - return cards["deepseek-v4-pro"] + return cards[proTier] case strings.Contains(model, "flash"): - return cards["deepseek-v4-flash"] + return cards[flashTier] default: - return cards["deepseek-v4-pro"] + return cards[proTier] } } @@ -228,10 +253,21 @@ func ceilingAt(model string, t time.Time) Price { if t.Add(inFlight).Before(RepriceAt) { return cardFor(ratesFlat, model) } + // The base card is the admission instant's. The one change since + // the repricing, v41At, was a cut, so a request admitted before it is + // already reserved at the dearer card; a card that ever goes UP needs + // the same look-ahead the flip gets above. if !t.Before(RepriceAt) && !peakTouches(t, inFlight) { - return cardFor(ratesOffPeak, model) + return cardFor(offPeakCardAt(t), model) + } + return scale(cardFor(offPeakCardAt(maxTime(t, RepriceAt)), model), peakMultiplier) +} + +func maxTime(a, b time.Time) time.Time { + if a.After(b) { + return a } - return scale(cardFor(ratesOffPeak, model), peakMultiplier) + return b } // peakTouches reports whether any instant of [t, t+d] falls in a peak diff --git a/gateway/internal/meter/meter_test.go b/gateway/internal/meter/meter_test.go index 7013667..bf5a0ae 100644 --- a/gateway/internal/meter/meter_test.go +++ b/gateway/internal/meter/meter_test.go @@ -233,7 +233,7 @@ func TestEstimateCeilingCoversTheNextPeriod(t *testing.T) { // And far from any boundary, off-peak reserves at the off-peak card, // not at a permanent doubling. quiet := time.Date(2026, 8, 17, 12, 0, 0, 0, time.UTC) - offPeak := costWith(cardFor(ratesOffPeak, model), Usage{InputTokens: 401, OutputTokens: 1000 + reasoningAllowance}) + offPeak := costWith(cardFor(ratesV4OffPeak, model), Usage{InputTokens: 401, OutputTokens: 1000 + reasoningAllowance}) if est := EstimateAt(model, 400, 1000, false, quiet); math.Abs(est-offPeak) > 1e-12 { t.Errorf("quiet off-peak reservation %v, want the off-peak card's %v", est, offPeak) } diff --git a/gateway/internal/meter/weekend_test.go b/gateway/internal/meter/weekend_test.go index 6d31795..88dcd39 100644 --- a/gateway/internal/meter/weekend_test.go +++ b/gateway/internal/meter/weekend_test.go @@ -48,16 +48,42 @@ func TestWeekendIsReadOnTheVendorClock(t *testing.T) { } } -func TestVisionVariantIsMetered(t *testing.T) { +func TestEveryFlashNameIsMeteredAsFlash(t *testing.T) { // A model priced upstream but missing from this card would be served - // for free out of the budget pool. - at := time.Date(2026, 8, 26, 12, 0, 0, 0, time.UTC) - vision := PriceAt("deepseek-v4-flash-vision-exp", at) - flash := PriceAt("deepseek-v4-flash", at) - if vision != flash { - t.Errorf("vision %+v != flash %+v", vision, flash) - } - if vision.CacheMissInput == 0 { - t.Error("vision meters at zero") + // for free out of the budget pool, or, the other way, at pro rates + // that /economics then reports as spent. The API has billed three + // names as flash; each must land on the flash card of its instant. + for _, at := range []time.Time{ + time.Date(2026, 8, 10, 12, 0, 0, 0, time.UTC), // flat + time.Date(2026, 8, 26, 12, 0, 0, 0, time.UTC), // V4, off-peak + time.Date(2026, 9, 14, 2, 0, 0, 0, time.UTC), // V4.1, peak + } { + flash := PriceAt("deepseek-v4-flash", at) + for _, name := range []string{"deepseek-flash", "deepseek-v4-flash-vision-exp", "deepseek-v4-flash-free"} { + if got := PriceAt(name, at); got != flash { + t.Errorf("%s at %v = %+v, want flash's %+v", name, at, got, flash) + } + } + if flash.CacheMissInput == 0 { + t.Errorf("flash meters at zero at %v", at) + } + } +} + +func TestV41CutFlashAndLeftPro(t *testing.T) { + before := v41At.Add(-time.Minute) // 10:59 UTC Thursday, off-peak + if got := PriceAt("deepseek-flash", before); got != (Price{CacheHitInput: 0.007, CacheMissInput: 0.22, Output: 0.66}) { + t.Errorf("flash just before V4.1 = %+v, want the V4 card", got) + } + if got := PriceAt("deepseek-flash", v41At); got != (Price{CacheHitInput: 0.003, CacheMissInput: 0.15, Output: 0.6}) { + t.Errorf("flash at V4.1 = %+v, want the V4.1 card", got) + } + if a, b := PriceAt("deepseek-v4-pro", before), PriceAt("deepseek-v4-pro", v41At); a != b { + t.Errorf("pro moved at V4.1: %+v -> %+v", a, b) + } + // A reservation made before the cut must still cover a settlement + // after it: the ceiling may not be beaten by the clock. + if est, after := EstimateAt("deepseek-flash", 400, 1000, false, before), EstimateAt("deepseek-flash", 400, 1000, false, v41At); est < after { + t.Errorf("admitted before the cut the reservation %v is under the post-cut %v", est, after) } } diff --git a/internal/cli/anthropic.go b/internal/cli/anthropic.go index cb911cf..cff3de0 100644 --- a/internal/cli/anthropic.go +++ b/internal/cli/anthropic.go @@ -48,7 +48,7 @@ check how your DeepSeek key behaves for those tools before pointing them at it. Claude model names are accepted and remapped server-side: claude-opus* to -deepseek-v4-pro, claude-sonnet*/claude-haiku* to deepseek-v4-flash, and +deepseek-v4-pro, claude-sonnet*/claude-haiku* to deepseek-flash, and anything unrecognised to flash. The usage line shows both names so the cost is traceable to the model that actually ran. diff --git a/internal/cli/chat.go b/internal/cli/chat.go index 9ec8a67..82c6dd4 100644 --- a/internal/cli/chat.go +++ b/internal/cli/chat.go @@ -64,7 +64,7 @@ under reasoning_content. } fl := cmd.Flags() - fl.StringVarP(&f.model, "model", "m", deepseek.ModelFlash, "model: deepseek-v4-flash or deepseek-v4-pro") + fl.StringVarP(&f.model, "model", "m", deepseek.ModelFlash, "model: deepseek-flash or deepseek-v4-pro") fl.StringVarP(&f.system, "system", "s", "", "system prompt, or @file") fl.StringVar(&f.think, "think", "", "thinking mode: on or off (default: the API's own default, on)") fl.StringVarP(&f.effort, "effort", "e", "", "reasoning effort: low, high, max (pro promotes low to high)") diff --git a/internal/cli/cli_test.go b/internal/cli/cli_test.go index abe8650..4775a36 100644 --- a/internal/cli/cli_test.go +++ b/internal/cli/cli_test.go @@ -44,9 +44,16 @@ func TestMoneyKeepsSmallFiguresLegible(t *testing.T) { func TestShortModelShowsAnthropicRemapping(t *testing.T) { // When the endpoint silently swaps the model, the status line has to // show both names or the cost looks unattributable. - if got := shortModel("deepseek-v4-flash"); got != "flash" { + if got := shortModel(deepseek.ModelFlash); got != "flash" { t.Errorf("got %q, want %q", got, "flash") } + if got := shortModel(deepseek.ModelPro); got != "pro" { + t.Errorf("got %q, want %q", got, "pro") + } + // A retired name is served by its successor since 2026-09-10. + if got := shortModel("deepseek-v4-flash"); got != "deepseek-v4-flash→flash" { + t.Errorf("got %q, want both names", got) + } if got := shortModel("claude-opus-4-1"); got != "claude-opus-4-1→pro" { t.Errorf("got %q, want both names", got) } diff --git a/internal/cli/e2e_test.go b/internal/cli/e2e_test.go index 3dee18a..a1d2704 100644 --- a/internal/cli/e2e_test.go +++ b/internal/cli/e2e_test.go @@ -405,18 +405,19 @@ func TestFIMSendsPromptAndSuffix(t *testing.T) { } func TestModelsJoinsThePublishedRateCard(t *testing.T) { - got := runCLI(t, serve(`{"object":"list","data":[{"id":"deepseek-v4-flash","object":"model","owned_by":"deepseek"}]}`), "models") + got := runCLI(t, serve(`{"object":"list","data":[{"id":"deepseek-flash","object":"model","owned_by":"deepseek"}]}`), "models") if got.err != nil { t.Fatal(got.err) } - if !strings.Contains(got.stdout, "deepseek-v4-flash") { + if !strings.Contains(got.stdout, "deepseek-flash") { t.Errorf("stdout = %q", got.stdout) } - // Which figure depends on the hour: flash cache-miss input is $0.22 - // off-peak and $0.44 peak. Both are published numbers, so asserting - // on either keeps this a real check without making it a time bomb - // that fails whenever the suite runs inside a peak window. - if !strings.Contains(got.stdout, "0.22") && !strings.Contains(got.stdout, "0.44") { + // Which figure depends on the hour: flash cache-miss input is $0.15 + // off-peak and $0.3 peak on the V4.1 card. Both are published + // numbers, so asserting on either keeps this a real check without + // making it a time bomb that fails whenever the suite runs inside a + // peak window. + if !strings.Contains(got.stdout, "$0.15") && !strings.Contains(got.stdout, "$0.3 ") { t.Errorf("the price should sit next to the model, got %q", got.stdout) } } @@ -490,7 +491,7 @@ func TestLedgerRecordsTheCallAndUsageReportsIt(t *testing.T) { exec("chat", "hi", "--stream=false") report := exec("usage", "--since", "all") - if !strings.Contains(report, "deepseek-v4-flash") { + if !strings.Contains(report, "deepseek-flash") { t.Errorf("usage did not report the call: %s", report) } // 64 of 100 prompt tokens came from cache. diff --git a/internal/cli/fim.go b/internal/cli/fim.go index cff5c2c..cb5eb54 100644 --- a/internal/cli/fim.go +++ b/internal/cli/fim.go @@ -48,7 +48,7 @@ non-thinking mode regardless of any effort setting. } fl := cmd.Flags() - fl.StringVarP(&f.model, "model", "m", deepseek.ModelPro, "model: deepseek-v4-pro or deepseek-v4-flash") + fl.StringVarP(&f.model, "model", "m", deepseek.ModelPro, "model: deepseek-v4-pro or deepseek-flash") fl.StringVar(&f.prefix, "prefix", "", "text before the gap, or @file (defaults to the positional argument or stdin)") fl.StringVar(&f.suffix, "suffix", "", "text after the gap, or @file") fl.IntVar(&f.maxTokens, "max-tokens", 0, "cap generated tokens (the endpoint's own ceiling is 4096)") diff --git a/internal/cli/output.go b/internal/cli/output.go index af4c3f9..a91b45c 100644 --- a/internal/cli/output.go +++ b/internal/cli/output.go @@ -152,15 +152,25 @@ func (o *Options) stats(api, requested string, u deepseek.Usage, dur time.Durati // is always in --json and in the ledger; this is for the human glance. func shortModel(model string) string { resolved := deepseek.ResolveModel(model) - short := strings.TrimPrefix(resolved, "deepseek-v4-") + short := trimModelPrefix(resolved) if resolved != model { - // The Anthropic endpoint remapped a Claude name; show both so the - // cost is traceable to the model that actually ran. + // The Anthropic endpoint remapped a Claude name, or a retired name + // was served by its successor; show both so the cost is traceable + // to the model that actually ran. return model + "→" + short } return short } +// trimModelPrefix drops the vendor prefix, and the generation where the +// name carries one: deepseek-v4-pro reads pro, deepseek-flash reads flash. +func trimModelPrefix(model string) string { + if short, ok := strings.CutPrefix(model, "deepseek-v4-"); ok { + return short + } + return strings.TrimPrefix(model, "deepseek-") +} + // humanTokens renders a token count compactly: 940, 1.2k, 34k, 1.1M. func humanTokens(n int) string { switch { diff --git a/internal/cli/pricing.go b/internal/cli/pricing.go index 969aebc..ec569fa 100644 --- a/internal/cli/pricing.go +++ b/internal/cli/pricing.go @@ -34,11 +34,13 @@ type pricingResult struct { NextChange string `json:"next_change"` RepriceAt string `json:"reprice_at"` + CardSince string `json:"card_since"` PeakWindowsUTC []string `json:"peak_windows_utc"` PeakMultiplier float64 `json:"peak_multiplier"` // Current is the card in effect at now_utc; OffPeak and Peak are the - // dated cards that apply from reprice_at. + // full time-of-day card in force since card_since (before reprice_at, + // the dated card that is coming). Current map[string]pricingPrice `json:"current"` OffPeak map[string]pricingPrice `json:"off_peak"` Peak map[string]pricingPrice `json:"peak"` @@ -53,12 +55,14 @@ func newPricingCmd(o *Options) *cobra.Command { Long: strings.TrimSpace(` Answer what a token costs at this instant, and when that changes. -DeepSeek's repricing of 2026-08-13 is dated: until 16:00 UTC on -2026-08-16 every hour bills at the flat card of 2026-08-02, and from -that instant billing is peak/off-peak on a new, higher card — peak hours -01:00-04:00 and 06:00-10:00 UTC on weekdays at twice the off-peak -rate. Since 2026-08-22 weekends bill off-peak all day, on the Beijing -calendar, so peak is 35 hours a week rather than 49. +Billing has been peak/off-peak since 16:00 UTC on 2026-08-16 (before +it, every hour billed at the flat card of 2026-08-02): peak hours +01:00-04:00 and 06:00-10:00 UTC on weekdays, at twice the off-peak rate. +Since 2026-08-22 weekends bill off-peak all day, on the Beijing +calendar, so peak is 35 hours a week rather than 49. Since the V4.1 +Flash release of 2026-09-10 the Flash card is lower; Pro's is unchanged. +The retired names deepseek-v4-flash and deepseek-v4-flash-vision-exp +bill as deepseek-flash. This command reads no network and spends nothing: the schedule is the same one the cost estimates use, so what it prints is what the usage @@ -82,6 +86,7 @@ func pricingAt(now time.Time) *pricingResult { Multiplier: period.Multiplier, NextChange: deepseek.NextChange(now).Format(time.RFC3339), RepriceAt: deepseek.RepriceAt.Format(time.RFC3339), + CardSince: deepseek.CardSince(fullCardAt(now)).Format(time.RFC3339), PeakMultiplier: deepseek.PeakMultiplier, Current: map[string]pricingPrice{}, OffPeak: map[string]pricingPrice{}, @@ -96,7 +101,7 @@ func pricingAt(now time.Time) *pricingResult { if p, ok := deepseek.PriceAt(m, now); ok { res.Current[m] = pricingPrice{p.CacheHitInput, p.CacheMissInput, p.Output} } - if p, ok := deepseek.PriceAt(m, deepseek.RepriceAt); ok { + if p, ok := deepseek.BasePriceAt(m, fullCardAt(now)); ok { res.OffPeak[m] = pricingPrice{p.CacheHitInput, p.CacheMissInput, p.Output} res.Peak[m] = pricingPrice{ p.CacheHitInput * deepseek.PeakMultiplier, @@ -146,17 +151,18 @@ func formatPricing(now time.Time) string { for _, win := range deepseek.PeakWindows { windows = append(windows, fmtMinutes(win.Start)+"-"+fmtMinutes(win.End)) } + since := deepseek.CardSince(fullCardAt(now)).Format("2006-01-02 15:04 UTC") if now.Before(deepseek.RepriceAt) { fmt.Fprintf(&b, "\nfrom %s — peak hours %s UTC, Mon-Fri; all other hours, and all weekend, off-peak at half of peak:\n", - deepseek.RepriceAt.Format("2006-01-02 15:04 UTC"), strings.Join(windows, " and ")) + since, strings.Join(windows, " and ")) } else { - fmt.Fprintf(&b, "\nthe full card — peak hours %s UTC, Mon-Fri; all other hours, and all weekend, off-peak at half of peak:\n", - strings.Join(windows, " and ")) + fmt.Fprintf(&b, "\nthe full card, since %s — peak hours %s UTC, Mon-Fri; all other hours, and all weekend, off-peak at half of peak:\n", + since, strings.Join(windows, " and ")) } w = tabwriter.NewWriter(&b, 0, 0, 2, ' ', 0) fmt.Fprintln(w, "MODEL\tPERIOD\tIN (CACHED)\tIN (MISS)\tOUT") for _, m := range deepseek.Models { - p, ok := deepseek.PriceAt(m, deepseek.RepriceAt) + p, ok := deepseek.BasePriceAt(m, fullCardAt(now)) if !ok { continue } @@ -166,10 +172,21 @@ func formatPricing(now time.Time) string { } w.Flush() + fmt.Fprintf(&b, "\nthe retired names %s and %s bill as %s.", deepseek.ModelFlashV4, deepseek.ModelFlashVision, deepseek.ModelFlash) fmt.Fprint(&b, "\ncost estimates switch cards on the effective instant automatically.\nupstream copy, offline: deepseek docs show quick_start/pricing") return b.String() } +// fullCardAt is the instant whose era supplies the full time-of-day card +// shown beside the current price: now, or the repricing instant while the +// flat card is still in force, so a reader sees the card that is coming. +func fullCardAt(now time.Time) time.Time { + if now.Before(deepseek.RepriceAt) { + return deepseek.RepriceAt + } + return now +} + func fmtMinutes(m int) string { return fmt.Sprintf("%02d:%02d", m/60, m%60) } diff --git a/internal/cli/pricing_test.go b/internal/cli/pricing_test.go index a6a44a0..40cb5a7 100644 --- a/internal/cli/pricing_test.go +++ b/internal/cli/pricing_test.go @@ -22,15 +22,15 @@ func TestPricingBeforeTheFlip(t *testing.T) { if res.NextChange != deepseek.RepriceAt.Format(time.RFC3339) { t.Errorf("next change = %s, want the repricing instant", res.NextChange) } - if got := res.Current["deepseek-v4-flash"]; got.CacheMissInput != 0.14 { + if got := res.Current[deepseek.ModelFlash]; got.CacheMissInput != 0.14 { t.Errorf("current flash miss = %v, want the flat 0.14", got.CacheMissInput) } // The dated card rides along so a script can see the future without // a second source. - if got := res.OffPeak["deepseek-v4-pro"]; got.Output != 1.98 { + if got := res.OffPeak[deepseek.ModelPro]; got.Output != 1.98 { t.Errorf("off-peak pro output = %v, want 1.98", got.Output) } - if got, want := res.Peak["deepseek-v4-flash"].CacheMissInput, 0.44; got != want { + if got, want := res.Peak[deepseek.ModelFlash].CacheMissInput, 0.44; got != want { t.Errorf("peak flash miss = %v, want %v (2x off-peak)", got, want) } @@ -49,7 +49,7 @@ func TestPricingInsideAPeakWindow(t *testing.T) { if res.Period != "peak" || res.Multiplier != deepseek.PeakMultiplier { t.Errorf("period = %s at %gx, want peak at %gx", res.Period, res.Multiplier, deepseek.PeakMultiplier) } - if got := res.Current["deepseek-v4-flash"]; got.CacheMissInput != 0.44 { + if got := res.Current[deepseek.ModelFlash]; got.CacheMissInput != 0.44 { t.Errorf("current flash miss = %v, want the peak 0.44", got.CacheMissInput) } if res.NextChange != time.Date(2026, 8, 17, 4, 0, 0, 0, time.UTC).Format(time.RFC3339) { @@ -62,6 +62,36 @@ func TestPricingInsideAPeakWindow(t *testing.T) { } } +func TestPricingAfterV41ShowsTheNewFlashCard(t *testing.T) { + now := time.Date(2026, 9, 17, 12, 0, 0, 0, time.UTC) // Thursday, off-peak + res := pricingAt(now) + + if res.CardSince != deepseek.V41At.Format(time.RFC3339) { + t.Errorf("card_since = %s, want the V4.1 instant", res.CardSince) + } + // The full card follows the era in force, not the repricing instant: + // reading it at RepriceAt showed the V4 card for a week after it died. + if got := res.OffPeak[deepseek.ModelFlash]; got.CacheMissInput != 0.15 { + t.Errorf("off-peak flash miss = %v, want the V4.1 0.15", got.CacheMissInput) + } + if got := res.Peak[deepseek.ModelFlash]; got.Output != 1.2 { + t.Errorf("peak flash output = %v, want 1.2", got.Output) + } + if got := res.Peak[deepseek.ModelPro]; got.Output != 3.96 { + t.Errorf("peak pro output = %v, want the unchanged 3.96", got.Output) + } + if _, listed := res.Current[deepseek.ModelFlashV4]; listed { + t.Error("a retired name has its own row; it should bill as deepseek-flash") + } + + text := formatPricing(now) + for _, want := range []string{"since 2026-09-10 11:00 UTC", "$0.15", "$0.6", "deepseek-v4-flash-vision-exp bill as deepseek-flash"} { + if !strings.Contains(text, want) { + t.Errorf("text output is missing %q:\n%s", want, text) + } + } +} + func TestPricingJSONAgreesWithTheCostEstimator(t *testing.T) { // The command and Cost() must read the same table: the card `pricing` // prints for an instant is the card a call at that instant is priced @@ -70,6 +100,8 @@ func TestPricingJSONAgreesWithTheCostEstimator(t *testing.T) { time.Date(2026, 8, 14, 12, 0, 0, 0, time.UTC), time.Date(2026, 8, 17, 2, 0, 0, 0, time.UTC), time.Date(2026, 8, 17, 12, 0, 0, 0, time.UTC), + time.Date(2026, 9, 14, 2, 0, 0, 0, time.UTC), + time.Date(2026, 9, 17, 12, 0, 0, 0, time.UTC), } { res := pricingAt(now) for _, m := range []string{deepseek.ModelFlash, deepseek.ModelPro} { diff --git a/internal/cli/respond.go b/internal/cli/respond.go index 53f6652..9ef4ece 100644 --- a/internal/cli/respond.go +++ b/internal/cli/respond.go @@ -55,7 +55,7 @@ Both models are accepted since V4-Pro's official release } fl := cmd.Flags() - fl.StringVarP(&f.model, "model", "m", deepseek.ModelFlash, "model: deepseek-v4-flash or deepseek-v4-pro") + fl.StringVarP(&f.model, "model", "m", deepseek.ModelFlash, "model: deepseek-flash or deepseek-v4-pro") fl.StringVarP(&f.instructions, "instructions", "s", "", "system-level instructions, or @file") fl.StringVarP(&f.effort, "effort", "e", "", "reasoning effort: none, low, high, or max (none disables thinking)") fl.IntVar(&f.maxTokens, "max-tokens", 0, "cap generated tokens, reasoning included") diff --git a/internal/cli/status.go b/internal/cli/status.go index e5b25f0..81766ac 100644 --- a/internal/cli/status.go +++ b/internal/cli/status.go @@ -116,7 +116,7 @@ func formatStatus(res *statusResult) string { func shortModels(ids []string) []string { out := make([]string, len(ids)) for i, id := range ids { - out[i] = strings.TrimPrefix(id, "deepseek-v4-") + out[i] = trimModelPrefix(id) } return out } diff --git a/internal/deepseek/client.go b/internal/deepseek/client.go index 75b8214..0521ed9 100644 --- a/internal/deepseek/client.go +++ b/internal/deepseek/client.go @@ -26,13 +26,25 @@ import ( const DefaultBaseURL = "https://api.deepseek.com" // Models. DeepSeek exposes exactly two; everything else the API accepts -// (Claude model names on the Anthropic endpoint) is mapped server-side. +// (Claude model names on the Anthropic endpoint, retired model names) is +// mapped server-side. +// +// ModelFlash is a floating alias: since 2026-09-10 it serves +// DeepSeek-V4.1-Flash, and whichever Flash comes next will answer to it +// too. That is the name upstream tells callers to use. const ( - ModelFlash = "deepseek-v4-flash" + ModelFlash = "deepseek-flash" ModelPro = "deepseek-v4-pro" - // ModelFlashVision is the experimental multimodal variant released - // 2026-08-21. It takes image input and bills at exactly the Flash - // rates; it does not support FIM completion. +) + +// Retired names. The models behind them were retired on 2026-09-10; the +// API still accepts both, serves them with V4.1 Flash and bills them at +// the Flash price, so they resolve to ModelFlash. Kept as constants +// because ledger rows written before that date carry them. +const ( + ModelFlashV4 = "deepseek-v4-flash" + // ModelFlashVision was the experimental multimodal variant of + // 2026-08-21. V4.1 Flash takes images natively. ModelFlashVision = "deepseek-v4-flash-vision-exp" ) diff --git a/internal/deepseek/playground_card_test.go b/internal/deepseek/playground_card_test.go new file mode 100644 index 0000000..327ef7f --- /dev/null +++ b/internal/deepseek/playground_card_test.go @@ -0,0 +1,39 @@ +package deepseek + +import ( + "os" + "regexp" + "strconv" + "testing" + "time" +) + +// The playground prices calls in the browser from its own copy of the +// Flash card, because the site is static and cannot ask the CLI. That copy +// went unchecked through two changes: it read the dead card for a day +// after the 2026-08-16 repricing, and it billed weekends at peak for +// weeks after 2026-08-22. So it is pinned here to the newest Flash card +// this package encodes. +// +// Newest, not current: reading the card at time.Now() would turn red on +// the day a dated card takes effect, whoever happened to push that day. +func TestPlaygroundCarriesTheNewestFlashCard(t *testing.T) { + src, err := os.ReadFile("../../site/playground.js") + if err != nil { + t.Fatal(err) + } + m := regexp.MustCompile(`var RATES = \{ cacheHit: ([0-9.]+), cacheMiss: ([0-9.]+), output: ([0-9.]+) \};`).FindSubmatch(src) + if m == nil { + t.Fatal("site/playground.js: no RATES line; if it moved, move this test with it") + } + var got [3]float64 + for i := range got { + if got[i], err = strconv.ParseFloat(string(m[i+1]), 64); err != nil { + t.Fatal(err) + } + } + want, _ := BasePriceAt(ModelFlash, time.Date(9999, 1, 1, 0, 0, 0, 0, time.UTC)) + if got != [3]float64{want.CacheHitInput, want.CacheMissInput, want.Output} { + t.Errorf("playground RATES = %v, newest flash card = %+v", got, want) + } +} diff --git a/internal/deepseek/pricing.go b/internal/deepseek/pricing.go index 9e1c690..57c2282 100644 --- a/internal/deepseek/pricing.go +++ b/internal/deepseek/pricing.go @@ -72,34 +72,84 @@ var RepriceAt = time.Date(2026, time.August, 16, 16, 0, 0, 0, time.UTC) // 2026-08-17 or Saturday 2026-08-22 really did bill peak. var WeekendOffPeakAt = time.Date(2026, time.August, 22, 16, 0, 0, 0, time.UTC) +// V41At is when the Flash card dropped with the DeepSeek-V4.1-Flash +// release. The changelog dates the release 2026-09-10 and says only that +// "API prices have been reduced accordingly"; the pricing page carries +// the new card and no effective instant. Pro's card did not move. +// +// The instant is INFERRED, not published. Our docs mirror fetched the +// pricing page at 04:50 UTC on 2026-09-10 and got the old card, and at +// 11:27 UTC the same day and got the new one. 11:00 UTC is the last whole +// hour inside that bracket, which errs toward the old, dearer card: an +// estimate for a call in the bracket can overstate what it cost, never +// understate it. Move it if DeepSeek publishes the real instant. +var V41At = time.Date(2026, time.September, 10, 11, 0, 0, 0, time.UTC) + // beijing is the vendor's clock. China has observed no daylight saving // since 1991, so a fixed offset is exact and needs no tzdata. var beijing = time.FixedZone("CST", 8*60*60) +// The cards are keyed by ModelFlash and ModelPro as the two tiers, and +// ResolveModel maps every name the API accepts onto one of them. Each +// card is what that tier cost in its era, so ModelFlash's flat row is +// what deepseek-v4-flash cost then. +// +// Superseded cards stay because the ledger stores token counts rather +// than dollars, and a call must reprice under the card it was actually +// billed at. + // pricesFlat is the card published 2026-08-02, in force before RepriceAt. -// That instant has passed, so nothing live prices against it any more; it -// stays because the ledger stores token counts rather than dollars, and a -// call made before the flip must still reprice under the card it was -// actually billed at. var pricesFlat = map[string]Price{ ModelFlash: {CacheHitInput: 0.0028, CacheMissInput: 0.14, Output: 0.28}, ModelPro: {CacheHitInput: 0.003625, CacheMissInput: 0.435, Output: 0.87}, } -// pricesOffPeak is the base card from RepriceAt on. During PeakWindows -// every billing item costs PeakMultiplier times these numbers; DeepSeek -// publishes the peak figures rather than the rule, and they are exactly -// double, so the multiplier is data, not interpretation. -var pricesOffPeak = map[string]Price{ - ModelFlash: {CacheHitInput: 0.007, CacheMissInput: 0.22, Output: 0.66}, - ModelFlashVision: {CacheHitInput: 0.007, CacheMissInput: 0.22, Output: 0.66}, - ModelPro: {CacheHitInput: 0.022, CacheMissInput: 0.66, Output: 1.98}, +// pricesV4OffPeak is the base card from RepriceAt until V41At. During +// PeakWindows every billing item costs PeakMultiplier times these +// numbers; DeepSeek publishes the peak figures rather than the rule, and +// they are exactly double, so the multiplier is data, not interpretation. +var pricesV4OffPeak = map[string]Price{ + ModelFlash: {CacheHitInput: 0.007, CacheMissInput: 0.22, Output: 0.66}, + ModelPro: {CacheHitInput: 0.022, CacheMissInput: 0.66, Output: 1.98}, +} + +// pricesV41OffPeak is the base card from V41At on: Flash cut on every +// item, Pro unchanged. Same peak rule. +var pricesV41OffPeak = map[string]Price{ + ModelFlash: {CacheHitInput: 0.003, CacheMissInput: 0.15, Output: 0.6}, + ModelPro: {CacheHitInput: 0.022, CacheMissInput: 0.66, Output: 1.98}, } // Models are the priced models, in the order the rate card lists them. -// One list so a new model reaches every table at once: the vision variant -// was published upstream and absent here, which meters it at zero. -var Models = []string{ModelFlash, ModelFlashVision, ModelPro} +// One list so a new model reaches every table at once. The retired names +// are not listed: they bill as ModelFlash, and the card says so once. +var Models = []string{ModelFlash, ModelPro} + +// cardAt is the base card of the era in force at t. +func cardAt(t time.Time) map[string]Price { + switch { + case t.Before(RepriceAt): + return pricesFlat + case t.Before(V41At): + return pricesV4OffPeak + default: + return pricesV41OffPeak + } +} + +// CardSince is the instant the base card in force at t took effect, and +// the zero time for the flat card, which has no start this schedule +// knows of. +func CardSince(t time.Time) time.Time { + switch { + case t.Before(RepriceAt): + return time.Time{} + case t.Before(V41At): + return RepriceAt + default: + return V41At + } +} // PeakMultiplier scales the off-peak card during PeakWindows. const PeakMultiplier = 2.0 @@ -160,7 +210,7 @@ func isBeijingWeekend(t time.Time) bool { // NextChange is the next instant after t at which the price of a call // changes: the repricing instant while the flat card is in force, then -// the nearest peak-window boundary of the UTC day. +// the nearest peak-window boundary or card change. func NextChange(t time.Time) time.Time { if t.Before(RepriceAt) { return RepriceAt @@ -169,12 +219,13 @@ func NextChange(t time.Time) time.Time { // turnover at 16:00 UTC, and the policy start dates — lands on a UTC // hour, so walking hours finds the next change exactly. Scanning a // week of them covers the longest run of one period, Friday 10:00 - // UTC to Monday 01:00 UTC, with room to spare. + // UTC to Monday 01:00 UTC, with room to spare. A new card is a change + // even when the period's label is not. u := t.UTC() - here := PeriodAt(u).Label + here, since := PeriodAt(u).Label, CardSince(u) at := u.Truncate(time.Hour).Add(time.Hour) for i := 0; i < 8*24; i++ { - if PeriodAt(at).Label != here { + if PeriodAt(at).Label != here || !CardSince(at).Equal(since) { return at } at = at.Add(time.Hour) @@ -182,14 +233,18 @@ func NextChange(t time.Time) time.Time { return at } +// BasePriceAt is a model's base card in the era in force at t, before +// any peak multiplier: the off-peak row once time-of-day billing began, +// the flat row before it. +func BasePriceAt(model string, t time.Time) (Price, bool) { + p, ok := cardAt(t)[ResolveModel(model)] + return p, ok +} + // PriceAt returns the effective rate card for a model at one instant: // that era's base card, scaled by the period's multiplier. func PriceAt(model string, t time.Time) (Price, bool) { - cards := pricesFlat - if !t.Before(RepriceAt) { - cards = pricesOffPeak - } - p, ok := cards[ResolveModel(model)] + p, ok := BasePriceAt(model, t) if !ok { return Price{}, false } @@ -213,11 +268,14 @@ func PriceFor(model string) (Price, bool) { // // The Anthropic-format endpoint accepts Claude model names and remaps // them: claude-opus* becomes pro, claude-haiku*/claude-sonnet* become -// flash, and anything else unrecognised falls back to flash. +// flash, and anything else unrecognised falls back to flash. The retired +// V4 Flash names are served and billed as flash. func ResolveModel(model string) string { switch { case model == ModelFlash || model == ModelPro: return model + case model == ModelFlashV4 || model == ModelFlashVision: + return ModelFlash case hasPrefix(model, "claude-opus"): return ModelPro case hasPrefix(model, "claude-haiku"), hasPrefix(model, "claude-sonnet"): diff --git a/internal/deepseek/usage_test.go b/internal/deepseek/usage_test.go index 5b72bf7..2f080d1 100644 --- a/internal/deepseek/usage_test.go +++ b/internal/deepseek/usage_test.go @@ -294,17 +294,65 @@ func TestNextChangeCrossesTheWeekend(t *testing.T) { } } -func TestVisionModelIsPricedAtFlashRates(t *testing.T) { - // Released 2026-08-21, priced identically to Flash on every bucket in - // both published currencies. Absent from the card it would meter at zero. - at := time.Date(2026, 8, 26, 12, 0, 0, 0, time.UTC) // Wednesday, off-peak - vision, ok := PriceAt(ModelFlashVision, at) - if !ok { - t.Fatal("deepseek-v4-flash-vision-exp has no published rate") +func TestV41FlashCardSwitchesOnItsInstant(t *testing.T) { + // 2026-09-10: the Flash card dropped with V4.1, Pro's did not. 11:00 + // UTC is off-peak on a Thursday, so the flip lands on the off-peak + // rows of both cards. + u := Usage{InputTokens: 2_000_000, CacheHitTokens: 1_000_000, CacheMissTokens: 1_000_000, OutputTokens: 1_000_000} + + before, _ := CostAt(ModelFlash, u, V41At.Add(-time.Nanosecond)) + if want := 0.007 + 0.22 + 0.66; math.Abs(before-want) > 1e-9 { + t.Errorf("one instant before V4.1: got %v, want the V4 card's %v", before, want) + } + after, _ := CostAt(ModelFlash, u, V41At) + if want := 0.003 + 0.15 + 0.6; math.Abs(after-want) > 1e-9 { + t.Errorf("at V4.1: got %v, want the V4.1 card's %v", after, want) + } + + // Peak is still exactly double, on the new card. + peak := time.Date(2026, 9, 14, 2, 0, 0, 0, time.UTC) // Monday, 01:00-04:00 UTC + p, _ := PriceAt(ModelFlash, peak) + if (p != Price{CacheHitInput: 0.006, CacheMissInput: 0.3, Output: 1.2}) { + t.Errorf("flash at peak on the V4.1 card = %+v, want 0.006/0.3/1.2", p) + } + + for _, at := range []time.Time{V41At.Add(-time.Nanosecond), V41At, peak} { + pro, _ := CostAt(ModelPro, Usage{OutputTokens: 1_000_000}, at) + want := 1.98 * PeriodAt(at).Multiplier + if math.Abs(pro-want) > 1e-9 { + t.Errorf("pro output at %v = %v, want %v: V4.1 did not reprice pro", at, pro, want) + } + } +} + +func TestRetiredFlashNamesBillAsFlashInEveryEra(t *testing.T) { + // deepseek-v4-flash and deepseek-v4-flash-vision-exp are served by + // V4.1 Flash since 2026-09-10 and billed at the Flash price; before it + // they WERE flash (vision priced identically from its release). Either + // way the right answer is the flash card of the instant. + for _, at := range []time.Time{atFlat, atOffPeak, atPeak, V41At, V41At.Add(24 * time.Hour)} { + flash, _ := PriceAt(ModelFlash, at) + for _, name := range []string{ModelFlashV4, ModelFlashVision} { + got, ok := PriceAt(name, at) + if !ok || got != flash { + t.Errorf("%s at %v = %+v (ok=%v), want flash's %+v", name, at, got, ok, flash) + } + } + } +} + +func TestNextChangeSeesTheCardChange(t *testing.T) { + // 10:00 to 11:00 UTC on 2026-09-10 is off-peak on both sides of the + // flip, so only the card changes; a label-only walk would sail past it. + at := V41At.Add(-30 * time.Minute) + if got := NextChange(at); !got.Equal(V41At) { + t.Errorf("NextChange(%v) = %v, want the card change at %v", at, got, V41At) + } + if got := CardSince(V41At.Add(time.Hour)); !got.Equal(V41At) { + t.Errorf("CardSince after V4.1 = %v, want %v", got, V41At) } - flash, _ := PriceAt(ModelFlash, at) - if vision != flash { - t.Errorf("vision %+v != flash %+v", vision, flash) + if got := CardSince(atOffPeak); !got.Equal(RepriceAt) { + t.Errorf("CardSince in the V4 era = %v, want %v", got, RepriceAt) } } @@ -333,6 +381,8 @@ func TestResolveModel(t *testing.T) { cases := map[string]string{ ModelFlash: ModelFlash, ModelPro: ModelPro, + ModelFlashV4: ModelFlash, // retired 2026-09-10, served by V4.1 Flash + ModelFlashVision: ModelFlash, "claude-opus-4-1": ModelPro, "claude-sonnet-4-5": ModelFlash, "claude-haiku-4-5": ModelFlash, diff --git a/internal/docs/corpus.tar.gz b/internal/docs/corpus.tar.gz index e0d59720a5c41f806db9c1fb87ebabf565dc37a6..1b2bb900233c7463601f25c996514649b954da83 100644 GIT binary patch literal 99320 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
R-5A$0CBJRd4ni@19qpgjV2^w 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

joBDV%lvG5RrW!bxxW_I`dpb*2 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%0Dvb4v|way3Zemo zEl8~a-fr}$TEnGdk~EX#{bO)sE|O@@Lis++Uf(Lb3Jnu^R6IK$%D*dK^rHAy>k^hp zq!o!SNd5&dbFG{?`dUW*{6iF4fA2QKy=C%dULdUaH1~AZw>P)cx3@^_+E&$8+kR20 zeZ-+?Kc*WV2;5dGIAQ+tAqy{&WzX`C#POblvUIJ`z(&mac$deKNY87!12pG zTHgI;#@ka4`e9ldZy(lTQS0<~O$hoWw|MS_V*;!)@f~rkD0Ml=6szr%iO)H*$5s`CO^`AZ4n^ zQJQlCQeW8j#C&~(QTZ^5X7OX7BcVT+#?Jm0@l|;Y*0BGn_&HFFp3Q)M$WQK;Gh;R% zo3Pi(ju|h$(Sly=lj<#68JN}tMt&h#hXR9`aH|YS&#a+uEuIT&WnqY|*;``5HQHG! zr$4gCr;~Hp%kE?Uc=QiAXX*Z9>G6ZnvY&wYqF_=Nxdv*s0NTg(@i6IgtZYJhlpo_& z?kzDFQWHNyY#NEK_4Su3S_2g!EUhXcQJE;zXIFXfw7hIdvG)8UVvuto&yY)8W20~+&Pu^hfMcxz7}pH zr_DAdXzv;(Xrknzg2Ee-l0KJXe=&W${qW$Hu}NoNKWpXz{BDpAb;Ub-7UfriMLZhl8(N?p!XIlZ8E{0sssOp1Z*o@&yK^Ir(7Ncr zR|quBq=-ppUKBHh2ixs=Nr(>1JB=U`N4WMW6|81n6#KJy3#~{$6AzZnyhl+L4Y?QD zcvRwkv-Z_KW7&YTISjs|Z5A%w;!LP0;vv(j8YkOikZ7322*DgZHMe%Tgi@5v5=XpG z@+ty!yW~ILFBmbmlbzvWcfjY6hw3C)`lMakn{u!o`vwnI_+L-m-xz7K^HpOf;_y<^ zL8TAjRJkKm**nq_0RN-_7jHgUKYb=a7x#5>RRHY2Xx;H{PZBMl`2jSLLtKZOdlOFuOjTXm#uD_q5fP#JXL_r#9bwQzvi3a&_NZ<3Fv} zwY&6pKh0OoA8kl5S)OKC6s z9f7GmG|T4i5R4kC`LitE8j?YJG-16#LRG_Q9`m&C#=!tQB7`EEVJ{J@EE(IO zm-U_ev>Bn0yUFb!{W*^e*#ZG{?JH34&)BbMa+oRA*9{fZ{Xb;eH!GNN7DMP9G0$^m zB%!Q)x1F(PPS5q(b?R!k@Q}yBHbtZ7i)Z#4KnW-w!=$iBI%uSZGwdI% zyfTf4n^opvqJ6*Ie1Beze19_WXl-vYzjixSi170Xa#%-EsXm7bJ7MLe?BWaKotJ$( zmpSOz6t|*w&}z9^b#*sA+P?OD^5ZER*r5JNd_X}qx7_T0^y_OG=GQ2yD^yhpZ)4QO zqxP~N+!U>!<4p>F-giWOzRju(bzz)}VX8k7k&-Wua%r1t7G;=QFBx#4Iqu33<8T_) z<#|nXcaV6>R_AVNta^P{>7r%9z<)W^N(L-5TrV7HkrW2FBl0e6mmo5z2#66fffexKbJ=8Z2q zL6-XhZuHL60?2jjXHzp1VdA;>;|2TY=AZe3=m!RrFC3}shXG$X35Z(%&t^uOo-X66 zAI%tgtdH-bOx{`fXN*b#j;CkOTE-pv}B+QCKwvT-_ZKg<+^p9!(*W3^D%#AA?k7W zGmWc7aDGm3pgleGRfL->^bCdKj)8n-s>A?$)Yzbf&(~F<62-wlV_hidQ(fTD98~kO5{pwIu+IU_sRw-Mq$-}q@_(|bJ10T;l>vS|! z?QePn4kAcojlo$ea(mAot9cw3R|B4T#?LiTQsv{aT)Mm!^Z&zA*;}7CkNp#8i-332 zdzStE?e-((S&RPLv&pkz*YoXQJryRq%JoG*h$;iQs3ImgPT<_^{utta2(2FtMR2Ib z?Z%?1oc*w>e?>apq3GA=>1fSN$h+36y-e{{BD7cz7Xq2~Bfg21T=cjtjGqTwiwTiM zs5HcK>C%D_5KysW2s@!`FF&3gV$!R6FM_4MK%MVdhIzqo@`DGOj8WG}h>gM}NK~PQ zz9HcY+NDpf#59yl$k~s*@=WhYa^}N%_nG99*RkSIiPlA^I2bsHf`wyRBG)jGXKw%x zTwPWZ*{(eTp`AZbeDJYyo~2^DmwbG0_xtEaeVX{}9_}8W3%qqbcZdj|ONH9F;|Z|F z^FY-xMiLHLaRgh2(NMxZJxx z3Ck-lTI7qP$ei<-l2d8p!D+wN`R6cZ()V5_Q+3?DE131p{e;R{Yn9ZFOWQ%1SQdTt z8%FwNbe6;Z(6IP7ck>k*7OH-RmKkcqN3CFP71<7XWz>Ftb;e(>{K!MReL3@aT}S+^ z?d(u|_~LP^Sw8m0-nEPTc#>i3s=Pm5XcCb|+%=HNAMl}|Y?6YvPD0Y*i+e8)zQI>y z!uKwF6#qCJ4Q4rc+)T)2>4;G7-A%OSg7yv;Rdv*T5+O_bBSCGDklUS??9WSZAu7i1 z^m4hAxwL6|Vf54rpPpb2-{$5q!>0Ija|_csoYIu?ULC-6g|-4$_5==o&NIT@N1_=+ z0&Myf-8LcNjHZ~de}(^z{k3k8XY&k?Pc4QeD@yy`tCu`-5#5pq-pjGg$NfEhaqkB1 zH|8_jzPIlCIjZTQL-lUGm&%^Tm{PsXCNP)$nO*=wUDcKg*rU|2W*2!ULl`QJ>a#PDYYXq;ps*78D+(2HI3g zK}L!&`iRZ&NzIt}jA-~|Nyq|b<&wp5PB4T$3#;5znZIkWM=GiPe)GgSN~Hbf*!;EA z9+kz4_g)Cz%_pGTh)HauWhMQp1yx0-; z6G5zVbMjLM|5bE5%k|*9((=3ir3C>EsyX#XXH;8mn=4@#-XhfEbl37h z+#PM%xY%}c$;_zkyw$^bTQyc*kLCiT-ey47mVny!qzU<{QGP`|`UtcSc^po^!??3xN z`eW+p>Fw!li1M8Kp&9*kTIgjH|C4h+5-Ctf1M=6lnJD3v-74&_BWOoY7^vr8Aqh7J z3dgx(2);!2Il7|_5sTe2M^CPidgQ7Vq*#!A$)=7;q1N$7y6j5Vv@ zY>GN2Q$V?(!DW)~yEn2q)^14h$}n>1I_2g#Dp(+>VZ|e`)1c1!TwRcr{J}b`b)%eN zba%mgV4vujv{UF`=IHh0e6hvsd#m;DD_3X!75_l$FLCzH@?VH2@O{1(Xz^xQLU6tY zR4u)gUHZ?VTVlOga6s^7GUr%9Jt_t9%uBztvk5kntoc9tqot^ixc7iPVFZejni(m(~osZ#ueOXj@qwZoQA4%<2Rta z-jVCR2M>F-!Zi*8`uHS6J41>zQ7J#wH)5|7>?|}ds;R>{!c~N$!7Fyk#}utL_ZgXX zOg8Ith)2B{0#|mTKn@Z*CWixp4u_BYuREJvenmj~vk11+cb zSXy*+yx9bJ?rTX{QYQEKaZ&Y3rgs`Z-<^A)h2;qzW*4~pXTm2dt>EZ{3}4zyBV4^itnYFoQX{514g*X;-_`aa!Jn^%n(7?ik>2TRQO!05u29 zA>oy(GB#DZZ(2hvcdsu^8FZ&4OT3lf8&R&-*>ix3-%Uglm3wEH0GsyQ(qN#+Mk+ma z;}^HZRGpW;CmyzxD68hxB7y7~3wAA^WE?I%Nq~<$A`8Xyae>sFnP!5Eg^ulvUx5`L^Q?LBl_{HGG15JPPg@9jF3UjHQ+E zfJtYHqu{Eo&Bt6F0hBC$ZL~jED2Z-Ecs{5{5^;=kY=@~CD~*p@7G#>5fZQkooTAkD z9BK=3Tukqg*^uKR=tP9f0?>9~5r9sEMkdd|@tt5yO~WvFRgaS?8&QhA7&(}pi{fAT zg3%0Q5`QriI}S0GMMsguPcn&GO%)^bHzUV|ef^(|z?!f_(TIc^Pxe#f}Hi581&{b`QdbW_dMy&ER2ImHecuMu{&!G)$;KxA?x zshZPbHmX$JnI4K@%UzJeeFR7EBPx@0Ez^NYkN5Q)9UrhTpOq=TR0G=f zmb-2;79K7S8HH-cvu+o-5F#QMP7Ev_fpG`rBVpDaX3x=tuOvRlg{pn`Q{yv)*WHce zkW#^!)5-}rHPpN9%&^s7dPo0Z9en!~eyUz?G!a^;-hM1KH>1CP483gber^^<_$mbZ zE>>A*9D}AuB|>33>RLOKnDt|l@9gE;?wRM8!=d>!+7hOlYA)|?d{*ImBK@G(;B$oS zeHc^6CX`Uo$m$hftV5toBS1nOjV8R;6z2{(oO3p5q$nG*w1PBx)5>(1lAO4RR`Dmq z^4Lys6O^2+HLF$MYc+QLzC|k>ZN9tjU%GIY^I$q{!F(k%@I*sPd ze7TPMB23@L)#b%GS%jIgWHG=byW|R@UQS-AU^pMQ_O3DH9-KWKt4QGm z9u}|L+;78yn}^$l-HO(7s1~}&HwpJZI^x-2QZ#9&#jTFnt3S;@)zME&El2&9p`@>a zpXEJ(w5b79;+4kPW5hCa3>$s*f3dG3d-%;|5`x*YmW~=M*41r89t+P%zZc^ESfFV9 zjomd&Vwf>oEl#+!i?SU11=t8XYGHwJx{YrAbQ*6y-_-V06c?RO5^aTNo!x@21um~V z11ZMv=KAQXf^MRZQ%EPukJ%}IXG9nC$>)0=KV!nqUD!{J)VYe zqu@WzLdq2X5h%|&6wB}H|T zLKgqOztzb6Pw{qLHVE^&&#ax0d)3d?h;)Rb=bm+e2eJL`E(P9Gc*Pw5*`)?eG zPX|(Jhp4dl=%|x>tQyBeMV?8gusj|lU(0pfhtCSoeBhZSp|1GfWb&0fS&%MO!b~E2>MY zwEIU^Rb4cHIYk%Usec)89=8@EU{Hyt@`nnkxKuuC&>PzmKHjp>i5hpKUEi|!Oe1vD zasL6u^^pSTKOOh7O4~s>s0DUG%k;dF`USE6twi^E;R@}U%oW7G2-9T(q7BaF5CtdJ z7L=3P#qenobrU(F?dHx^rZ!6dUg<<=k!-FD%bm2%+^!BS-VGs)zr-jCT%7$+hx@8y zw|DXY6Ww_F<7#vv4M5t#R3QRCQ#kaF0EetU{l{Ol+UB2b6x0MJA`)$Nit~tiu)hW} zcHd9}*|r?Tg5d;C`}U9oYxrUOVE1h^xK}4L_uPyI&F8aT`Q-)yn#7uT@Y_U|Ddw;s zv1?_!?Te&#`DZ7~=;3jcXB;l>l^%hFH+mOH#LJ@6@a;IxqLNT~f8gIA=ceHOx+h_f z>k^(tgcJYsN%DfyO^{Y0h}*f-aNjSP?0{wQX-bmB^nd68_R;aZlxEp50d_&HK09UQ zWM#8o35@J;p|*D0s^0GE4i|sCG6*JrQdPV&XKQyxzKK0|l){Ey7(up=f3|h#PkpVe zc-PD>`S1@PR$gz6HRI@c`#UW1Ip_tei@&bImvEaz!R)z03Keu@aiP8ygc(d{n$RDZ z?#VmmnpOZcF!gOc`QOr+au1q%F44+^eOEi+jUWD1{KGJhI}{H%_b!tKC}M9PYR?tw zkRTguiwW9-6wnH~dTGu~@fVb==m!rZbuGX_(En zsOYyU!~u)2@*ZihnVx_@bTLC?DUHe#xdEF<6l-UhIM zwprH&Qo7uuCAD&dOi+p!pv3JH~=)$1`TAe?9cPcyZ%^c2-bZAz2d;^cG zkcP|&Ici7Q6;lHchg$$el+fwhJOhtybb=1$&^EI0)jwbyl1htWfj{7k$+9Jo2JM{* zR!W0QY1ZDs4t2~5sg0H6(xgNj)t6um{J zA?pGCQ5(#A^c4&RkrNaU{1m@{KA5{Dpf6H94vY0xq1o-_Y~5YB700;ZW3FEF#*%xo e=#?S&V9q;T`u{rk9R2wGQO-3^`^5n9>;C{z??=u6 literal 96459 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 kill line (斩杀线)

no reason to be chosen. The lever is price, and the gap is not small:

- + - - - + + +
Per 1M tokensv4-flashv4-proGPT-5.6 Solpro is cheaper by
Per 1M tokensflashv4-proGPT-5.6 Solpro is cheaper by
input, cache miss$0.22 / $0.44$0.66 / $1.32$5.007.6x / 3.8x
input, cache hit$0.007 / $0.014$0.022 / $0.044$0.5023x / 11x
output$0.66 / $1.32$1.98 / $3.96$30.0015x / 7.6x
input, cache miss$0.15 / $0.30$0.66 / $1.32$5.007.6x / 3.8x
input, cache hit$0.003 / $0.006$0.022 / $0.044$0.5023x / 11x
output$0.60 / $1.20$1.98 / $3.96$30.0015x / 7.6x
-

DeepSeek cells read off-peak / peak, on the -card in force since 2026-08-16 16:00 UTC; they are a conversion of the RMB +

DeepSeek cells read off-peak / peak: pro on the +card in force since 2026-08-16 16:00 UTC, flash (deepseek-flash, +V4.1) on the lower card of 2026-09-10. They are a conversion of the RMB card (pro: ¥4.5 / ¥0.15 / ¥13.5 per 1M off-peak, double at peak) at one consistent rate. GPT-5.6 Sol prices are from OpenAI's own listing. The pricing page has the full schedule.

diff --git a/site/build.py b/site/build.py index 173f4ea..722f2e9 100644 --- a/site/build.py +++ b/site/build.py @@ -540,7 +540,7 @@ def jstr(s): slug="", title="deepseek-cli: the whole DeepSeek API from the terminal", description="A single Go binary for every DeepSeek API: chat completions in OpenAI, Anthropic and Responses formats, FIM, models and balance, with multi-turn that survives the reasoning round-trip and per-call cost accounting.", - keywords="deepseek cli, deepseek api, deepseek command line, deepseek-v4-flash, deepseek-v4-pro, deepseek anthropic api, deepseek responses api, deepseek context cache, deepseek pricing, llm cli", + keywords="deepseek cli, deepseek api, deepseek command line, deepseek-flash, deepseek-v4-pro, deepseek-v4-flash, deepseek anthropic api, deepseek responses api, deepseek context cache, deepseek pricing, llm cli", jsonld=SOFTWARE_JSONLD, body="""
@@ -555,7 +555,7 @@ def jstr(s): API coverage: 6 of 6 endpoints 302 tests, 70 percent covered Built against the DeepSeek API docs of 2026-08-05 -Models: deepseek-v4-flash and deepseek-v4-pro +Models: deepseek-flash and deepseek-v4-pro

@@ -670,7 +670,7 @@ def jstr(s):
ds check
https://api.deepseek.com
 
-ok    GET /models                  141ms  deepseek-v4-flash, deepseek-v4-pro
+ok    GET /models                  141ms  deepseek-flash, deepseek-v4-pro
 ok    GET /user/balance            126ms  18.48 CNY
 ok    POST /chat/completions       651ms  5 in / 1 out
 ok    POST /anthropic/v1/messages  590ms  5 in / 1 out
@@ -744,9 +744,10 @@ def jstr(s):
 
  • Costs are estimates. Computed from DeepSeek's published USD rate card, not from your invoice. Token counts are exact, and they are what gets stored, so old calls can be repriced when the card changes.
  • -
  • Text only. DeepSeek rejects image, document and -search-result content blocks in every format – that is the API, not a -gap here.
  • +
  • Text only. The CLI sends text. Since 2026-09-10 +deepseek-flash also takes images through chat completions and +Responses, and deepseek-v4-pro does not; the CLI has no flag +that sends one.
  • """, )) @@ -874,7 +875,7 @@ def jstr(s): - + @@ -1101,14 +1102,14 @@ def jstr(s): ("Does DeepSeek's Anthropic endpoint count tokens the same way?", "No. On /anthropic/v1/messages the usage.input_tokens field excludes cache reads, so the full prompt is input_tokens plus cache_read_input_tokens. The OpenAI chat and Responses formats use the opposite convention, where the input count already includes cached tokens. Treating them the same misprices every cached call."), ("What happens if I send a Claude model name to DeepSeek?", - "It is remapped server-side. Model names starting with claude-opus map to deepseek-v4-pro; claude-sonnet and claude-haiku map to deepseek-v4-flash; anything unrecognised also falls back to deepseek-v4-flash."), + "It is remapped server-side. Model names starting with claude-opus map to deepseek-v4-pro; claude-sonnet and claude-haiku map to deepseek-flash; anything unrecognised also falls back to deepseek-flash."), ("Can DeepSeek accept images?", - "No. DeepSeek is text only. Image, document and search-result content blocks are rejected or replaced with placeholder text in every format."), + "deepseek-flash does, since the V4.1 Flash release of 2026-09-10: JPEG, PNG, GIF and WebP, through the chat completions and Responses formats. deepseek-v4-pro does not. The deepseek CLI sends text only."), ]), body="""

    Four wire formats

    DeepSeek exposes the same two models – -deepseek-v4-flash and deepseek-v4-pro – through +deepseek-flash and deepseek-v4-pro – through four different request shapes, so that existing ecosystems can point at it without code changes. They are not interchangeable.

    @@ -1184,8 +1185,8 @@ def jstr(s): - - + +
    FlagEffect
    -m, --modeldeepseek-v4-flash (default) or deepseek-v4-pro
    -m, --modeldeepseek-flash (default) or deepseek-v4-pro
    -s, --systemSystem prompt, inline or @file
    --think on|offThinking mode. Default is the API's own, which is on
    -e, --effortlow, high or max
    You sendYou get
    claude-opus-*deepseek-v4-pro
    claude-sonnet-*, claude-haiku-*deepseek-v4-flash
    anything unrecogniseddeepseek-v4-flash
    claude-sonnet-*, claude-haiku-*deepseek-flash
    anything unrecogniseddeepseek-flash
    @@ -1209,12 +1210,14 @@ def jstr(s):

    Shared limits

      -
    • Text only. Image, document and search-result blocks are -rejected or replaced with placeholder text in every format.
    • +
    • Images on flash only. Since 2026-09-10 +deepseek-flash takes images through chat completions and +Responses; deepseek-v4-pro is text only.
    • Thinking is on by default, and what its template costs -depends on --effort: +79 input tokens on flash at the default, -+92 at max, and nothing at all at -low – where the model still reasons. +depends on --effort: on V4 flash it was +79 input tokens at the +default, +92 at max, and nothing at all at +low – where the model still reasons. V4.1 Flash has not +been re-measured. The measured table.
    • Slow starts are normal. The API holds the connection with : keep-alive comments for up to ten minutes before inference @@ -1229,13 +1232,13 @@ def jstr(s): slug="cost/", crumb="cost", title="What DeepSeek actually costs: cache math and a local usage ledger", - description="DeepSeek's context cache makes a cached input token 50x cheaper than an uncached one. How the deepseek CLI prices every call, what the local usage ledger records, and the caveats on every figure it prints.", - keywords="deepseek pricing, deepseek api cost, deepseek context cache, deepseek cache hit tokens, deepseek token cost calculator, deepseek v4 flash price, deepseek usage tracking", + description="DeepSeek's context cache makes a cached input token 50x cheaper than an uncached one on flash and 30x on pro. How the deepseek CLI prices every call, what the local usage ledger records, and the caveats on every figure it prints.", + keywords="deepseek pricing, deepseek api cost, deepseek context cache, deepseek cache hit tokens, deepseek token cost calculator, deepseek flash price, deepseek v4.1 flash price, deepseek usage tracking", jsonld=tech_article("What DeepSeek actually costs", "Pricing, context-cache savings, and the deepseek CLI usage ledger.", "cost/"), body="""

      Cost

      DeepSeek's headline feature is a disk-backed context cache that -makes a repeated prompt prefix roughly thirty times cheaper. Since +makes a repeated prompt prefix thirty to fifty times cheaper. Since 2026-08-16 a second lever sits on top of it: the hour of the day, worth 2×. Neither is visible unless something is counting – so this counts.

      @@ -1249,22 +1252,23 @@ def jstr(s): - - - - + +
      ModelPeriodInput (cached)Input (miss)Output
      deepseek-v4-flashoff-peak$0.007$0.22$0.66
      peak$0.014$0.44$1.32
      deepseek-v4-flash-vision-expoff-peak$0.007$0.22$0.66
      peak$0.014$0.44$1.32
      deepseek-flashoff-peak$0.003$0.15$0.60
      peak$0.006$0.30$1.20
      deepseek-v4-prooff-peak$0.022$0.66$1.98
      peak$0.044$1.32$3.96
      -

      ds models prints the card in force next to the live model +

      The retired names deepseek-v4-flash and +deepseek-v4-flash-vision-exp still work: V4.1 Flash serves them, +at the deepseek-flash price. ds models prints the card in force next to the live model list, so the price is on screen when you pick, and ds pricing prints the full schedule with the period you are in right now.

      What the cache is worth

      -

      On flash, a cache hit costs 1/31st of a miss per token. -The same 2,900-token prompt, sent twice:

      +

      On flash, a cache hit costs 1/50th of a miss per token; +on pro, 1/30th. The same 2,900-token prompt, sent twice, on the V4 flash +card of the day, where the ratio was 1/31st:

      measured 2026-08-17, off-peak
      $ ds chat "..." --system @prefix.txt
      @@ -1279,7 +1283,8 @@ def jstr(s):
       same prefix again. It is 15× and not 31× because the 3% that
       changed – the tail of the prompt, and the question itself –
       still bills at the miss rate: the realised saving is always the rate ratio
      -times how much of the prompt you kept identical. Hence the practical rule:
      +times how much of the prompt you kept identical. On today's flash card the
      +same call drops about 20×. Hence the practical rule:
       put the stable part of a prompt first – same system
       prompt, same files, in the same order – and let the variable part come
       last.

      @@ -1305,7 +1310,7 @@ def jstr(s):
      - + @@ -1314,6 +1319,11 @@ def jstr(s):
      --effortflashprothinking
      --effortV4 flashprothinking
      none+0+0off entirely
      minimal, low+0+0on
      +

      The flash column is V4 Flash, which was retired on 2026-09-10. +deepseek-flash, and the retired names that now route to it, +have not been re-measured: a single probe on 2026-09-18 read +26 at +high, not +79. Treat the column as history until the table +is re-run.

      Two of those levels are in no DeepSeek documentation at all. none is documented only for the Responses API, but the chat @@ -1392,19 +1402,21 @@ def jstr(s): slug="pricing/", crumb="pricing", title="DeepSeek API pricing: the schedule, the peak hours, and the period right now", - description="DeepSeek has billed peak/off-peak since 16:00 UTC on 2026-08-16: peak hours 01:00-04:00 and 06:00-10:00 UTC, Monday to Friday, at twice the off-peak rate, with weekends off-peak all day since 2026-08-22. The full schedule, the numbers per model in both periods, the flat card it replaced, and a strip that reads your clock and names the billing period you are in right now.", - keywords="deepseek pricing, deepseek api pricing, deepseek price increase 2026, deepseek repricing, deepseek peak hours, deepseek off-peak pricing, deepseek peak off-peak billing, deepseek api cost, deepseek v4 flash price, deepseek v4 pro price, deepseek pricing 2026-08-16, deepseek new rate card, deepseek token price, deepseek weekend off-peak, deepseek peak weekdays only, deepseek v4 flash vision exp price", + description="DeepSeek has billed peak/off-peak since 16:00 UTC on 2026-08-16: peak hours 01:00-04:00 and 06:00-10:00 UTC, Monday to Friday, at twice the off-peak rate, with weekends off-peak all day since 2026-08-22. Since the V4.1 Flash release of 2026-09-10, deepseek-flash costs $0.003 / $0.15 / $0.60 per 1M off-peak. The full schedule, the numbers per model in both periods, the cards they replaced, and a strip that reads your clock and names the billing period you are in right now.", + keywords="deepseek pricing, deepseek api pricing, deepseek price increase 2026, deepseek repricing, deepseek peak hours, deepseek off-peak pricing, deepseek peak off-peak billing, deepseek api cost, deepseek v4 flash price, deepseek v4 pro price, deepseek pricing 2026-08-16, deepseek new rate card, deepseek token price, deepseek weekend off-peak, deepseek peak weekdays only, deepseek v4 flash vision exp price, deepseek flash price, deepseek v4.1 flash price, deepseek price cut 2026-09-10", jsonld=faq([ ("What does the DeepSeek API cost right now?", - "It depends on the hour and the day. Per 1M tokens (cache hit / cache miss / output): deepseek-v4-flash is $0.007 / $0.22 / $0.66 off-peak and $0.014 / $0.44 / $1.32 peak; deepseek-v4-pro is $0.022 / $0.66 / $1.98 off-peak and $0.044 / $1.32 / $3.96 peak. Peak hours are 01:00-04:00 and 06:00-10:00 UTC, Monday to Friday; every other hour, and the whole weekend, is off-peak at half the peak rate. deepseek-v4-flash-vision-exp bills at exactly the deepseek-v4-flash rates."), + "It depends on the hour and the day. Per 1M tokens (cache hit / cache miss / output): deepseek-flash is $0.003 / $0.15 / $0.60 off-peak and $0.006 / $0.30 / $1.20 peak; deepseek-v4-pro is $0.022 / $0.66 / $1.98 off-peak and $0.044 / $1.32 / $3.96 peak. Peak hours are 01:00-04:00 and 06:00-10:00 UTC, Monday to Friday; every other hour, and the whole weekend, is off-peak at half the peak rate. The retired names deepseek-v4-flash and deepseek-v4-flash-vision-exp are served by V4.1 Flash and bill at the deepseek-flash rates."), ("What are DeepSeek's peak hours?", "01:00-04:00 and 06:00-10:00 UTC, Monday to Friday. The boundaries are defined in UTC; in Beijing time (UTC+8) they read 09:00-12:00 and 14:00-18:00. Every other hour is off-peak, at half the peak rate. Since 16:00 UTC on 2026-08-22 weekends bill off-peak all day, on the Beijing calendar, so the weekend starts at 16:00 UTC on Friday and peak is 35 hours a week rather than 49."), ("When did DeepSeek's peak/off-peak pricing start?", "At 16:00 UTC on August 16, 2026, which is midnight in Beijing. Before that instant every hour billed at the flat card published 2026-08-02; from it, DeepSeek bills peak/off-peak on a new, higher card."), ("How much did DeepSeek raise its API prices?", "Against the flat card it replaced, deepseek-v4-pro peak is 3x on cache-miss input ($0.435 to $1.32 per 1M), 4.6x on output ($0.87 to $3.96) and 12x on cache-hit input ($0.003625 to $0.044). Off-peak is half of each of those, so the smallest increase at any hour is still 1.5x on cache-miss input. The rise is steepest where the old card was cheapest."), + ("Did DeepSeek cut prices with V4.1 Flash?", + "Yes, on Flash only. From the V4.1 Flash release of 2026-09-10, deepseek-flash costs $0.003 / $0.15 / $0.60 per 1M tokens off-peak (cache hit / cache miss / output), down from $0.007 / $0.22 / $0.66 for deepseek-v4-flash: 57% less on cached input, 32% on uncached input, 9% on output. Peak is still double. deepseek-v4-pro did not change. DeepSeek published the date but no time; the deepseek CLI switches cards at 11:00 UTC that day, an inferred instant."), ("Is DeepSeek's off-peak price the same as the old price?", - "No. Off-peak is half of peak, but on a new, higher base card: a flash cache-miss input token went from $0.14 to $0.22 per 1M off-peak and $0.44 peak. Even the cheapest hour now costs more than any hour did before the switch."), + "No. Off-peak is half of peak, but on a higher base than the flat card of 2026-08-02. Even after the V4.1 Flash cut, a flash cache-miss input token costs $0.15 per 1M off-peak against the flat card's $0.14, and output $0.60 against $0.28: the cheapest hour still costs more than any hour did before the switch."), ("How do I check the current DeepSeek billing period from the terminal?", "Run `deepseek pricing`. It prints the period in effect (flat, off-peak or peak) with your local, UTC and Beijing time, when the period next changes, and both rate cards, all computed locally from the same schedule the CLI's cost estimates use. `deepseek pricing --json` emits the same as JSON."), ]), @@ -1412,8 +1424,8 @@ def jstr(s):

      Pricing

      Since 16:00 UTC on 2026-08-16, what a DeepSeek token costs depends on the hour you spend it in – and, since 2026-08-22, on the -day of the week too. This page carries the schedule, both -rate cards, and a strip that reads your clock – the same data the +day of the week too. Since 2026-09-10 Flash costs less at every hour. This +page carries the schedule, every card, and a strip that reads your clock – the same data the CLI's estimates switch on, so the page and ds pricing can never disagree.

      @@ -1453,33 +1465,53 @@ def jstr(s): hold it for Saturday instead.

      The card

      -

      USD per 1M tokens, in force since 2026-08-16 16:00 UTC. Off-peak is half -of peak by construction, but on a higher base than the flat card it -replaced – even the cheapest hour now costs more than any hour did -before. A flash cache-miss input token went from $0.14 to $0.22 per 1M -off-peak, and to $0.44 in peak hours:

      +

      USD per 1M tokens, in force since the V4.1 Flash release of 2026-09-10. +Off-peak is half of peak by construction. Flash got cheaper on every item +– 57% on cached input, 32% on uncached input, 9% on output – +and pro did not change:

      - - + +
      ModelPeriodInput (cached)Input (miss)Output
      deepseek-v4-flashoff-peak$0.007$0.22$0.66
      peak$0.014$0.44$1.32
      deepseek-flashoff-peak$0.003$0.15$0.60
      peak$0.006$0.30$1.20
      deepseek-v4-prooff-peak$0.022$0.66$1.98
      peak$0.044$1.32$3.96
      +

      The retired names deepseek-v4-flash and +deepseek-v4-flash-vision-exp still work: V4.1 Flash serves them, +at the deepseek-flash price.

      +

      DeepSeek dated the cut and published no time, so the instant the +CLI switches cards is inferred: 11:00 UTC on 2026-09-10. Our docs +mirror fetched the old card at 04:50 UTC that day and the new one at 11:27 +UTC; 11:00 is the last whole hour between the two, so an estimate for a call +made in that gap can overstate what it cost and never understate it.

      The context cache stays the biggest -lever: a cached input token costs about 1/30th of a miss, against 1/50th -(flash) and 1/120th (pro) on the card this replaced. Prompt structure -still dominates a bill – it is worth up to 30×, where the hour -of the day is worth 2×.

      +lever: a cached input token costs 1/50th of a miss on flash and 1/30th on +pro. Prompt structure still dominates a bill – it is worth up to +50×, where the hour of the day is worth 2×.

      What it replaced

      -

      The flat card published 2026-08-02, billed at every hour until the -switch. It is here because the ledger -keeps token counts rather than dollars, so a call made before 2026-08-16 -16:00 UTC still reprices under the card it was actually billed at:

      +

      Two superseded cards. They are here because the +ledger keeps token counts rather than +dollars, so every call reprices under the card it was actually billed +at.

      +

      From 2026-08-16 16:00 UTC to the V4.1 cut, flash was +deepseek-v4-flash on a card more than twice as dear on cached input; pro's +rows were the same as today's:

      +
      + + + + + + +
      ModelPeriodInput (cached)Input (miss)Output
      deepseek-v4-flashoff-peak$0.007$0.22$0.66
      peak$0.014$0.44$1.32
      +
      +

      Before that, the flat card published 2026-08-02 billed at every hour +until 2026-08-16 16:00 UTC:

      @@ -1490,8 +1522,9 @@ def jstr(s):
      ModelInput (cached)Input (miss)Output

      Peak output on pro is 4.6× that card; peak cached input is -12× it. The published increase is steepest exactly where the old card -was cheapest.

      +12× it. The published increase was steepest exactly where the old +card was cheapest, and the V4.1 cut has not brought flash back under it +at any hour.

      The same answer in the terminal

      ds pricing            # period right now, local + UTC + Beijing, both cards
      @@ -1499,7 +1532,7 @@ def jstr(s):
       

      Computed locally from the same schedule – no network call, nothing spent. The cost estimates price each call with the card in force at the moment it was made, which is what lets one ledger -span both eras. The ledger stores exact +span every era. The ledger stores exact token counts rather than dollar amounts, so historical calls can always be repriced under whatever card was, or becomes, real.

      @@ -1513,7 +1546,8 @@ def jstr(s):

      They are also checked against the bill. A 188,542-token cache-miss call to pro, made off-peak on 2026-08-17, settled at 0.84 CNY – 4.46 CNY per 1M against the published off-peak 4.5, where the old -flat card would have made it 3.0. The page and the billing system agree.

      +flat card would have made it 3.0. The page and the billing system agree. +The V4.1 Flash card has not been checked against a bill yet.

      """, @@ -1637,16 +1671,17 @@ def jstr(s): no reason to be chosen. The lever is price, and the gap is not small:

      - + - - - + + +
      Per 1M tokensv4-flashv4-proGPT-5.6 Solpro is cheaper by
      Per 1M tokensflashv4-proGPT-5.6 Solpro is cheaper by
      input, cache miss$0.22 / $0.44$0.66 / $1.32$5.007.6x / 3.8x
      input, cache hit$0.007 / $0.014$0.022 / $0.044$0.5023x / 11x
      output$0.66 / $1.32$1.98 / $3.96$30.0015x / 7.6x
      input, cache miss$0.15 / $0.30$0.66 / $1.32$5.007.6x / 3.8x
      input, cache hit$0.003 / $0.006$0.022 / $0.044$0.5023x / 11x
      output$0.60 / $1.20$1.98 / $3.96$30.0015x / 7.6x
      -

      DeepSeek cells read off-peak / peak, on the -card in force since 2026-08-16 16:00 UTC; they are a conversion of the RMB +

      DeepSeek cells read off-peak / peak: pro on the +card in force since 2026-08-16 16:00 UTC, flash (deepseek-flash, +V4.1) on the lower card of 2026-09-10. They are a conversion of the RMB card (pro: ¥4.5 / ¥0.15 / ¥13.5 per 1M off-peak, double at peak) at one consistent rate. GPT-5.6 Sol prices are from OpenAI's own listing. The pricing page has the full schedule.

      @@ -1713,10 +1748,12 @@ def jstr(s): PAGES.append(dict( slug="news/", crumb="news", - title="DeepSeek API news: the repricing is live, dsh ships, V4-Pro GA", - description="What is changing around the DeepSeek API: peak/off-peak billing went live at 2026-08-16 16:00 UTC and is confirmed against a real bill, DeepSeek ships dsh (DeepSeek Harness), its official open-source agent harness, V4-Pro's official release (DeepSeek-V4-Pro-0813), V4-Flash's official release, and what each one means for a call.", - keywords="deepseek harness, dsh, @deepseek-ai/dsh, install dsh, dsh plugins, dsh skills, dsh-plugin, dsh vs claude code, deepseek cli vs dsh, deepseek v4 pro release, deepseek v4 pro ga, deepseek-v4-pro-0813, deepseek api price increase, deepseek price rise 2026, deepseek peak hour pricing, deepseek peak off-peak billing, deepseek repricing 2026-08-16, deepseek new prices live, deepseek api news, deepseek api changelog, deepseek v4 flash release, deepseek pricing change", + title="DeepSeek API news: V4.1 Flash cuts the Flash price, the repricing is live, dsh ships", + description="What is changing around the DeepSeek API: DeepSeek-V4.1-Flash shipped 2026-09-10 as deepseek-flash, on a lower Flash card, with the V4 Flash names retired; peak/off-peak billing went live at 2026-08-16 16:00 UTC and is confirmed against a real bill, DeepSeek ships dsh (DeepSeek Harness), its official open-source agent harness, V4-Pro's official release (DeepSeek-V4-Pro-0813), V4-Flash's official release, and what each one means for a call.", + keywords="deepseek v4.1 flash, deepseek-flash, deepseek v4.1 flash price, deepseek price cut, deepseek-v4-flash retired, deepseek harness, dsh, @deepseek-ai/dsh, install dsh, dsh plugins, dsh skills, dsh-plugin, dsh vs claude code, deepseek cli vs dsh, deepseek v4 pro release, deepseek v4 pro ga, deepseek-v4-pro-0813, deepseek api price increase, deepseek price rise 2026, deepseek peak hour pricing, deepseek peak off-peak billing, deepseek repricing 2026-08-16, deepseek new prices live, deepseek api news, deepseek api changelog, deepseek v4 flash release, deepseek pricing change", jsonld=faq([ + ("What is DeepSeek-V4.1-Flash?", + "DeepSeek's Flash model since 2026-09-10, with native image input, called as deepseek-flash. It retired V4 Flash and V4 Flash Vision Exp; their names, deepseek-v4-flash and deepseek-v4-flash-vision-exp, are still accepted, are served by V4.1 Flash and bill at the Flash price. The Flash card fell to $0.003 / $0.15 / $0.60 per 1M tokens off-peak (cache hit / cache miss / output), from $0.007 / $0.22 / $0.66. deepseek-v4-pro continues with its card unchanged."), ("Is DeepSeek V4-Pro officially released?", "Yes. On 2026-08-12 the model version on DeepSeek's Models & Pricing page changed to DeepSeek-V4-Pro-0813, ending the preview that had run since 2026-04-24. The model ID is unchanged (deepseek-v4-pro), the rate card is unchanged, and the release focuses on agentic post-training rather than new pretraining."), ("What is dsh (DeepSeek Harness)?", @@ -1726,7 +1763,7 @@ def jstr(s): ("Did DeepSeek raise its API prices?", "Yes. The increase took effect at 16:00 UTC on 2026-08-16 and is live: DeepSeek now bills peak/off-peak, with peak hours 01:00-04:00 and 06:00-10:00 UTC, Monday to Friday, at twice the off-peak rate; every other hour, and the whole weekend since 2026-08-22, is off-peak. The flat card is gone from the official pricing page. Against it, deepseek-v4-pro peak is 3x on cache-miss input, 4.6x on output and 12x on cache-hit input; off-peak is half of each. This resolved both the undated broad price rise announced on 2026-08-06 and the undated peak-hour policy announced in June 2026."), ("What are DeepSeek's current API prices?", - "Per 1M tokens (cache hit / cache miss / output), on the card in force since 16:00 UTC on 2026-08-16: deepseek-v4-flash is $0.007 / $0.22 / $0.66 off-peak and $0.014 / $0.44 / $1.32 peak; deepseek-v4-pro is $0.022 / $0.66 / $1.98 off-peak and $0.044 / $1.32 / $3.96 peak. In RMB, pro is 0.15 / 4.5 / 13.5 yuan off-peak and 0.3 / 9 / 27 yuan peak. Peak hours are 01:00-04:00 and 06:00-10:00 UTC, Monday to Friday; every other hour, and the whole weekend, is off-peak."), + "Per 1M tokens (cache hit / cache miss / output), deepseek-flash is $0.003 / $0.15 / $0.60 off-peak and $0.006 / $0.30 / $1.20 peak, on the card in force since the V4.1 Flash release of 2026-09-10; deepseek-v4-pro, unchanged since 16:00 UTC on 2026-08-16, is $0.022 / $0.66 / $1.98 off-peak and $0.044 / $1.32 / $3.96 peak. In RMB, flash is 0.02 / 1 / 4 yuan off-peak and 0.04 / 2 / 8 yuan peak, and pro is 0.15 / 4.5 / 13.5 yuan off-peak and 0.3 / 9 / 27 yuan peak. Peak hours are 01:00-04:00 and 06:00-10:00 UTC, Monday to Friday; every other hour, and the whole weekend, is off-peak."), ("Which hours are cheapest on the DeepSeek API?", "Every hour outside 01:00-04:00 and 06:00-10:00 UTC, Monday to Friday, which bill at half the peak rate — and since 2026-08-22 the whole weekend, on the Beijing calendar, so the cheap window opens at 16:00 UTC on Friday. Those peak windows are 09:00-12:00 and 14:00-18:00 Beijing time, the Chinese working day, so the whole European and American working day is off-peak. Batch and agent work that can be scheduled should run off-peak; the saving is exactly 2x."), ("Where can I follow DeepSeek API changes?", @@ -1739,6 +1776,38 @@ def jstr(s): live API where that is possible; the in-terminal feed is ds docs changelog.

      +

      2026-09-10 · V4.1 Flash, on a cheaper cardprice cut

      +

      DeepSeek-V4.1-Flash is on the API as deepseek-flash, with +native image input. V4 Flash and V4 Flash Vision Exp are retired; their names, +deepseek-v4-flash and deepseek-v4-flash-vision-exp, +still work, are served by V4.1 Flash, and bill at the Flash price. +GET /models now lists exactly two ids: deepseek-flash +and deepseek-v4-pro.

      +

      The Flash card came down on every item. Off-peak, per 1M tokens, with peak +still exactly double:

      +
      + + + + + + + +
      Per 1M tokens, off-peakV4 flash, until 2026-09-10deepseek-flash, from 2026-09-10change
      input, cache hit$0.007 (¥0.05)$0.003 (¥0.02)−57%
      input, cache miss$0.22 (¥1.5)$0.15 (¥1)−32%
      output$0.66 (¥4.5)$0.60 (¥4)−9%
      +
      +

      The cut is deepest on the cheapest token, the mirror image of August: a +cache hit on flash is back to 1/50th of a miss, where the flat card had it. +Pro's card did not move, and DeepSeek says it will "continue providing API +services for DeepSeek V4 Pro after September 14, 2026, with the billing method +remaining unchanged." The peak windows and the weekend rule are unchanged +too.

      +

      The changelog dates the release and not the price change. ds +pricing and the cost estimates switch cards at 11:00 UTC on +2026-09-10, an inferred instant: our docs mirror fetched the old card +at 04:50 UTC that day and the new one at 11:27 UTC, and a call estimated in +that gap can only be overstated. The +pricing page has both cards.

      +

      2026-08-22 · weekends are off-peak, all daynot in the changelog

      From 16:00 UTC on 2026-08-22 – 00:00 Beijing on Sunday 23 August – a Saturday or Sunday bills at the off-peak card for @@ -1782,8 +1851,8 @@ def jstr(s): ability, in their framing, close to Opus-4.8. Those are the vendor's numbers, not ours; we have not run them.

      Because it shipped after the 2026-08-16 switchover it has no flat -card, so there is nothing to reprice for it before that date. It is in -ds pricing from v0.5.1 on.

      +card, so there is nothing to reprice for it before that date. It was retired +on 2026-09-10; the name still works and bills as deepseek-flash.

      2026-08-16 · the repricing is liveconfirmed against a bill

      It landed on schedule. At 16:00 UTC on 2026-08-16 – @@ -2316,7 +2385,7 @@ def jstr(s): person draining it for everyone, enrolling asks your browser to solve a small proof-of-work puzzle. That puzzle is the whole signup.

        -
      • model deepseek-v4-flash
      • +
      • model deepseek-flash (V4.1 Flash)
      • per day 30 requests · 60k input · 20k output tokens
      • privacy prompts are relayed to DeepSeek and are not stored or logged by the gateway; only token counts and cost are recorded
      • diff --git a/site/commands/index.html b/site/commands/index.html index f374744..73c18a8 100644 --- a/site/commands/index.html +++ b/site/commands/index.html @@ -105,7 +105,7 @@

        chat

        - + diff --git a/site/cost/index.html b/site/cost/index.html index 33b996c..a518f38 100644 --- a/site/cost/index.html +++ b/site/cost/index.html @@ -4,8 +4,8 @@ What DeepSeek actually costs: cache math and a local usage ledger - - + + @@ -13,7 +13,7 @@ - + @@ -21,7 +21,7 @@ - + @@ -87,7 +87,7 @@

        Cost

        DeepSeek's headline feature is a disk-backed context cache that -makes a repeated prompt prefix roughly thirty times cheaper. Since +makes a repeated prompt prefix thirty to fifty times cheaper. Since 2026-08-16 a second lever sits on top of it: the hour of the day, worth 2×. Neither is visible unless something is counting – so this counts.

        @@ -101,22 +101,23 @@

        The rate card

        FlagEffect
        -m, --modeldeepseek-v4-flash (default) or deepseek-v4-pro
        -m, --modeldeepseek-flash (default) or deepseek-v4-pro
        -s, --systemSystem prompt, inline or @file
        --think on|offThinking mode. Default is the API's own, which is on
        -e, --effortlow, high or max
        - - - - + +
        ModelPeriodInput (cached)Input (miss)Output
        deepseek-v4-flashoff-peak$0.007$0.22$0.66
        peak$0.014$0.44$1.32
        deepseek-v4-flash-vision-expoff-peak$0.007$0.22$0.66
        peak$0.014$0.44$1.32
        deepseek-flashoff-peak$0.003$0.15$0.60
        peak$0.006$0.30$1.20
        deepseek-v4-prooff-peak$0.022$0.66$1.98
        peak$0.044$1.32$3.96
      -

      ds models prints the card in force next to the live model +

      The retired names deepseek-v4-flash and +deepseek-v4-flash-vision-exp still work: V4.1 Flash serves them, +at the deepseek-flash price. ds models prints the card in force next to the live model list, so the price is on screen when you pick, and ds pricing prints the full schedule with the period you are in right now.

      What the cache is worth

      -

      On flash, a cache hit costs 1/31st of a miss per token. -The same 2,900-token prompt, sent twice:

      +

      On flash, a cache hit costs 1/50th of a miss per token; +on pro, 1/30th. The same 2,900-token prompt, sent twice, on the V4 flash +card of the day, where the ratio was 1/31st:

      measured 2026-08-17, off-peak
      $ ds chat "..." --system @prefix.txt
      @@ -131,7 +132,8 @@ 

      What the cache is worth

      same prefix again. It is 15× and not 31× because the 3% that changed – the tail of the prompt, and the question itself – still bills at the miss rate: the realised saving is always the rate ratio -times how much of the prompt you kept identical. Hence the practical rule: +times how much of the prompt you kept identical. On today's flash card the +same call drops about 20×. Hence the practical rule: put the stable part of a prompt first – same system prompt, same files, in the same order – and let the variable part come last.

      @@ -157,7 +159,7 @@

      The thinking surcharge

      - + @@ -166,6 +168,11 @@

      The thinking surcharge

      --effortflashprothinking
      --effortV4 flashprothinking
      none+0+0off entirely
      minimal, low+0+0on
      +

      The flash column is V4 Flash, which was retired on 2026-09-10. +deepseek-flash, and the retired names that now route to it, +have not been re-measured: a single probe on 2026-09-18 read +26 at +high, not +79. Treat the column as history until the table +is re-run.

      Two of those levels are in no DeepSeek documentation at all. none is documented only for the Responses API, but the chat diff --git a/site/formats/index.html b/site/formats/index.html index 38f3b06..95e6731 100644 --- a/site/formats/index.html +++ b/site/formats/index.html @@ -30,7 +30,7 @@