Avec deepseek-v4-flash-vision-exp, la gamme V4 Flash accepte désormais les images. Son statut experimental ne doit toutefois pas être ignoré : les éléments publiés lors du lancement ne suffisent pas à démontrer sa fiabilité en production. Avant d’en faire un choix par défaut, lancez un pilote instrumenté et prévoyez une solution de repli.
Choisir l’API en 30 secondes
DeepSeek V4 Flash Vision Exp convient lorsqu’un flux V4 Flash existant doit interpréter des captures d’écran, graphiques, documents ou autres images via une interface compatible API. Pour les décisions visuelles sensibles à l’identité ou à forts enjeux, conservez un mécanisme de repli et validez le cas d’usage séparément.
| Situation | Méthode d’entrée recommandée | Pourquoi |
|---|---|---|
| Petite image locale utilisée une seule fois | URL de données Base64 | Pas besoin d’hébergement public |
| Image déjà hébergée publiquement | URL externe | Corps de requête léger |
| Grande image ou réutilisation fréquente | file_id de la Files API | Réutilisation de l’upload et jusqu’à 64 MiB par image référencée |
| Besoin de réduire le niveau de détail pour une tâche générale | detail: "low" | Réduit l’image à 512 x 512 avant l’inférence |
L’identifiant exact du modèle est deepseek-v4-flash-vision-exp. Dans son journal des modifications officiel, DeepSeek indique qu’il est expérimental et disponible sur sa plateforme API depuis le 21 août 2026. La note de version annonce une parité avec V4 Flash sur les capacités purement textuelles, ainsi qu’une nette progression sur les benchmarks d’agents nécessitant une compréhension visuelle.
Envoyer une image avec Chat Completions
Dans l’API Chat Completions compatible OpenAI, le texte et l’image prennent place dans un tableau content d’un message user. Le guide Vision officiel détaille le comportement propre au modèle : envoyer une image à deepseek-v4-flash standard renvoie une erreur 400.
import base64
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["DEEPSEEK_API_KEY"],
base_url="https://api.deepseek.com",
)
with open("chart.png", "rb") as image_file:
encoded = base64.b64encode(image_file.read()).decode("utf-8")
response = client.chat.completions.create(
model="deepseek-v4-flash-vision-exp",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "Extract the three trends from this chart."},
{
"type": "image_url",
"image_url": {
"url": f"data:image/png;base64,{encoded}",
"detail": "original",
},
},
],
}
],
)
print(response.choices[0].message.content)
Les images sont prises en charge dans les messages utilisateur de Chat Completions. Placez l’image et l’instruction dans le même tableau de contenu afin que le modèle reçoive simultanément le contexte visuel et la tâche demandée.
Quelle méthode utiliser pour transmettre l’image ?
Base64 pour un petit fichier local
Base64 est la solution la plus simple pour une image locale ponctuelle. Elle évite l’hébergement public, mais les données encodées comptent dans la limite de 48 MiB du corps de requête et l’image source est limitée à 32 MiB.
Réservez cette méthode aux uploads uniques d’utilisateurs ou de workers, plutôt qu’aux images réemployées dans un lot de requêtes.
URL publique pour les ressources déjà hébergées
Les URL publiques http ou https allègent les requêtes, mais elles doivent être accessibles, faire moins de 8 192 caractères, pouvoir être téléchargées en moins de 60 secondes et ne pas dépasser 32 MiB. Une URL privée, expirée ou interne peut échouer avant même que DeepSeek ne récupère l’image.
Files API pour la réutilisation et les fichiers plus volumineux
Envoyez l’image via la Files API, puis référencez l’identifiant retourné dans la requête Vision :
{
"type": "file",
"file_id": "file-api-xxxxxxxxxxxxxxxx"
}
Un fichier référencé peut atteindre 64 MiB par image et évite de transférer les mêmes octets à chaque requête. En contrepartie, il faut gérer une étape d’upload supplémentaire et le cycle de vie du fichier ; associez l’identifiant retourné à la clé qui l’a créé, au lieu de le considérer comme un lien de partage public.
La Files API est le choix pratique si le fichier dépasse 32 MiB, si la requête risque de franchir 48 MiB, ou si plusieurs étapes d’un agent doivent examiner la même image.
Maîtriser le niveau de détail avant la facturation
Le champ detail est disponible pour les entrées image_url et les segments d’image de la Responses API. Le comportement ci-dessous suit le guide Vision officiel de DeepSeek.
| Valeur | Comportement documenté | À utiliser lorsque |
|---|---|---|
low | Réduction à 512 x 512 | La mise en page, une scène générale ou une classification approximative suffisent |
high | Conserve l’image d’origine | Les petits textes ou détails fins sont importants |
original | Conserve l’image d’origine | Vous souhaitez demander explicitement un traitement en détail complet |
auto | Équivaut actuellement à original | Vous acceptez le comportement par défaut actuel |
DeepSeek redimensionne les images avant l’inférence. Le guide Vision indique un plafond de 384 tokens d’image par image, chaque image étant comptabilisée indépendamment. Une image source très volumineuse ne consomme donc pas nécessairement un nombre proportionnellement plus élevé de tokens d’image après redimensionnement, même si les fichiers lourds peuvent toujours se heurter aux limites d’upload et de taille de requête.
La page officielle Models & Pricing affiche pour deepseek-v4-flash-vision-exp les mêmes tarifs par token que V4 Flash : $0.007 par million de tokens d’entrée mis en cache et $0.22 par million de tokens d’entrée hors cache durant les heures creuses, contre $0.014 et $0.44 aux heures de pointe. La sortie coûte $0.66 en heures creuses et $1.32 aux heures de pointe. Les tokens d’image sont facturés comme des tokens d’entrée : le nombre d’images et le réglage de détail doivent donc figurer dans votre estimation de coût.
Les limites à l’origine des échecs d’API
| Contrainte | Limite ou comportement |
|---|---|
| Formats pris en charge | JPEG, PNG, GIF, WebP |
| Taille maximale du corps de requête | 48 MiB |
| Taille maximale d’une image Base64 ou URL | 32 MiB |
Taille maximale d’une image file_id via Files API | 64 MiB |
| Nombre maximal d’images par requête | 600 |
Taille totale des images sans images file_id | 64 MiB |
Taille totale incluant les images file_id | 200 MiB |
| Dimension maximale | 8 192 pixels par côté |
| Limite de dimension avec 15 images ou plus | 4 096 pixels par côté |
| Longueur d’une URL externe | 8 192 caractères |
| Téléchargement d’une image externe | Doit se terminer en moins de 60 secondes |
Deux restrictions passent particulièrement facilement inaperçues. Seul deepseek-v4-flash-vision-exp accepte les images, et les blocs image dans des messages system ou assistant échouent avec Chat Completions. Lorsqu’une image est envoyée à un modèle non compatible Vision, DeepSeek documente le message d’erreur 400 suivant : This model does not support image.
Un même modèle, trois interfaces API
Dans son guide Vision, DeepSeek documente le modèle sur trois interfaces :
| Interface | Bloc image | Accès au résultat |
|---|---|---|
| Chat Completions | image_url dans un tableau de contenu utilisateur | response.choices[0].message.content |
| Responses API | input_image avec input_text | response.output_text |
| API compatible Anthropic | image sur https://api.deepseek.com/anthropic | Contenu du message Anthropic |
Les trois interfaces prennent en charge Base64, les URL publiques et les références de la Files API, mais leurs types de contenu diffèrent. Ne copiez donc pas tel quel un bloc Chat Completions dans la Responses API.
Ce que prouvent — et ne prouvent pas — les données de lancement
Le journal des modifications du 21 août de DeepSeek rapporte de solides résultats de lancement, notamment 83.9 sur Terminal Bench 2.1 et 64.3 sur Chartography à p0.95. Il s’agit de résultats communiqués par l’éditeur, non de reproductions indépendantes ; la note précise également que V4 Flash en mode texte seul ignore les éléments multimodaux dans deux évaluations visuelles.
Ces résultats de benchmark proviennent de DeepSeek : testez donc les tâches visuelles importantes pour votre application avant d’orienter du trafic de production vers ce modèle.
Faut-il l’utiliser en production ?
DeepSeek V4 Flash Vision Exp mérite un pilote contrôlé pour l’analyse de captures d’écran, l’extraction depuis des graphiques, le tri de documents ou les agents devant examiner un état visuel. Les tarifs alignés sur Flash et les trois modes d’entrée en font un modèle peu coûteux à évaluer, tandis que le plafond de 384 tokens par image offre un point de départ concret pour modéliser les coûts.
N’en faites pas l’unique backend pour la vérification d’identité, les décisions de sécurité, l’interprétation médicale ou tout autre jugement visuel aux conséquences élevées tant que le modèle reste expérimental et que les éléments de lancement cités n’établissent pas sa fiabilité dans ces cas. Placez une solution de repli derrière la même interface et enregistrez la source de l’image, le réglage detail, l’usage en entrée et sortie, la latence, les tentatives, ainsi que le succès de la tâche.
Avant d’acheminer du trafic de production, testez au minimum :
- Les petits textes dans les captures d’écran avec les niveaux de détail
lowetoriginal. - Les graphiques comportant des libellés, légendes et axes denses.
- Plusieurs images dans une même requête.
- Les URL d’images privées et lentes.
- Les appels d’outils après une inspection visuelle.
- Les requêtes d’identité incorrectes ou ambiguës.
- Le comportement de repli après une erreur 400, un délai d’expiration ou une réponse d’image mal formée.
FAQ sur l’API DeepSeek V4 Flash Vision Exp
Quel est le nom exact du modèle ?
Utilisez deepseek-v4-flash-vision-exp. Le journal des modifications de DeepSeek du 21 août 2026 le présente comme un modèle multimodal expérimental disponible sur la plateforme API.
Son tarif est-il identique à celui de V4 Flash ?
Oui. La page tarifaire de DeepSeek affiche les mêmes prix pour les tokens en cache, hors cache et de sortie pour Vision Exp et V4 Flash. Les tokens d’image sont facturés avec les tokens d’entrée, avec un maximum de 384 tokens d’image par image après redimensionnement.
Peut-il générer des images ?
Le guide Vision officiel documente la compréhension d’images, pas leur génération. Considérez cet endpoint comme limité à l’analyse tant que DeepSeek ne publie pas de prise en charge distincte pour la génération.
Pourquoi ma requête renvoie-t-elle une erreur 400 ?
Vérifiez la chaîne du modèle, le rôle du message, le type de bloc de contenu, la taille du fichier et le format de l’image. Les images envoyées à un modèle non compatible Vision ou placées dans des rôles de message non pris en charge peuvent déclencher l’erreur documentée This model does not support image.