TL;DR: Two things change on July 24. The one everyone knows about: deepseek-chat and deepseek-reasoner stop working — migrate to deepseek-v4-flash / deepseek-v4-pro, it’s a one-line fix. The one that’ll cost you more: DeepSeek now charges 2× during Beijing business hours, and most teams only learn about it from their next invoice. This post covers both, with code samples and a checklist.
The Deadline
July 24, 2026 at 23:59 Beijing time (15:59 UTC). Two legacy model names stop working:
| Old Name | Retires | Current Mapping |
|---|---|---|
deepseek-chat |
🔴 July 24 | deepseek-v4-flash (non-thinking) |
deepseek-reasoner |
🔴 July 24 | deepseek-v4-flash (thinking mode) |
After that, any call using these names returns a 400 error. No grace period.
Use these instead:
| New Name | Parameters | Price (per 1M tokens) | Best For |
|---|---|---|---|
deepseek-v4-flash |
284B total / 13B active | $0.14 / $0.28 | Most workloads, chat, code, agents |
deepseek-v4-pro |
1.6T total / 49B active | $0.435 / $0.87 (promo) | Complex reasoning, long-horizon agents |
Both support thinking mode via reasoning_effort (high / max).
The Migration: Change One String
# Before — breaks July 24
client.chat.completions.create(
model="deepseek-chat",
messages=[...]
)
# After
client.chat.completions.create(
model="deepseek-v4-flash",
messages=[...]
)
For thinking mode:
# Before
model="deepseek-reasoner"
# After
model="deepseek-v4-flash",
extra_body={"thinking": {"type": "enabled"}},
reasoning_effort="high"
Same base URL, same API key, same response format. The change is cosmetic — but mandatory.
On Meshs One? You don’t need to change anything. We already map the old names to the new ones on our backend. Your code keeps working as-is.
The Part That’ll Hit Your Budget
Alongside the name change, DeepSeek introduced peak-hour pricing that’s been quietly catching teams off guard.
| Period | Beijing Time | Price |
|---|---|---|
| Peak | 09:00–12:00, 14:00–18:00 weekdays | 2× standard |
| Off-peak | Everything else | Standard |
For V4 Flash, that means:
| Standard | Peak (2×) | |
|---|---|---|
| Input (cache miss) | $0.14/M | $0.28/M |
| Output | $0.28/M | $0.56/M |
| Input (cache hit) | $0.0028/M | $0.0056/M |
Run the numbers on a team doing 50M output tokens per month — that’s the difference between $14,000 and $28,000 (based on DeepSeek’s published rates at api-docs.deepseek.com). Solely determined by when your requests arrive.
This matters because most automated workloads cluster during business hours:
- CI/CD pipelines run during the workday — peak window.
- Agentic workflows execute during developer hours — peak window.
- Cron jobs and batch processing tend to follow office schedules.
If you’re running agents or automated pipelines against DeepSeek, you’re almost certainly paying peak rates without realizing it.
Three Ways to Handle Peak Pricing
Option 1: Schedule Around the Clock
Shift batch inference to evenings and weekends. This works if you control your job scheduler — move heavy processing to off-peak, keep real-time chat on DeepSeek during peak (the volume is small enough that 2× doesn’t hurt).
Con: not every workload can be rescheduled. If your users are active during Beijing business hours, you’re stuck.
Option 2: Structure for Cache
DeepSeek’s cache-hit pricing is absurdly cheap — $0.0028/M input for V4 Flash, which is 50× cheaper than cache-miss. If you can align your system prompts and few-shot examples to maximize cache re-use, most of your input cost vanishes regardless of time of day.
Practical tip: put your longest, most stable content (system prompts, document prefixes) at the start of the messages array. DeepSeek caches from the beginning of the conversation, so the more consistent the prefix, the higher the cache-hit rate.
Con: cache TTL is short (5 minutes with extension on hit). Bursty traffic patterns see less benefit.
Option 3: Route by Clock
This is where a gateway like Meshs One becomes more than just a convenience layer. Our Omni-Route engine considers time-of-day as a routing dimension:
- Peak hours: Route to Qwen3-Max or MiniMax-M3 (which don’t have peak pricing) instead of paying 2× for DeepSeek.
- Off-peak: Route back to DeepSeek V4 Flash at standard rates.
- Cache-friendly: Prefer providers with higher cache-hit rates for repetitive workloads.
No code change. No cron job.
# With Meshs One, this automatically avoids peak-hour markup
client = OpenAI(
base_url="https://api.meshs.one/v1",
api_key="ms-..."
)
response = client.chat.completions.create(
model="deepseek-v4-flash",
messages=[{"role": "user", "content": "explain this code"}]
)
Quick Checklist
| ☐ | Task | Time |
|---|---|---|
| ☐ | Search your codebase for deepseek-chat and deepseek-reasoner |
5 min |
| ☐ | Update model names to deepseek-v4-flash / deepseek-v4-pro |
1 min per file |
| ☐ | Check if your CI/CD runs during Beijing peak hours (09-12, 14-18) | 10 min |
| ☐ | If using a gateway, confirm it handles the name mapping | 5 min |
| ☐ | Test with deepseek-v4-flash in staging before the deadline |
15 min |
On Meshs One? Skip steps 2 and 4. Already handled.
What Happens If You Miss the Deadline
On July 25, any code still calling deepseek-chat or deepseek-reasoner gets a 400 error. If your application doesn’t have a fallback model configured, that’s a hard outage.
The fix is simple (change a string), but finding every place the old names are used across your codebase, config files, and CI pipelines — that’s the actual work. Do it now while you have time to test.
Further Reading
- DeepSeek V4 Flash: Developer’s Guide to Benchmark, Pricing & Real-World Performance — our earlier deep dive on V4 Flash benchmarks and pricing
- How to Choose an AI API Gateway in 2026 — gateway selection framework for teams scaling past prototype
- DeepSeek Official Migration Guide — official announcement
Using DeepSeek V4 through Meshs One? You’re already migrated — we handle the name mapping and peak-hour routing on our end. Sign up free if you haven’t yet.