The current DeepSeek API pricing page, checked on 2026-08-08, makes the Pro versus Flash decision much more operational than a simple model preference. The official table lists deepseek-v4-flash and deepseek-v4-pro with 1M context, OpenAI-format base URL, Anthropic-format base URL, JSON output, tool calls, cache-hit input pricing, cache-miss input pricing, output pricing and separate concurrency limits. For Tier 1 and Tier 2 teams, that means the routing layer should know whether a request is a planning step, an execution step, a cache-heavy repository step or a sensitive customer workflow.
Keyword source: the 2026-08-08 AIWave keyword report shows Tier 1 interest around deepseek api, deepseek api access overseas, aiwave api and migration queries. This article targets US, UK, Canada, Germany, Japan and Singapore developers while excluding low-value market intent.
Current Price Inputs
The table below uses official provider prices checked on 2026-08-08. DeepSeek lists prices per 1M tokens. It also states that DeepSeek API pricing may rise in the near future, so production ledgers should store a checked date beside every estimate. Do not make a customer-facing promise from a stale spreadsheet.
| Model | Cache-hit input | Cache-miss input | Output | Operational note |
|---|---|---|---|---|
| deepseek-v4-flash | $0.0028 / 1M | $0.14 / 1M | $0.28 / 1M | 1M context and a higher listed concurrency limit; useful for repeated context and execution-heavy agent steps. |
| deepseek-v4-pro | $0.003625 / 1M | $0.435 / 1M | $0.87 / 1M | 1M context and a smaller listed concurrency limit; route harder planning and review steps here only when needed. |
These numbers explain why cache status belongs in the request ledger. A 180,000-token repository context with a high cache-hit ratio behaves very differently from a one-off 180,000-token prompt. The router must log cache-hit ratio, output cap and selected model so finance and engineering can review the route later.
Route by Job Shape
A reliable agent stack should not send every step to the same model. Planning, execution, verification and summarization have different failure modes. Planning often benefits from the stronger route because it coordinates many constraints. Execution often benefits from the faster route because it applies a local edit, writes tests or summarizes a known diff. Verification may need the stricter route only when the failure is ambiguous.
- Use Flash for large repeated contexts, boilerplate generation, extraction, classification, changelog drafting and high-volume codebase scans.
- Use Pro for architecture migration plans, incident retrospectives, multi-service debugging and final review before a high-risk production change.
- Reject or down-scope requests when estimated output tokens would break the customer's budget cap.
- Record the source URL, checked date, prompt tokens, cached tokens, output tokens, route reason and fallback reason for every request.
OpenAI-Compatible Example
The following estimator is intentionally small. It gives a US or Canada SaaS team a testable router before a live request leaves the application. The same model names can be routed through an OpenAI-compatible gateway when they are enabled for the account.
from dataclasses import dataclass
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY_HERE",
base_url="https://api.aiwave.live/v1",
)
@dataclass(frozen=True)
class Price:
cache_hit_input: float
cache_miss_input: float
output: float
PRICES_PER_MILLION = {
"deepseek-v4-flash": Price(0.0028, 0.14, 0.28),
"deepseek-v4-pro": Price(0.003625, 0.435, 0.87),
}
def estimate(model: str, input_tokens: int, output_tokens: int, cache_hit_ratio: float) -> float:
price = PRICES_PER_MILLION[model]
hit_tokens = input_tokens * cache_hit_ratio
miss_tokens = input_tokens - hit_tokens
return round(
hit_tokens / 1_000_000 * price.cache_hit_input
+ miss_tokens / 1_000_000 * price.cache_miss_input
+ output_tokens / 1_000_000 * price.output,
6,
)
def route_agent_step(task: str, input_tokens: int, output_tokens: int, cache_hit_ratio: float) -> dict:
needs_planning = any(word in task.lower() for word in ["architecture", "migration", "incident"])
model = "deepseek-v4-pro" if needs_planning else "deepseek-v4-flash"
return {
"model": model,
"estimated_usd": estimate(model, input_tokens, output_tokens, cache_hit_ratio),
"pricing_checked_at": "2026-08-08",
}
decision = route_agent_step("migration plan for a Canada SaaS API", 180_000, 6_000, 0.74)
print(decision)The API key is a placeholder by design. Keep the actual credential in your deployment secret store. For a CI job, run the estimator without network access first; then run one small live request against staging to confirm the model ID, base URL and usage response shape.
Ledger Fields That Matter
| Field | Why it matters | Example |
|---|---|---|
| pricing_checked_at | Prevents stale price claims in dashboards. | 2026-08-08 |
| route_reason | Explains why Pro or Flash was selected. | planning_step or cache_heavy_execution |
| cache_hit_ratio | Turns cache economics into an observable metric. | 0.74 |
| customer_region | Supports GDPR and regional policy review. | Germany |
| fallback_reason | Shows whether reliability changed model choice. | timeout_on_primary |
This ledger is also an SEO and trust asset. Developers searching for deepseek api access overseas are rarely asking for a slogan. They need to know whether the provider works with their SDK, how spend is estimated, what happens during retries and whether the route is acceptable for their customer region.
Guardrails for Tier 1 Buyers
The US, UK, Germany, Japan and Singapore all have enough technical buyers to justify detailed implementation content. They also have buyers who ask hard questions about payment, privacy, retry behavior and support. A production router should therefore expose model identity and usage metadata instead of hiding everything behind a generic alias.
For regulated accounts, separate model routing from data policy. A cost-efficient model can still be blocked for a particular project if the customer has processor, retention or geography constraints. The gateway should fail closed when policy metadata is missing. It should never silently retry a sensitive prompt through a different family only because the first route timed out.
Internal Links to Finish the Workflow
After the router policy is drafted, connect it to AIWave Chat Completions, confirm available IDs in the model directory, and map customer-visible estimates to AIWave pricing. Related implementation work can start from DeepSeek V4 Enterprise Cost Router, Context Cache Pricing and GDPR AI Usage Ledger.
External sources checked
- https://api-docs.deepseek.com/quick_start/pricing/
- https://aiwave.live/docs/chat-completions
- https://aiwave.live/models/
- https://aiwave.live/pricing
Related AIWave guides
FAQ
What DeepSeek V4 price data was checked?
The official DeepSeek pricing page was checked on 2026-08-08. It listed deepseek-v4-flash at $0.0028 cache-hit input, $0.14 cache-miss input and $0.28 output per 1M tokens, and deepseek-v4-pro at $0.003625, $0.435 and $0.87 respectively.
Should production agents always use DeepSeek V4 Flash?
No. Flash is strong for high-volume and cache-heavy execution steps, while Pro is better reserved for planning, incident review and difficult migration tasks.
Why does the article emphasize a usage ledger?
Because cache hits, retries, output caps, policy decisions and checked price dates change the actual cost and compliance posture of each request.