Blog

DeepSeek V4 Pro vs V4.1 Flash: what changed on 10 September and 17 October

Ramashankar S · · Updated · 9 min read

DeepSeek has changed its lineup twice in two months, and its own pages didn't keep up. Here's where things stand at the end of October:

  • deepseek-flash now runs DeepSeek-V4.1-Flash-1017, released on 17 October.
  • The old V4 Flash is retired. Requests that still say deepseek-v4-flash are served by V4.1 Flash and billed at the Flash price.
  • deepseek-v4-pro is still available as DeepSeek-V4-Pro-0813, at its own prices.

That last point confuses people for a good reason. DeepSeek's 10 September announcement said V4 Pro was being phased out, and that from 14 September all deepseek-v4-pro requests would route to V4.1 Flash. But DeepSeek's change log for the same day says that, "in response to user demand", it will keep serving V4 Pro after 14 September, with billing unchanged. The announcement page was never updated. The change log, the pricing page and DeepSeek's status page, which tracks V4 Pro as its own service, all agree that Pro is still there.

If you want to confirm what served a request, log two fields from every response. model echoes the name you asked for (deepseek-flash, not a version number), so it won't tell you much on its own. system_fingerprint identifies the backend configuration, and a change in it tells you something changed behind the alias.

The two models side by side

V4.1 FlashV4 Pro
Model ID on DeepSeekdeepseek-flashdeepseek-v4-pro
Input, cache miss (off-peak / peak)$0.15 / $0.30$0.66 / $1.32
Input, cache hit (off-peak / peak)$0.003 / $0.006$0.022 / $0.044
Output (off-peak / peak)$0.60 / $1.20$1.98 / $3.96
Context window1M tokens1M tokens
Max output384K tokens384K tokens
Image inputYesNo
Concurrency limit2,500500
Thinking modeOn by defaultOn by default

Prices are per million tokens, from DeepSeek's pricing page.

DeepSeek describes V4.1 Flash as a 552B-parameter mixture-of-experts model with 8B parameters active for input and 16B for output. It also says that tests by "multiple parties" put V4.1 Flash ahead of V4 Pro on performance, cost and speed. That's DeepSeek's own claim. It doesn't name the tests, and its benchmark tables are published only as images.

For most new work, V4.1 Flash should be the default. Its output costs less than a third of V4 Pro's, it's newer, it accepts images, and DeepSeek itself is steering everyone toward it. The case for staying on V4 Pro is narrow. Either your prompts are tuned to it, or your own evals show it doing better on your tasks. If neither is true, switch, and run your own comparison to confirm.

One developer did exactly that, building the same app on both models. The result is a useful caveat: Flash was far less expensive when given a detailed spec, and the gap mostly closed when it had to work things out on its own.

DeepSeek V4.1 Flash Is Cheap, If You Do the ThinkingLuke, DevMindscape · 5:04 · YouTube
The same app built on V4 Pro and V4.1 Flash, with the cost of each run.

Peak hours, in US time

DeepSeek charges double during peak hours: 01:00 to 04:00 and 06:00 to 10:00 UTC, Monday to Friday, except Chinese public holidays. Everything else is off-peak at half price.

From 1 November, when US clocks go back an hour, the windows fall here:

DeepSeek peak hours converted to US time zones after 1 November
Time zoneEvening peakOvernight peak
Eastern (ET)8 pm to 11 pm, Sun to Thu1 am to 5 am, Mon to Fri
Central (CT)7 pm to 10 pm, Sun to ThuMidnight to 4 am, Mon to Fri
Mountain (MT)6 pm to 9 pm, Sun to Thu11 pm to 3 am, Sun to Thu nights
Pacific (PT)5 pm to 8 pm, Sun to Thu10 pm to 2 am, Sun to Thu nights

The useful part: a normal US working day, from 9 am Eastern to 5 pm Pacific, is entirely off-peak. Where peak pricing bites is evening and overnight work. A batch job scheduled for 1 am Eastern runs at double the price. Move it to after 5 am Eastern and it costs half.

Watch the weekend, though. "Weekends are off-peak" is true in UTC, but Monday 01:00 UTC is Sunday 8 pm Eastern, so Sunday evening in the US is peak. The longest off-peak stretch runs from 5 am Eastern on Friday to 8 pm Eastern on Sunday: 63 hours straight, which is the best slot for a big weekly batch.

Chinese public holidays are off-peak all day. None are left in 2026, and China hasn't published its 2027 holiday schedule yet. Lunar New Year 2027 falls on Saturday 6 February, so expect a run of off-peak weekdays around then.

One thing to check around the clock change: if your scheduler runs in UTC, nothing moves. If it runs in local time, your jobs move an hour against DeepSeek's windows when the clocks change on 1 November.

What a job actually costs

Take 1,000 requests, each with 2,000 input tokens and 500 output tokens. With no cache hits:

Off-peakPeak
V4.1 Flash$0.60$1.20
V4 Pro$2.31$4.62

Two things move those numbers more than the model choice does: caching and thinking.

Cost of the same job at 0%, 50% and 90% cache hits, off-peak and peak
Cache hitsV4.1 Flash, off-peak / peakV4 Pro, off-peak / peak
0%$0.60 / $1.20$2.31 / $4.62
50%$0.45 / $0.91$1.67 / $3.34
90%$0.34 / $0.67$1.16 / $2.32

Caching is on by default and costs nothing extra. A cache hit on V4.1 Flash costs $0.003 per million input tokens off-peak, against $0.15 for a miss. But the rules are stricter than many people assume. DeepSeek saves cached prefixes at the end of each request's input and output, among other points, and a new request only hits the cache if it fully matches one of those saved prefixes. In practice: keep the long, shared part of the prompt (system prompt, instructions, reference documents) identical and at the very start, and put anything that changes per request after it. The cache is best-effort and is usually cleared within a few hours to a few days of not being used.

Check your hit rate in the usage data rather than guessing:

usage = response.usage
print("cache hits:", usage.prompt_cache_hit_tokens)
print("cache misses:", usage.prompt_cache_miss_tokens)
print("output (including reasoning):", usage.completion_tokens)

Thinking is the other lever. It's on by default at high effort, and the reasoning tokens are billed as output. For simple tasks like extraction or classification, turn it off:

import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.deepseek.com",
    api_key=os.environ["DEEPSEEK_API_KEY"],
)

response = client.chat.completions.create(
    model="deepseek-flash",
    messages=[{"role": "user", "content": "Extract the invoice number from: ..."}],
    extra_body={"thinking": {"type": "disabled"}},
)
print(response.choices[0].message.content)

When you do want thinking but less of it, reasoning_effort accepts low, high and max.

Gotchas in the API

  • In thinking mode, temperature and the presence and frequency penalties are accepted but do nothing.
  • If a request uses tools in thinking mode, you have to pass the returned reasoning_content back in later requests, or the API returns a 400.
  • With JSON output turned on, anything the model writes that isn't valid JSON is replaced with spaces. The reply can look empty even when finish_reason is stop, so check for blank content and retry.
  • Concurrency limits apply to the whole account, not per API key, so splitting work across more keys doesn't raise them. Going over returns a 429. A request that hasn't started after 10 minutes is closed.

Search and Fetch now cost money

DeepSeek opened its Search and Fetch APIs to everyone on 17 October, at $0.75 per 1,000 calls for each. Searches made through DeepSeek's server-side tools in DeepSeek Harness, Claude Code and Codex were free at first. From 16:00 UTC on 31 October (midnight on 1 November in Beijing), those are billed too, so if you use DeepSeek inside one of those tools, its web searches show up on your bill.

Where your data goes

DeepSeek's privacy policy says it collects, processes and stores personal data in the People's Republic of China. For a lot of US companies, that settles the question before price comes into it: check with whoever owns data policy before you send customer data to DeepSeek's own API.

DeepSeek on Aight

Aight serves DeepSeek V4.1 Flash and V4 Pro on Microsoft Azure, not on DeepSeek's own servers. Microsoft's terms for models it hosts say prompts and outputs are not available to the model's maker and aren't used to train it. They're tagged Global on Aight's models page, which means Azure may process a request in any region where it runs the model. Check each model's context window and maximum output on the models page too, since they can differ from DeepSeek's own API.

On price, here's the honest version. Aight lists V4.1 Flash at a flat $0.30 / $1.20 per million tokens and V4 Pro at $1.74 / $3.48, around the clock, with cached input at $0.006 and $0.145. For V4.1 Flash, that matches DeepSeek's peak price. V4 Pro's input price is above even DeepSeek's peak rate. So if you can call DeepSeek directly, are comfortable with where it stores data, and do most of your work off-peak, going direct costs less.

Aight makes sense when DeepSeek is one of several models you use, or when you'd rather it ran on Azure. You get it on the same key and the same US dollar balance as Claude, GPT and Gemini, with per-key spending caps, refunds of unspent balance, and 10% extra on every recharge. Counting the 3% processing fee and the 10% extra, V4.1 Flash works out to roughly $0.28 / $1.12 per million tokens in practice, which is still above DeepSeek's off-peak rate. The gain is simplicity, not price.

If you're still on V4 Pro, try this: send 200 of your real prompts to both models during off-peak hours, compare the answers, and check the bill. If V4.1 Flash holds up, the same work costs about a quarter as much.

For a larger test of the 1017 build across several apps, with the token and cost breakdown, this run is a good reference. Note how much of the input was cached:

DeepSeek V4.1 Flash 1017 tested on 6 real apps (KingBench 4)AISeeKing · 13:35 · YouTube
A test of the 1017 build across six apps, with the total cost.

Sources

Checked on 31 October 2026. DeepSeek prices are in US dollars per million tokens.