DeepSeek-V4-Pro
| Tier | Input | Output | Cached input |
|---|---|---|---|
PriorityLearn more | 702 | 1404 | 54 |
FlexLearn more | 374.4 | 748.8 | 28.8 |
DeepSeek V4 Pro is the flagship of the DeepSeek V4 series: a Mixture-of-Experts model with 1.6 trillion total parameters, 49 billion of which activate per token, and a one-million-token context window. Its hybrid attention stack was designed specifically to make that window practical rather than nominal, cutting per-token compute to roughly a quarter and key-value cache to roughly a tenth of the previous generation at full context. Reasoning effort is a per-request control with three levels, and at its deepest setting the model reaches its strongest results on world knowledge, long-context retrieval, and multi-step agentic work. Released under the MIT license, it is the model to reach for on DEVUP AI when the input is enormous, the question is genuinely hard, or accuracy outweighs everything else.

DeepSeek V4 Pro
Overview
DeepSeek V4 Pro is the flagship model of the DeepSeek V4 series. It is a Mixture-of-Experts model with 1.6 trillion total parameters, of which 49B activate per token, supporting a one-million-token context window.
The series was designed around a single constraint: making million-token context economically real. A hybrid attention stack combining Compressed Sparse Attention and Heavily Compressed Attention attacks the two costs that normally make it impossible. At 1M context this model needs roughly 27% of the per-token inference compute and 10% of the key-value cache of the previous generation.
The second defining property is reasoning effort as a request-level control. Three levels are available, and the difference between them is not a matter of degrees — on the hardest mathematics and competitive programming benchmarks the deepest level roughly triples the fastest one.
At a Glance
| Field | Value |
|---|---|
| Model Type | Mixture-of-Experts transformer |
| Total Parameters | 1.6T |
| Activated Parameters | 49B per token |
| Context Window | 1,048,576 tokens (1M) |
| Precision | FP4 + FP8 mixed |
| Modality | Text in → text out |
| Reasoning | Three effort modes, separate reasoning_content field |
| Tool Calling | Supported |
| Pre-training | 32T+ tokens |
| License | MIT |
Architecture
| Component | Detail |
|---|---|
| Sparsity | MoE — 1.6T total, 49B activated per token |
| Attention | Hybrid stack: Compressed Sparse Attention (CSA) + Heavily Compressed Attention (HCA) |
| Residual path | Manifold-Constrained Hyper-Connections (mHC) |
| Optimizer (training) | Muon |
| Precision | MoE expert weights in FP4; attention, normalization and router in FP8 |
Hybrid attention is the reason the context window is usable. CSA and HCA together bring per-token inference compute down to about a quarter, and key-value cache to about a tenth, of the previous DeepSeek generation at the 1M-token setting. Without that, a window this size is a specification rather than a workflow.
mHC strengthens the conventional residual connection, improving the stability of signal propagation across layers while preserving expressivity — a training-stability property, but part of why a model of this scale stays coherent across enormous inputs.
Training
Pre-trained on more than 32 trillion tokens, then post-trained in two stages: domain-specific experts are cultivated independently through supervised fine-tuning and GRPO reinforcement learning, then consolidated into a single model via on-policy distillation. The released checkpoint carries proficiencies that were developed separately and merged rather than trained jointly from the start.
Reasoning Effort Modes
The most important operational decision when using this model.
| Mode | Behaviour | Use it for |
|---|---|---|
| Non-think | Fast, intuitive responses with no reasoning pass | Routine tasks, classification, extraction, low-risk decisions |
| Think High | Explicit chain-of-thought before answering | Complex problems, planning, code, analysis |
| Think Max | Reasoning pushed to its fullest extent | The hardest problems, where accuracy dominates every other concern |
The modes are not small adjustments. On competition mathematics the model scores 31.7 in non-think mode and 94.0 in high mode. On competitive programming, 56.8 against 89.8. Choosing non-think for a hard task does not produce a slightly worse answer — it produces a qualitatively different one.
The inverse is equally true. On routine work, high mode spends a large reasoning budget to reach an answer non-think would have produced immediately.
Selecting a mode
DEVUP AI forwards the complete request body upstream without stripping unknown fields, so reasoning effort can be passed directly in your payload:
{
"model": "deepseek-ai/DeepSeek-V4-Pro",
"messages": [{ "role": "user", "content": "Explain this stack trace." }],
"chat_template_kwargs": { "thinking": true, "reasoning_effort": "high" }
}This is a model-specific extension, not part of the portable Chat Completions contract.
Capabilities
| Capability | Value |
|---|---|
input_types | text |
output_types | text |
image_input | Not supported |
context_window | 1048576 |
reasoning | Native, three effort levels |
reasoning_field | reasoning_content — separate from content |
streaming | Supported |
tool_calling | Supported |
requires_prompt | Yes — text prompt required |
Recommended Use Cases
- World-knowledge tasks — this is where the flagship separates itself most decisively from the lighter model in the series, and where extra reasoning cannot substitute for what a model simply does not know.
- Long-context retrieval at full window — recall across a million tokens is the strongest in the series, which is what makes whole-corpus analysis viable without a retrieval layer.
- Deep research and browsing agents — multi-hop investigation across many tool calls, where evidence accumulates and must stay coherent.
- The hardest reasoning problems — competition mathematics, graduate science, and research-level questions where a wrong answer is worse than no answer.
- Complex agentic workflows — long tool trajectories where the failure mode is losing the thread rather than formatting a call incorrectly.
- The escalation tier in a routed system — see below.
Choosing Between Pro and Flash
Both models in the series share an API surface, a context window, and a reasoning-effort control, which makes routing between them a configuration change rather than an integration.
DeepSeek's own framing is worth taking literally: at maximum reasoning effort the lighter model reaches comparable reasoning performance to the flagship. Its smaller parameter scale places it behind on pure knowledge tasks and the most complex agentic workflows — and those are precisely the two axes on which to choose the flagship.
| Axis | Where the flagship leads |
|---|---|
| World knowledge | Decisively — the largest gap in the series |
| Long-context retrieval | Clearly |
| Complex agentic and browsing work | Clearly |
| Mathematics and competitive coding at high effort | Marginally |
| Mathematics in non-think mode | Not at all — the lighter model scores higher |
That last row is not a typo. In non-think mode the flagship scores below the lighter model on several mathematics benchmarks. Scale buys knowledge and depth; it does not buy fast intuition. If your workload is mathematics without a reasoning budget, size is the wrong lever.
Using DeepSeek V4 Pro on DEVUP AI
Base URL: https://api.devupai.com/v1 · Model ID: deepseek-ai/DeepSeek-V4-Pro
Quick start — cURL
curl https://api.devupai.com/v1/chat/completions \
-H "Authorization: Bearer $DEVUP_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-ai/DeepSeek-V4-Pro",
"messages": [
{
"role": "user",
"content": "Two services write to the same row without a transaction. Walk through the failure modes in order of likelihood and propose the smallest fix for each."
}
],
"temperature": 1.0,
"top_p": 1.0,
"max_tokens": 32768
}'Node.js — DEVUP AI SDK
npm install devupaiimport DevupAI from "devupai";
const client = new DevupAI({
apiKey: process.env.DEVUP_API_KEY,
});
const response = await client.chat.completions.create({
model: "deepseek-ai/DeepSeek-V4-Pro",
messages: [
{
role: "system",
content:
"You are a staff engineer reviewing a migration. Report only defects that would " +
"cause data loss or downtime, each with a severity and the smallest safe fix.",
},
{ role: "user", content: migrationPlan },
],
temperature: 1.0,
top_p: 1.0,
max_tokens: 32768,
});
console.log(response.choices[0].message.content);Whole-corpus analysis — Python
The workload this model exists for.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["DEVUP_API_KEY"],
base_url="https://api.devupai.com/v1",
)
with open("contracts_bundle.txt", encoding="utf-8") as handle:
corpus = handle.read()
response = client.chat.completions.create(
model="deepseek-ai/DeepSeek-V4-Pro",
messages=[
{
"role": "system",
"content": (
"You are reviewing a set of supplier contracts. Identify every clause whose "
"obligations conflict with a clause in a different contract. For each "
"conflict, quote both clauses and name the two documents. Report nothing "
"you cannot cite."
),
},
{"role": "user", "content": corpus},
],
temperature=1.0,
top_p=1.0,
max_tokens=32768,
extra_body={"chat_template_kwargs": {"thinking": True, "reasoning_effort": "high"}},
)
print(response.choices[0].message.content)Cross-document reasoning of this kind is what a million-token window buys that a retrieval layer cannot: chunking destroys exactly the relationships being looked for. Note also that long-context recall improves substantially with reasoning effort — pairing an enormous input with non-think mode is the one combination to avoid.
Reading the reasoning trace
Reasoning arrives in a separate field, not inline in the answer. Read it explicitly, and null-check it — not every model on the platform populates it.
message = response.choices[0].message
reasoning = getattr(message, "reasoning_content", None)
if reasoning:
# Log it, do not show it. Reasoning traces are intermediate, not conclusions.
logger.debug("trace length: %d chars", len(reasoning))
print(message.content)Never concatenate reasoning_content into content before parsing or display. Doing so
breaks JSON parsing on structured-output paths and shows users an unpolished draft of an
answer they never asked to see.
Streaming with usage
stream = client.chat.completions.create(
model="deepseek-ai/DeepSeek-V4-Pro",
messages=[{"role": "user", "content": "Design a retry policy for a webhook delivery system."}],
temperature=1.0,
top_p=1.0,
max_tokens=32768,
stream=True,
stream_options={"include_usage": True},
extra_body={"chat_template_kwargs": {"thinking": True, "reasoning_effort": "high"}},
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
if chunk.usage:
print(f"\n\nTokens — in: {chunk.usage.prompt_tokens}, out: {chunk.usage.completion_tokens}")Streaming matters more here than anywhere else in the series. At high and maximum effort the model reasons at length before the first visible character, and without streaming that wait is indistinguishable from a hang.
Delegating access with a scoped JWT
The combination of a million-token window and an unbounded reasoning budget is the most expensive thing a mistaken loop can do on this platform. Issue a token restricted to this model with an expiry and a spending limit instead of sharing your API key:
curl -X POST "https://api.devupai.com/v1/scoped-jwt" \
-H "Authorization: Bearer $DEVUP_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"api_key_name": "auto",
"models": ["deepseek-ai/DeepSeek-V4-Pro"],
"expires_delta": 3600,
"spending_limit": 500
}'The returned token is used exactly like an API key in the Authorization header. Requests for
any other model, or past the expiry or spending limit, are rejected — a hard ceiling on what a
runaway agent loop or an unbounded long-context job can consume.
Recommended Generation Parameters
| Parameter | Value |
|---|---|
temperature | 1.0 |
top_p | 1.0 |
max_tokens | Large — see below |
DeepSeek recommends a context window of at least 384K tokens when running the maximum
reasoning mode, because the trace alone can consume that much. Truncating a reasoning model
mid-trace yields an unfinished, unusable response rather than a shorter one, so size
max_tokens to the mode you selected, not to the answer you expect.
Benchmark Results
As reported by DeepSeek. The three columns are the same model at three effort levels — read them as a decision table, not as three products.
| Category | Benchmark | Non-think | High | Max |
|---|---|---|---|---|
| Knowledge & reasoning | MMLU-Pro | 82.9 | 87.1 | 87.5 |
| GPQA Diamond | 72.9 | 89.1 | 90.1 | |
| SimpleQA-Verified | 45.0 | 46.2 | 57.9 | |
| Chinese-SimpleQA | 75.8 | 77.7 | 84.4 | |
| HLE | 7.7 | 34.5 | 37.7 | |
| Code & math | LiveCodeBench | 56.8 | 89.8 | 93.5 |
| Codeforces (rating) | — | 2919 | 3206 | |
| HMMT 2026 Feb | 31.7 | 94.0 | 95.2 | |
| IMOAnswerBench | 35.3 | 88.0 | 89.8 | |
| Apex | 0.4 | 27.4 | 38.3 | |
| Apex Shortlist | 9.2 | 85.5 | 90.2 | |
| Long context | MRCR 1M | 44.7 | 83.3 | 83.5 |
| CorpusQA 1M | 35.6 | 56.5 | 62.0 | |
| Agentic | SWE-bench Verified | 73.6 | 79.4 | 80.6 |
| SWE-bench Pro | 52.1 | 54.4 | 55.4 | |
| SWE-bench Multilingual | 69.8 | 74.1 | 76.2 | |
| Terminal-Bench 2.0 | 59.1 | 63.3 | 67.9 | |
| BrowseComp | — | 80.4 | 83.4 | |
| HLE with tools | — | 44.7 | 48.2 | |
| MCPAtlas | 69.4 | 74.2 | 73.6 | |
| Toolathlon | 46.3 | 49.0 | 51.8 |
Three patterns worth reading carefully.
Reasoning-heavy benchmarks move enormously between non-think and high — mathematics and competitive programming roughly triple. Agentic benchmarks move far less: SWE-bench Verified gains seven points across the entire range. Where the work is procedural rather than deductive, the cheapest mode is close to the most expensive one.
More reasoning is not universally better. On MCPAtlas, high mode scores above max.
Best Practices
- Pick the mode deliberately, per request. This is the highest-impact decision when using this model, and no single value is right for every path in an application.
- Route rather than default. Send only the requests that need this tier; the lighter model in the series shares the same API surface and reaches comparable reasoning quality at high effort.
- Never pair a very long input with non-think mode. Long-context retrieval is where that combination fails hardest.
- Budget output tokens for the trace, especially at maximum effort. A truncated reasoning model returns nothing useful.
- Read
reasoning_contentas a separate field. Do not merge it intocontent, and null-check it — other models on the platform leave it empty. - Log the trace, show the answer. Reasoning content is intermediate and may contradict the final response.
- Use the context window instead of building retrieval where the corpus fits. A million tokens removes the need for a chunking layer in most document workloads, and preserves the cross-document relationships chunking destroys.
- Bound every agent loop with an iteration ceiling and a scoped token.
Limitations
- Text only. No image, audio, or document input.
- Non-think mode is a different capability tier, not merely a speed setting, and on some mathematics benchmarks it falls below the lighter model in the series.
- Reasoning traces are not conclusions. Content in
reasoning_contentmay be unpolished or contradict the final answer. - Reasoning does not replace knowledge. Factual-recall benchmarks improve far less with effort than mathematics and coding do.
- Not a safety layer. Apply your own moderation and validation before acting on model output in a production system.