DeepSeek peak-hour pricing
With the full release of the V4 series DeepSeek both updated its prices and moved to time-of-day pricing. During peak hours every token item costs twice the standard rate. The peak/off-peak split applies on weekdays only; weekends bill at the standard rate all day. LLMTR passes this through unchanged; no margin is added to model prices.
Cutover
Section titled “Cutover”The new prices take effect at 2026-08-16 16:00 UTC.
- Before that instant: the current card below applies and there is no peak multiplier — every hour of the day bills the same.
- From that instant: the new card applies and the peak multiplier is in force.
From 2026-08-23 00:00 Beijing time (2026-08-22 16:00 UTC) the peak/off-peak split no longer applies on weekends at all: on Beijing Saturday and Sunday every hour of the day bills at the standard rate. The weekday schedule is unchanged.
The cutover happens on its own; which card a request bills against is decided by the moment the request reaches LLMTR.
Peak windows
Section titled “Peak windows”The windows are fixed in UTC and apply on weekdays only:
| Window | UTC | Beijing (UTC+8) | Days |
|---|---|---|---|
| First | 01:00 - 04:00 | 09:00 - 12:00 | Monday - Friday |
| Second | 06:00 - 10:00 | 14:00 - 18:00 | Monday - Friday |
Windows are half-open: 04:00 UTC already bills at the standard rate, while
03:59 UTC is still peak. Neither UTC nor Beijing observes daylight saving, so
these boundaries hold year round.
The weekend is determined in DeepSeek's own civil time: Beijing Saturday and Sunday. Because both windows sit at Beijing 09:00-12:00 and 14:00-18:00 they never cross a day boundary, so the same two calendar days apply however you read the clock.
Prices
Section titled “Prices”Per 1M tokens, USD.
New card (from 2026-08-16 16:00 UTC)
Section titled “New card (from 2026-08-16 16:00 UTC)”| Model | Item | Standard | Peak |
|---|---|---|---|
deepseek/deepseek-v4-flash | Input (cache miss) | 0.22 | 0.44 |
deepseek/deepseek-v4-flash | Cache read | 0.007 | 0.014 |
deepseek/deepseek-v4-flash | Output | 0.66 | 1.32 |
deepseek/deepseek-v4-flash-vision-exp | Input (cache miss) | 0.22 | 0.44 |
deepseek/deepseek-v4-flash-vision-exp | Cache read | 0.007 | 0.014 |
deepseek/deepseek-v4-flash-vision-exp | Output | 0.66 | 1.32 |
deepseek/deepseek-v4-pro | Input (cache miss) | 0.66 | 1.32 |
deepseek/deepseek-v4-pro | Cache read | 0.022 | 0.044 |
deepseek/deepseek-v4-pro | Output | 1.98 | 3.96 |
The multiplier is uniform across every item: cache reads double during peak too.
Current card (before 2026-08-16 16:00 UTC)
Section titled “Current card (before 2026-08-16 16:00 UTC)”This card has no peak split — the same rate applies at every hour.
| Model | Input (cache miss) | Cache read | Output |
|---|---|---|---|
deepseek/deepseek-v4-flash | 0.14 | 0.0028 | 0.28 |
deepseek/deepseek-v4-flash-vision-exp | 0.14 | 0.0028 | 0.28 |
deepseek/deepseek-v4-pro | 0.435 | 0.003625 | 0.87 |
The deepseek/deepseek-chat and deepseek/deepseek-reasoner identifiers are
routed to V4-Flash by DeepSeek and bill exactly like V4-Flash, the weekday-only
peak multiplier included.
Which rate applies
Section titled “Which rate applies”The rate is chosen from the moment the request reaches LLMTR. A single instant is
used per request, so the rate does not change mid-request. A call
that starts at 09:59:59 UTC and finishes at 10:00:20 UTC is billed entirely
at the peak rate rather than split across both.
Estimating cost
Section titled “Estimating cost”You can determine whether you are currently in a peak window from the UTC clock:
from datetime import datetime, timedelta, timezone
PEAK_WINDOWS = [(60, 240), (360, 600)] # UTC minutes of dayBEIJING = timezone(timedelta(hours=8))
def is_peak(moment: datetime) -> bool: # The weekend is decided in the provider's own time zone. if moment.astimezone(BEIJING).weekday() >= 5: # 5 = Saturday, 6 = Sunday return False utc = moment.astimezone(timezone.utc) minute_of_day = utc.hour * 60 + utc.minute return any(start <= minute_of_day < end for start, end in PEAK_WINDOWS)
print(is_peak(datetime.now(timezone.utc)))const PEAK_WINDOWS = [ [60, 240], [360, 600]];const BEIJING_OFFSET_MINUTES = 8 * 60;
function isPeak(date = new Date()) { // The weekend is decided in the provider's own time zone. const beijingDay = new Date(date.getTime() + BEIJING_OFFSET_MINUTES * 60000).getUTCDay(); if (beijingDay === 0 || beijingDay === 6) { return false; } const minuteOfDay = date.getUTCHours() * 60 + date.getUTCMinutes(); return PEAK_WINDOWS.some(([start, end]) => minuteOfDay >= start && minuteOfDay < end);}Both examples read UTC. Using local time gives the wrong answer depending on where your server runs.
Reducing cost
Section titled “Reducing cost”- Move batch and schedule-tolerant work outside the peak windows. 17 hours of each weekday bill at the standard rate, and weekends bill at it entirely - 133 of the 168 hours in a week.
- Use prompt caching. The cache-read rate is far below the input rate and stays cheaper than standard input even during peak.
- Prefer
deepseek-v4-flashfor latency-tolerant work.
Usage records
Section titled “Usage records”Every row on the Usage page stores the unit price applied to that request.
Historical records are never re-priced; whatever a request was charged is what
its record keeps.