Skip to content

DeepSeek new pricing since August 16, 2026 #1643

Description

@kkoomen

What do you want to change?

Right now it still uses the old pricing pre-August 16, Below is a table with the new pricing.

Model Before Aug 16 — flat, 24/7 After Aug 16 — off-peak After Aug 16 — peak
V4 Flash — cache-hit input $0.0028 $0.007 $0.014
V4 Flash — cache-miss input $0.14 $0.22 $0.44
V4 Flash — output $0.28 $0.66 $1.32
V4 Pro — cache-hit input $0.003625 $0.022 $0.044
V4 Pro — cache-miss input $0.435 $0.66 $1.32
V4 Pro — output $0.87 $1.98 $3.96

Keep in mind the new prices vary based on the following peak hours:
01:00–04:00 UTC
06:00–10:00 UTC

Why?

Inaccurate pricing display for deepseek-v4-* models.

How? (optional)

No response

Activity

  1. pullfrog commented on Aug 25, 2026

    @pullfrog
    Contributor

    Assessment

    This issue is actionable. The current embedded fallback still prices the direct deepseek-v4-flash and deepseek-v4-pro entries at the pre-August 16 rates, while the current LiteLLM data exposes only the peak rates. Neither LiteLLM nor models.dev represents the time schedule, so refreshing either upstream snapshot alone cannot produce accurate historical totals.

    The official DeepSeek pricing page confirms the reported rates and specifies that peak pricing applies Monday through Friday from 01:00–04:00 UTC and 06:00–10:00 UTC; all other times are off-peak. The issue should therefore be implemented as timestamp-aware pricing, not as a single replacement rate.

    Proposed Plan

    1. Define a small, hand-maintained DeepSeek schedule in ccusage-core because the upstream pricing schemas cannot encode effective dates or peak windows. Cover the direct deepseek-v4-flash and deepseek-v4-pro model IDs and intentionally supported date/version spellings. Preserve the pre-change rates before 2026-08-16T00:00:00Z, use the supplied rates after that date, and map cache-miss tokens to input pricing and cache-hit tokens to cache_read pricing. Keep provider-specific reseller entries on their own static rates rather than applying the direct DeepSeek schedule to every fuzzy match. Encode cache creation consistently with the upstream direct entry, which currently publishes a zero rate.
    2. Extend the core cost calculation path to select the schedule from each usage event’s absolute timestamp. Add UTC peak detection with explicit boundary tests, including weekday versus weekend behavior, the two peak windows, the cutover instant, and timestamps carrying non-UTC offsets. Keep existing Display and Auto behavior for stored costUSD; scheduled rates should affect recalculated costs.
    3. Thread the parsed event timestamp through every adapter path that calculates token-based costs, including candidate-model helpers and advisor/derived usage entries. The affected code is centered in ccusage-core/src/cost.rs and pricing.rs, with call-site updates across the Rust adapters; aggregation should continue summing already-calculated per-event costs so mixed pre/post-change and peak/off-peak reports remain correct.
    4. Add regression coverage for both models and all token buckets at old, off-peak, and peak rates; exact model matching versus reseller/provider-prefixed models; offset timestamps normalized to UTC; and Display, Auto, Calculate, offline, and refreshed-pricing paths. Add at least one fixture or CLI-level assertion proving a report containing events from different pricing periods produces the sum of per-event rates rather than applying one rate to the whole day.
    5. Regenerate or review the committed models.dev artifact only if upstream changes its model metadata. Do not rely on that artifact to carry the schedule, and audit user-facing pricing documentation for any needed clarification; no CLI option or output-schema change is expected.

    No implementation has been started in this evaluation.

    Task list (3/3 completed)

    Pullfrog  | ⚠️ this action is pinned to a commit SHA, which freezes the cleanup step — switch to @v0 or keep the SHA fresh with Dependabot | Implement plan ➔ | View workflow run | via Pullfrog | Using GPT Luna (free via Pullfrog for OSS) | 𝕏

  2. github-actions commented on Aug 25, 2026

    @github-actions
    Contributor

    This issue was auto-closed. Issues from new contributors are auto-closed by default.

    Maintainers review auto-closed issues and reopen worthwhile ones. Issues that do not meet the quality bar in CONTRIBUTING.md may not be reopened or receive a reply.

    Keep the issue short, concrete, and written in your own voice.

    If a maintainer replies lgtmi, your future issues will stay open. If a maintainer replies lgtm, your future issues and PRs will stay open.

    See CONTRIBUTING.md.

  3. ryoppippi commented on Aug 27, 2026

    @ryoppippi
    Member

    @pullfrog Triage this issue using the repository standing issue-triage instructions. Inspect the full issue body, comments, current main branch, and related issues or pull requests. Choose exactly one priority label. If the issue is clearly unresolved and is priority:critical or priority:high with safe and well-scoped requirements, implement it and open a focused pull request. Otherwise, only triage it. Keep the explanation short and use simple English.

  4. pullfrog commented on Aug 27, 2026

    @pullfrog
    Contributor

    Triage: priority:medium.

    Main already has the old DeepSeek v4 rates. The requested historical and UTC peak/off-peak pricing needs timestamp-aware changes across core cost calculation and adapters. The issue does not clearly define how provider and model aliases should behave, so this is not a safe, focused high-priority fix. No PR opened.

    Pullfrog  | ⚠️ this action is pinned to a commit SHA, which freezes the cleanup step — switch to @v0 or keep the SHA fresh with Dependabot | View workflow run | via Pullfrog | Using GPT Luna (free via Pullfrog for OSS) | 𝕏

  5. github-actions commented on Aug 28, 2026

    @github-actions
    Contributor

    Automatic implementation was not started because the issue author GitHub email could not be resolved reliably for co-author attribution. A maintainer can implement the issue manually or provide a verifiable author email.

  6. ryoppippi commented on Aug 31, 2026

    @ryoppippi
    Member

    Historical audit: this discussion was auto-closed by the legacy contributor gate. That closure did not assess technical importance.

    Audit result: resolved. A later merged change or the current main implementation covers this request. This item is kept for history and does not need to be reopened.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingpriority:mediumA normal bug or meaningful improvement.triage:resolvedResolved by a later change or current implementation.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions