Reader intent
Route each DeepSeek V4 workload to Pro or Flash without wasting margin
Pro and Flash solve different production problems
DeepSeek V4 Pro is designed for difficult reasoning, coding, and long-running agent work. Flash is the throughput choice for chat, retrieval, summarization, extraction, and high-volume tasks where latency and unit economics matter more than the last increment of quality.
The useful question is not which model is universally better. It is which requests deserve Pro and which should stay on Flash.
| Decision point | DeepSeek V4 Pro | DeepSeek V4 Flash |
|---|---|---|
| Best fit | Complex coding, reasoning, agents | Chat, RAG, extraction, high volume |
| Model shape | 1.6T total, 49B active parameters | 284B total, 13B active parameters |
| Lumino model ID | deepseek-v4-pro | deepseek-v4-flash |
| Default rule | Escalate difficult requests | Start with routine traffic |
Use Pro when weak answers create expensive review
Repository-scale changes, architecture review, difficult debugging, research synthesis, and tool-operating agents are strong Pro candidates. Measure whether tests pass, how many loops the task needs, and how much human repair remains.
A model with a higher token price can still be cheaper per completed task when it avoids retries and intervention.
Use Flash for repeatable product traffic
Flash is the practical default for customer support, classification, extraction, retrieval-augmented generation, short summaries, and conversational features. These workloads usually have bounded outputs and enough volume for small price differences to compound quickly.
Flash also works as the first stage in a router. Escalate requests that fail validation or cross a complexity threshold based on tool usage, prompt length, requested output, and code context.
One integration, two model IDs
Lumino exposes both choices through the same OpenAI-compatible chat-completions shape, so routing stays inside the application instead of requiring two SDK integrations. Log the selected model, fresh and cached input, output, latency, retries, and a product-level success signal.
const model = requestNeedsDeepReasoning
? "deepseek-v4-pro"
: "deepseek-v4-flash";
const response = await client.chat.completions.create({
model,
messages,
stream: true,
});A large context window still needs retrieval
A 1M-token window is capacity, not a prompt-design recommendation. Sending an entire repository or archive on every call increases latency and buries important instructions. Keep stable reusable context first, changing input later, and trim irrelevant history.
Production routing checklist
Most products will not find one winner. They will find a routing policy.
- Default routine chat, extraction, retrieval, and summaries to Flash.
- Validate schema, citations, tests, or task-specific quality rules.
- Escalate selectively to Pro after meaningful failure or high complexity.
- Cap tool loops and output length.
- Compare completed-task cost, not price per million tokens alone.