DeepSeek V4 Flash (0731) vs DeepSeek V4 Pro (0813)
Lequel, quand — verdict de synthèse, pas un tableau de benchmarks
Ces deux modèles frères de DeepSeek sont configurés de manière identique sur le papier : tous deux disposent d'une fenêtre de contexte de 1000000 tokens, d'un maximum de 393216 tokens de sortie, uniquement text-in/text-out, et des mêmes options de chat, code, réflexion et outils. La seule véritable différence sur la fiche technique est la grille tarifaire, où deepseek-v4-pro-0813 coûte environ 4.29 fois plus cher à chaque palier ($1.32 contre $0.308 en entrée, $3.96 contre $0.924 en sortie, $0.132 contre $0.0308 pour les lectures en cache). Privilégiez deepseek-v4-flash-0731 par défaut pour le travail en volume et ne passez au palier Pro 0813 que si vos propres évaluations justifient ce surcoût.
Tarification
| DeepSeek V4 Flash (0731) | DeepSeek V4 Pro (0813) | Δ | |
|---|---|---|---|
| Entrée / 1M tokens | $0.308 | $1.32 | 0.23× |
| Sortie / 1M tokens | $0.924 | $3.96 | 0.23× |
| Lecture en cache / 1M tokens | $0.0308 | $0.132 | 0.23× |
| Écriture cache | aucun frais supplémentaire | aucun frais supplémentaire | — |
Tarifs issus du catalogue en direct au moment de la compilation ; chaque page de modèle présente la fiche actuelle.
Où ils se situent — prix en entrée pour 1M de tokens sur l'ensemble des 63 modèles chat pour cette unité de facturation (échelle logarithmique)
Capacités
| DeepSeek V4 Flash (0731) | DeepSeek V4 Pro (0813) | |
|---|---|---|
| Utilisation d'outils | oui | oui |
| Contrôle de la réflexion | oui — réglage du fournisseur non publié | toujours activé |
| Sortie structurée | oui | oui |
| Mise en cache du prompt | implicite (automatique) | implicite (automatique) |
| Durée de vie du cache | no fixed TTL (evicted when unused) | no fixed TTL (evicted when unused) |
| Préfixe minimum mis en cache | non publié | non publié |
Spécifications
| DeepSeek V4 Flash (0731) | DeepSeek V4 Pro (0813) | |
|---|---|---|
| Modalités d'entrée | texte | texte |
| Modalités de sortie | texte | texte |
| Sortie | 2026-07-31 | 2026-08-13 |
| Fenêtre de contexte | 1M | 1M |
| Sortie maximale | 393K | 393K |
| Paramètre de réflexion | — | reasoning_effort |
| Valeurs acceptées | — | reasoning_effort
|
Les spécifications sont transcrites à partir de la documentation de chaque fournisseur ; une ligne qu'un fournisseur ne publie pas est omise plutôt que déduite. Sources complètes : DeepSeek V4 Flash (0731) · DeepSeek V4 Pro (0813)
Un prompt, deux modèles — mesurés via la passerelle
DeepSeek V4 Flash (0731) réussi · 3 sentences
Enabling reasoning mode prompts the model to generate extensive internal chain-of-thought tokens before answering, often multiplying total token output per query by several times. This directly inflates costs because we are billed per token, and these reasoning tokens are processed at a premium compute tier that carries a higher price per million tokens. However, this spend buys measurably higher accuracy and fewer failed calls, so we are tracking it against specific error-reduction KPIs to ensure the ROI justifies the increase.
sortie 365 tok (+266 réflexion) latence 5.1 s
DeepSeek V4 Pro (0813) réussi · 3 sentences
Enabling reasoning causes the model to generate a hidden chain-of-thought with many additional tokens before producing the final answer, which sharply increases compute consumption per request. Those extra reasoning tokens are billed at the same or higher rates, so total usage doubled even though the volume of final outputs stayed similar. We can control this by adjusting reasoning effort, setting token limits, or routing only complex requests through reasoning mode.
sortie 308 tok (+226 réflexion) latence 5.1 s
Suivi de l'instruction (exactement trois phrases — comptables), adaptation à l'audience (registre CFO), et l'écart de facturation lié à la réflexion cachée que les compteurs de tokens ci-dessous révèlent.
DeepSeek V4 Flash (0731) réussi · 8/8 cases
```python def longest_run(xs): if not xs: return 0 best = 1 cur = 1 for i in range(1, len(xs)): if xs[i] == xs[i - 1]: cur += 1 best = max(best, cur) else: cur = 1 return best ``` The original bug stems from initializing `cur` to 0 and only incrementing it when adjacent elements are equal, which counts the number of *equal transitions* rather than the actual run length—so every run of length L is reported as L−1, and a single‑element run (with no transitions) yields 0. Moreover, because `best` is updated only inside the equality branch, it never accounts for a run that ends at the last element if that run is longer than any previously seen (though the real issue remains the off‑by‑one). […]
sortie 1268 tok (+1016 réflexion) latence 14.0 s
DeepSeek V4 Pro (0813) réussi · 8/8 cases
```python def longest_run(xs): if not xs: return 0 best = 1 cur = 1 for i in range(1, len(xs)): if xs[i] == xs[i - 1]: cur += 1 else: cur = 1 best = max(best, cur) return best ``` The bug is that `cur` was initialized to `0` and only counted adjacent matching pairs, so a run of length `n` produced `n - 1` (or `0` for a single element) instead of `n`. The code also reset to `0` on a change, when the new run should start at length `1`. Initializing `cur` and `best` to `1` fixes both the single-element case and runs ending at the last index.
sortie 1315 tok (+1130 réflexion) latence 16.9 s
Si le correctif est réellement juste (exécutable), la densité de l'explication, et l'efficacité en tokens sur une tâche bornée.
DeepSeek V4 Flash (0731) réussi · 5/5 fields, guidance null
{ "company": "Meridian Robotics", "quarter": "Q3", "revenue_usd_m": 412, "growth_pct": null, "guidance": null }
sortie 1119 tok (+1072 réflexion) latence 12.3 s
DeepSeek V4 Pro (0813) réussi · 5/5 fields, guidance null
{"company":"Meridian Robotics","quarter":"September quarter","revenue_usd_m":412,"growth_pct":11.0,"guidance":null}
sortie 2155 tok (+2121 réflexion) latence 26.0 s
Respect du schéma (aucun champ inventé), pression d'hallucination (guidance est explicitement retenue), et différences de chemin pour la sortie structurée.
DeepSeek V4 Flash (0731) manqué · 141 words, 0 banned, 1 question
**Introducing Prompt Cache for API Gateway** We are pleased to announce Prompt Cache, a new feature that stores and reuses identical prompt prefixes across all connected LLM providers. By automatically recognizing repeated requests, this cache reduces token consumption and lowers latency without altering your application logic. Whether you use OpenAI, Anthropic, or open-source models, the cache operates transparently, ensuring consistent behavior while cutting costs. Developers can configure cache TTL and scoping rules via a simple API call, giving you precise control over data freshness and privacy. This feature also minimizes redundant upstream calls, freeing provider rate limits for more critical workloads. Start caching today through the dashboard or CLI, and watch your operational expenses drop significantly. […]
sortie 254 tok (+80 réflexion) latence 4.4 s
DeepSeek V4 Pro (0813) réussi · 121 words, 0 banned, 1 question
Introducing cross-provider prompt caching in our API gateway. Send a prompt once, and the gateway stores its computed prefix across Anthropic, OpenAI, and other LLM providers. Subsequent requests with the same prompt hit the cache, cutting latency and token costs while keeping outputs consistent across routing decisions and provider failovers. Teams can route identical prompts between providers without reprocessing shared context or lengthy system instructions. How much could you save on repeated prompt prefixes? The cache respects provider-specific key formats, handles TTLs automatically, and works with streaming and batch requests. Enable it with one configuration flag—no changes to your application code. Available today on all plans. Monitor cache hit rates, token savings, and provider-specific performance metrics in the live dashboard.
sortie 2845 tok (+2694 réflexion) latence 25.5 s
Respect des contraintes (budget de mots, liste de mots interdits, l'unique question), empreinte stylistique, et contrôle de la longueur.
Basculez de l'un à l'autre avec une seule ligne
Les deux ids sont dans chaque onglet ci-dessous — la paire de lignes en surbrillance est la seule modification. Même endpoint, même clé, même structure de requête.
from openai import OpenAI
client = OpenAI(
base_url="https://synthorai.io/v1",
api_key="sk-syn-...",
)
resp = client.chat.completions.create(
model="deepseek-v4-flash-0731",
# model="deepseek-v4-pro-0813", # décommentez cette ligne, commentez celle du dessus
messages=[{"role": "user", "content": "Summarize this diff"}],
reasoning_effort="medium",
)
print(resp.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://synthorai.io/v1",
apiKey: "sk-syn-...",
});
const resp = await client.chat.completions.create({
model: "deepseek-v4-flash-0731",
// model: "deepseek-v4-pro-0813", // décommentez cette ligne, commentez celle du dessus
messages: [{ role: "user", content: "Summarize this diff" }],
reasoning_effort: "medium",
});
console.log(resp.choices[0].message.content);curl https://synthorai.io/v1/chat/completions \
-H "Authorization: Bearer sk-syn-..." \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4-flash-0731",
# "model": "deepseek-v4-pro-0813", # décommentez cette ligne, commentez celle du dessus
"messages": [{"role": "user", "content": "Hello"}],
"reasoning_effort": "medium"
}'package main
import (
"context"
"fmt"
"github.com/openai/openai-go/v3"
"github.com/openai/openai-go/v3/option"
)
func main() {
client := openai.NewClient(
option.WithBaseURL("https://synthorai.io/v1"),
option.WithAPIKey("sk-syn-..."),
)
resp, _ := client.Chat.Completions.New(context.TODO(), openai.ChatCompletionNewParams{
Model: "deepseek-v4-flash-0731",
// Model: "deepseek-v4-pro-0813", // décommentez cette ligne, commentez celle du dessus
Messages: []openai.ChatCompletionMessageParamUnion{
openai.UserMessage("Summarize this diff"),
},
ReasoningEffort: openai.ReasoningEffortMedium,
})
fmt.Println(resp.Choices[0].Message.Content)
}import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.chat.completions.*;
import com.openai.models.ReasoningEffort;
OpenAIClient client = OpenAIOkHttpClient.builder()
.baseUrl("https://synthorai.io/v1")
.apiKey("sk-syn-...")
.build();
ChatCompletion resp = client.chat().completions().create(
ChatCompletionCreateParams.builder()
.model("deepseek-v4-flash-0731")
// .model("deepseek-v4-pro-0813") // décommentez cette ligne, commentez celle du dessus
.addUserMessage("Summarize this diff")
.reasoningEffort(ReasoningEffort.MEDIUM)
.build());
System.out.println(resp.choices().get(0).message().content().orElse(""));FAQ
Lequel est le moins cher, DeepSeek V4 Flash (0731) ou DeepSeek V4 Pro (0813) ?
DeepSeek V4 Flash (0731) est moins cher sur entrée / 1m tokens ($0.308 contre $1.32, avec un écart de 4.3×). D'autres lignes peuvent indiquer l'inverse — le tableau ci-dessus contient la fiche complète, et le coût réel dépend de votre combinaison.
Puis-je faire un test A/B de DeepSeek V4 Flash (0731) par rapport à DeepSeek V4 Pro (0813) sans deux intégrations ?
Oui. Les deux sont servis via le même endpoint compatible OpenAI avec une seule clé API — le basculement est un changement de chaîne de modèle en une ligne, vous pouvez donc diriger une fraction du trafic vers chacun et comparer les factures directement.
Est-ce que DeepSeek V4 Flash (0731) et DeepSeek V4 Pro (0813) prennent en charge le prompt caching ?
Oui — les deux facturent les lectures en cache en dessous de leur tarif d'entrée, donc les charges de travail à préfixe chaud coûtent moins cher que ce que les tarifs de base suggèrent. Les lignes exactes des lectures en cache se trouvent dans le tableau de tarification ci-dessus.