DeepSeek-V4.1-Flash est devenu disponible via l'API aujourd'hui, le 10 septembre 2026. La note de version est courte, mais elle modifie trois choses pour quiconque appelle l'API DeepSeek : il n'y a désormais qu'un seul ID de modèle à utiliser, deepseek-flash ; les tarifs par jeton ont de nouveau baissé ; et dans quatre jours, le 14 septembre, chaque requête vers deepseek-v4-pro sera redirigée vers ce modèle et facturée aux prix Flash.
Ce dernier point est la raison d'être de ce guide. Si vous avez du code de production sur V4-Pro, vous ne choisissez pas la date de migration. Si vous utilisez V4-Flash, vous êtes déjà servi par le nouveau modèle sous l'ancien nom. Dans tous les cas, les paramètres que vous envoyez aujourd'hui méritent d'être vérifiés.
Cet article couvre l'aspect pratique : l'ID du modèle, les URL de base, un premier appel en trois langues, l'effort de raisonnement, l'entrée d'image, le streaming et la tarification. Pour l'histoire de l'architecture et des benchmarks, lisez d'abord Qu'est-ce que DeepSeek-V4.1-Flash.
Avant d'intégrer quoi que ce soit dans le code, vous voudrez un moyen rapide d'envoyer des requêtes et de comparer les réponses. Apidog s'en charge : pointez-le vers https://api.deepseek.com, stockez la clé comme variable, et sauvegardez chaque appel fonctionnel comme un test réexécutable. Le processus est détaillé vers la fin.
En bref
- ID du modèle :
deepseek-flash. Les anciens nomsdeepseek-v4-flashetdeepseek-v4-flash-vision-expfonctionnent toujours mais renvoient vers V4.1-Flash. - URL de base inchangées :
https://api.deepseek.com(compatible OpenAI) ethttps://api.deepseek.com/anthropic(compatible Anthropic). deepseek-v4-proredirige vers V4.1-Flash le 14 septembre 2026 à 04:00 UTC.- Contexte 1M de jetons, sortie maximale 384K, limite de concurrence 2 500.
- Tarification hors pointe par 1M de jetons : 0,003 $ pour un cache hit, 0,15 $ pour un cache miss, 0,60 $ pour la sortie. Le prix de pointe est le double.
- La vision est native. Les images vont dans le tableau
contentcomme des partiesimage_url.
Ce qui a changé pour les utilisateurs de l'API
Voici le delta, tiré de la note de version et du journal des modifications.
Un seul ID de modèle. Le nom canonique est désormais deepseek-flash, sans numéro de version. Ancrez vos prompts et vos tests sur le comportement, pas sur une chaîne de version, car la prochaine version Flash sera publiée sous le même nom.
Les noms hérités sont toujours redirigés. deepseek-v4-flash et deepseek-v4-flash-vision-exp sont acceptés pour l'instant, mais les modèles qu'ils représentent, V4-Flash et V4-Flash-Vision-Exp, sont retirés. Les requêtes vers ces noms sont traitées par V4.1-Flash. Rien ne casse, mais vous n'exécutez pas le modèle que vous pensez utiliser. Renommez-le dès que possible.
Le nom de la version bêta a disparu. La version bêta de deux jours, du 8 septembre, fonctionnait sous le nom deepseek-v4.1-flash-expires-on-0910. Elle a expiré comme prévu. Passez à deepseek-flash.
Les URL de base et les formats sont inchangés. Les appels compatibles OpenAI vont à https://api.deepseek.com, les appels compatibles Anthropic vont à https://api.deepseek.com/anthropic, et le format de l'API de réponses que la ligne Flash supportait déjà est conservé. Votre configuration SDK ne change pas.
V4-Pro a quatre jours. À partir du 14 septembre 2026 à 04:00 UTC (12:00 heure de Pékin), chaque requête deepseek-v4-pro sera acheminée vers V4.1-Flash et facturée aux tarifs V4.1-Flash. La raison invoquée par DeepSeek est que V4.1-Flash "a surpassé V4 Pro de manière exhaustive en termes de performances, de coût, de vitesse et de temps total", citant des tests effectués par plusieurs parties. Il s'agit d'une affirmation du fournisseur. Le guide de migration pour le retrait de V4-Pro montre comment le vérifier sur vos propres prompts avant que le changement ne s'opère pour vous.
Étape 1 : obtenir une clé
Connectez-vous sur la plateforme DeepSeek, ouvrez Clés API, et créez-en une. Les clés commencent par sk-. Exportez-la au lieu de la coller dans le code source :
export DEEPSEEK_API_KEY="sk-your-key-here"
Aucun SDK spécifique à DeepSeek n'est nécessaire. Les bibliothèques clientes OpenAI et Anthropic fonctionnent toutes les deux une fois que vous avez changé l'URL de base.
Étape 2 : effectuer votre premier appel
curl en premier, car cela élimine toutes les variables sauf l'API elle-même :
curl https://api.deepseek.com/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DEEPSEEK_API_KEY}" \
-d '{
"model": "deepseek-flash",
"messages": [
{"role": "system", "content": "You are a support engineer for a payments API."},
{"role": "user", "content": "A customer gets HTTP 402 on /v1/charges. List the three most likely causes."}
],
"stream": false
}'
Le même appel via le SDK Python d'OpenAI :
# pip install openai
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["DEEPSEEK_API_KEY"],
base_url="https://api.deepseek.com",
)
response = client.chat.completions.create(
model="deepseek-flash",
messages=[
{"role": "system", "content": "You are a support engineer for a payments API."},
{"role": "user", "content": "A customer gets HTTP 402 on /v1/charges. List the three most likely causes."},
],
)
print(response.choices[0].message.content)
Et en Node.js :
// npm install openai
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.deepseek.com",
apiKey: process.env.DEEPSEEK_API_KEY,
});
const completion = await client.chat.completions.create({
model: "deepseek-flash",
messages: [
{ role: "user", content: "Write a Postgres migration that adds a nullable refunded_at timestamp to invoices." },
],
});
console.log(completion.choices[0].message.content);
Si vous avez configuré votre système avec la version précédente en suivant le guide de l'API V4-Flash, la seule différence est la chaîne du modèle.
Étape 3 : effort de raisonnement et mode de réflexion
La fiche modèle décrit l'effort de raisonnement comme "contrôlable en continu" sur une échelle de 1 à 100. C'est un écart par rapport aux préréglages bas/moyen/élevé que la plupart des API exposent, et cela signifie que vous pouvez ajuster le coût et la latence par endpoint au lieu de par niveau.
La forme du paramètre qui véhicule cette valeur de 1 à 100 est [À VÉRIFIER] par rapport à la documentation de l'API. En attendant leur confirmation, partez du modèle V4-Flash : reasoning_effort plus un objet thinking passé via extra_body :
response = client.chat.completions.create(
model="deepseek-flash",
messages=[{"role": "user", "content": "Our Redis cluster drops 2% of SETs under load. Plan the investigation."}],
reasoning_effort="high",
extra_body={"thinking": {"type": "enabled"}},
)
Paramètres d'échantillonnage recommandés de la fiche modèle : temperature 1.0, top_p 0.95 ou 1.0, et max_tokens de 256K ou plus pour les longues traces de raisonnement. La sortie maximale est de 384K jetons.
Une répartition pratique : réflexion désactivée pour l'autocomplétion, la classification et tout ce qu'un utilisateur attend ; réflexion activée à effort élevé pour les boucles d'agents, les refactorisations multi-fichiers et le débogage. Puis mesurez. L'effort que vous ne pouvez pas voir dans la sortie est un effort que vous payez de toute façon.
Étape 4 : envoyer une image
V4.1-Flash est nativement multimodal, entraîné sur un corpus multimodal de 45 T de jetons avec un encodeur DeepSeek-ViT entraîné de zéro. Le format de requête est hérité de V4-Flash-Vision-Exp : les images font partie du tableau content du message utilisateur.
response = client.chat.completions.create(
model="deepseek-flash",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "Extract every line item and the total from this receipt as JSON."},
{"type": "image_url", "image_url": {"url": "https://cdn.example-shop.com/receipts/48213.png"}},
],
}],
)
Pour un fichier local, encodez-le en URL de données base64 :
import base64
with open("receipt.png", "rb") as f:
data_url = "data:image/png;base64," + base64.b64encode(f.read()).decode()
# then pass {"url": data_url} in the image_url part
Limites : URL de données base64 jusqu'à 32 MiB, URL externes jusqu'à 8 192 caractères, ou un ID de fichier. Un champ optionnel detail est accepté. DeepSeek rapporte DocVQA 95.6, ce qui correspond au cas de lecture de documents ci-dessus. Le guide de l'API de vision couvre les prompts multi-images, les niveaux de détail et le coût des images par requête.
Étape 5 : streamer la réponse
Définissez stream=True et l'endpoint renvoie des événements envoyés par le serveur (Server-Sent Events). Le contenu de raisonnement et le contenu de la réponse arrivent sous forme de deltas séparés, ce qui est important lorsque vous affichez un état de "réflexion" dans une interface utilisateur.
stream = client.chat.completions.create(
model="deepseek-flash",
messages=[{"role": "user", "content": "Explain idempotency keys in one paragraph."}],
stream=True,
)
for chunk in stream:
delta = chunk.choices[0].delta
if delta.content:
print(delta.content, end="", flush=True)
Si les SSE sont nouveaux pour vous, le streaming des réponses LLM avec des événements envoyés par le serveur explique le format réseau et les cas limites de reconnexion.
Tarification en un coup d'œil
D'après la page officielle des tarifs, effectif le 10 septembre 2026 à 04:00 UTC, en USD par 1M de jetons :
| deepseek-flash heures creuses | deepseek-flash heures de pointe | |
|---|---|---|
| Entrée, cache hit | 0,003 $ | 0,006 $ |
| Entrée, cache miss | 0,15 $ | 0,30 $ |
| Sortie | 0,60 $ | 1,20 $ |
Trois choses à savoir :
- Les périodes de pointe sont du lundi au vendredi, de 01:00 à 04:00 et de 06:00 à 10:00 UTC (9:00 à 12:00 et 14:00 à 18:00 heure de Pékin). Les heures creuses sont à moitié prix. Les tâches par lots qui peuvent attendre devraient attendre.
- Les cache hits sont automatiques. Un hit coûte 50 fois moins cher qu'un miss, donc un prompt système stable au début de chaque requête est l'optimisation la moins chère disponible. Qu'est-ce que la mise en cache de prompts explique comment fonctionne la correspondance de préfixes.
- Par rapport à V4-Flash, la réduction est d'environ 57 % sur l'entrée avec cache hit, 32 % sur l'entrée avec cache miss, et 9 % sur la sortie. Une charge de travail V4-Pro redirigée le 14 septembre paie 0,30 $ au lieu de 1,32 $ par 1M d'entrées avec cache miss aux heures de pointe, et 1,20 $ au lieu de 3,96 $ pour la sortie.
Tester l'API dans Apidog
Une fois que le premier appel fonctionne, la question est de savoir s'il continuera à fonctionner. deepseek-flash n'a pas de version, donc la prochaine mise à jour sera silencieuse. Voici un workflow Apidog qui le détecte :

- Ajoutez l'endpoint. Créez
POST https://api.deepseek.com/chat/completions, ou importez une spécification OpenAPI compatible OpenAI afin que chaque route arrive en une seule fois. - Stockez la clé comme variable d'environnement. Placez
DEEPSEEK_API_KEYdans un environnement Apidog et définissez l'en-tête surBearer {{DEEPSEEK_API_KEY}}. Le basculement entre une clé personnelle et la clé de production devient un menu déroulant. - Enregistrez une requête par niveau d'effort. Dupliquez la requête de base en variantes : réflexion désactivée, réflexion activée à faible effort, réflexion activée à effort élevé. Même prompt, paramètres différents. Envoyez les trois et comparez l'utilisation des jetons et la latence côte à côte.
- Surveillez le stream. Pour
stream: true, Apidog rend les événements SSE au fur et à mesure de leur arrivée, de sorte que les deltas de raisonnement et les deltas de contenu apparaissent comme des lignes séparées au lieu d'un mur de préfixesdata:. - Transformez les variantes en scénario de test. Ajoutez des assertions sur le code d'état, sur le nombre de cache hits dans
usageétant supérieur à zéro lors de la deuxième exécution, et sur la réponse contenant les champs analysés par votre application. Réexécutez le scénario après chaque mise à jour du modèle, et le 14 septembre lorsque la redirection de V4-Pro sera active. - Exécutez-le en CI.
apidog-cliexécute le même scénario depuis un pipeline, de sorte qu'un changement de modèle silencieux échoue une build au lieu d'affecter un client.
Téléchargez Apidog et l'ensemble de la configuration prend environ dix minutes.
FAQ
Dois-je renommer deepseek-v4-flash en deepseek-flash ? Pas aujourd'hui. L'ancien nom redirige toujours vers V4.1-Flash. Mais V4-Flash lui-même est retiré, et DeepSeek n'a pas précisé quand l'alias disparaîtra. Renommez-le lors de votre prochain déploiement.
Qu'adviendra-t-il de mon code V4-Pro le 14 septembre ? Rien ne sera cassé. Les requêtes vers deepseek-v4-pro seront traitées par V4.1-Flash et facturées aux tarifs Flash à partir de 04:00 UTC. Vos sorties peuvent cependant changer, alors exécutez votre ensemble d'évaluation avant cette date. Le guide de migration contient une liste de contrôle.
L'endpoint compatible Anthropic prend-il en charge le nouveau modèle ? Oui. https://api.deepseek.com/anthropic reste inchangé ; utilisez deepseek-flash comme nom de modèle là aussi.
Existe-t-il un niveau gratuit ? L'API est en mode paiement à l'utilisation sans niveau gratuit permanent. Les poids sont sous licence MIT sur Hugging Face si vous souhaitez auto-héberger. Les options actuelles sont rassemblées dans comment utiliser l'API DeepSeek V4 gratuitement.
Quelle est sa vitesse ? DeepSeek n'a pas publié de chiffre de jetons par seconde. Un utilisateur X a rapporté "presque 400 t/s" lors de tests vidéo, ce qui est une anecdote, pas une spécification. Mesurez avec vos propres prompts pendant une période de pointe.
Avant la redirection
La surface de l'API a à peine bougé : mêmes URL de base, même format de requête, un nouvel ID de modèle. Ce qui a changé, c'est le prix et, le 14 septembre, le routage de chaque appel V4-Pro. Renommez deepseek-v4-flash en deepseek-flash, choisissez un niveau d'effort par endpoint, et exécutez vos prompts avec le nouveau modèle avant que DeepSeek ne le fasse pour vous.
Enregistrez ces prompts comme tests pendant que vous y êtes. Apidog les réexécute en un clic, et la prochaine mise à jour Flash silencieuse apparaîtra comme une assertion échouée au lieu d'un ticket de support.
