DEV Community

Cover image for Comment utiliser l'API DeepSeek V4-Flash-Vision : Guide de saisie d'images
Antoine Laurent
Antoine Laurent

Posted on Originally published at apidog.com

Comment utiliser l'API DeepSeek V4-Flash-Vision : Guide de saisie d'images

DeepSeek V4-Flash Vision Exp : intégrer et tester la vision à bas coût

Le modèle le moins cher de DeepSeek peut désormais voir. Le 21 août 2026, DeepSeek a lancé deepseek-v4-flash-vision-exp, une version de V4-Flash dotée de capacités de vision. Elle accepte les images via la même API de production, au même prix que le modèle textuel, chaque image étant facturée pour un maximum de 384 jetons d'entrée. La note de publication officielle indique que le modèle conserve les capacités textuelles de V4-Flash et ajoute une compréhension des images dont les performances d'agent multimodal seraient proches de celles d'Opus 4.8.

Essayez Apidog dès aujourd’hui

Ce guide présente le modèle, la signification de « Exp » pour une utilisation en production, les trois méthodes d'envoi d'images, les limites à prévoir et une méthode fiable pour tester les requêtes multimodales. Comme ces requêtes mélangent plusieurs types de contenu et grossissent rapidement, il est plus pratique de les construire dans Apidog que de modifier manuellement du JSON dans un terminal.

Qu'est-ce que deepseek-v4-flash-vision-exp ?

Le modèle associe V4-Flash-0731 à un encodeur d'images. Selon DeepSeek, il correspond au modèle de base sur les tâches textuelles, notamment les charges de travail d'agents, le raisonnement et la connaissance générale. Vous pouvez donc l'utiliser à la place de V4-Flash sans perdre ses fonctionnalités textuelles.

L'annonce sur OpenRouter le décrit comme un modèle sparse Mixture-of-Experts avec 13 milliards de paramètres actifs sur un total de 284 milliards.

Le contexte important est le positionnement de V4-Flash : il s'agit de la gamme économique de DeepSeek. Nous avons présenté le modèle textuel dans ce guide de l'API DeepSeek V4-Flash. L'économie reste la même avec la vision.

L'affirmation « proche d'Opus 4.8 sur les benchmarks d'agents multimodaux » vient de DeepSeek. Considérez donc les benchmarks des fournisseurs comme des indications et évaluez le modèle sur vos propres documents avant toute migration.

Malgré son étiquette expérimentale, ce n'est pas un simple modèle de bac à sable. Il fonctionne sur les points de terminaison d'API de production, avec les mêmes limites de débit et le même SLA que les autres modèles V4. Aucune liste d'attente ni demande d'accès spéciale n'est nécessaire.

Tarification : les tarifs Flash incluent les images

La grille tarifaire est identique à celle de deepseek-v4-flash, selon la page officielle de tarification de DeepSeek :

Type de jetons Heures creuses Heures de pointe
Entrée, cache hit — par 1M de jetons $0.007 $0.014
Entrée, cache miss — par 1M de jetons $0.22 $0.44
Sortie — par 1M de jetons $0.66 $1.32

Les images sont tokenisées pour la facturation à hauteur de 384 jetons chacune et utilisent le tarif d'entrée. Au tarif de pointe en cache miss, une image au coût maximal revient à environ $0.00017. Même 1 000 images coûtent donc moins cher qu'un café.

Deux règles de tarification sont héritées du modèle textuel :

  • Les tarifs des heures creuses correspondent à la moitié des tarifs de pointe.
  • Les heures de pointe sont comprises entre 01:00 et 04:00, puis 06:00 et 10:00 UTC les jours de semaine.
  • La mise en cache du contexte s'applique aux entrées répétées, ce qui est utile lorsque vous réutilisez le même prompt système avec des images différentes.

La gamme V4 annonce une fenêtre de contexte de 1M de jetons, avec une limite de sortie nettement inférieure en pratique.

Envoyer une image : trois méthodes

Le modèle utilise le point de terminaison standard Chat Completions :

https://api.deepseek.com/chat/completions
Enter fullscreen mode Exit fullscreen mode

Les formats Messages et Responses sont également pris en charge, comme l'explique ce guide du déploiement de l'API V4-Flash Responses.

Les images doivent se trouver dans le tableau content d'un message user. Vous pouvez les transmettre de trois manières.

1. Image encodée en Base64

Cette méthode est autonome et convient aux appels ponctuels. La taille maximale est de 32 MiB par image.

import base64
from openai import OpenAI

client = OpenAI(
    [REDACTED CREDENTIAL]
    base_url="https://api.deepseek.com"
)

with open("invoice.png", "rb") as image_file:
    b64 = base64.b64encode(image_file.read()).decode()

response = client.chat.completions.create(
    model="deepseek-v4-flash-vision-exp",
    messages=[{
        "role": "user",
        "content": [
            {
                "type": "text",
                "text": "Extract the line items and totals as JSON."
            },
            {
                "type": "image_url",
                "image_url": {
                    "url": f"data:image/png;base64,{b64}"
                }
            }
        ]
    }]
)

print(response.choices[0].message.content)
Enter fullscreen mode Exit fullscreen mode

2. URL externe

Si l'image est déjà hébergée sur un CDN ou un serveur public, transmettez directement son URL. Celle-ci peut contenir jusqu'à 8 192 caractères.

{
  "type": "image_url",
  "image_url": {
    "url": "https://example.com/chart.png"
  }
}
Enter fullscreen mode Exit fullscreen mode

3. Référence à un fichier via l'API Files

Téléchargez l'image une fois, puis réutilisez son identifiant dans plusieurs requêtes. L'API Files de DeepSeek accepte gratuitement les téléchargements d'images. Une référence file_id évite de renvoyer la même image et permet d'utiliser des fichiers allant jusqu'à 64 MiB.

{
  "type": "file",
  "file": {
    "file_id": "file-api-xxxxxxxxxxxxxxxx"
  }
}
Enter fullscreen mode Exit fullscreen mode

Choisissez :

  • Base64 pour un appel ponctuel ;
  • une URL lorsque l'image existe déjà sur un CDN ;
  • un file_id lorsque le même fichier est utilisé plusieurs fois.

Contrôler le prétraitement avec detail

Chaque image peut recevoir un champ detail optionnel :

  • "low" réduit l'image à 512 × 512. C'est l'option la plus rapide et la moins coûteuse, adaptée aux questions de classification ;
  • "high" ou "original" conserve les dimensions d'origine, ce qui convient mieux aux documents denses et aux petits caractères ;
  • "auto" laisse l'API choisir.

En interne, les images sont normalisées vers environ 800 × 800 pour le comptage des jetons, ce qui explique le plafond de 384 jetons par image.

Pour une tâche proche de l'OCR, par exemple l'extraction de données depuis des reçus ou des tableaux de bord, comparez "low" et "high" sur votre propre corpus. Le coût supplémentaire reste limité, mais la précision peut varier fortement.

Limites à connaître avant la production

Contrainte Valeur
Nombre maximal d'images par requête 600
Taille d'une image inline en Base64 32 MiB
Taille d'une image via l'API Files 64 MiB
Taille totale du corps de requête 48 MiB
Dimension maximale par côté 8 192 px
Dimension maximale par côté avec 15 images ou plus 4 096 px
Longueur maximale d'une URL externe 8 192 caractères
Emplacement autorisé Messages user uniquement

La dernière contrainte est une source fréquente d'erreurs HTTP 400 : une image placée dans un message system ou assistant est rejetée.

Les requêtes contenant plusieurs images sont prises en charge. Vous pouvez également intercaler librement du texte entre les images, ce qui permet de construire des boucles d'agents capables de capturer un écran, de l'analyser, puis d'agir.

DeepSeek a ajouté la prise en charge native du modèle à DeepSeek Harness 0.1.1 le même jour. Cet aperçu de DeepSeek Harness présente cette pile. L'appel d'outils fonctionne également avec la vision, comme dans ce guide de l'appel de fonctions.

Que signifie « Exp » en production ?

Le suffixe indique que le modèle peut être révisé ou remplacé rapidement. Il ne s'agit pas d'un mur de paiement, mais vous devez concevoir votre intégration pour absorber un changement de modèle.

Centraliser l'identifiant

Ne répétez pas deepseek-v4-flash-vision-exp dans toute l'application. Utilisez une variable d'environnement ou une configuration centralisée :

DEEPSEEK_VISION_MODEL=deepseek-v4-flash-vision-exp
Enter fullscreen mode Exit fullscreen mode

Prévoir une solution de repli

Conservez deepseek-v4-flash comme solution de repli pour les requêtes sans image. Le modèle de vision étant annoncé comme équivalent sur les tâches textuelles, ce routage ne change pas les fonctionnalités textuelles.

Conserver vos évaluations

Enregistrez des exemples représentatifs et leurs résultats. Lorsqu'un successeur non expérimental sera disponible, vous pourrez comparer les deux versions sur vos tâches plutôt que de vous fier uniquement aux benchmarks du fournisseur.

Exemple : calculer le coût d'un pipeline de documents

Supposons un pipeline qui traite 50 000 factures numérisées par mois, avec une image par facture, une instruction de 200 jetons et environ 400 jetons de sortie JSON par appel.

  • Entrée des images : 50 000 × 384 = 19,2M de jetons. Au tarif de pointe en cache miss, soit $0.44/1M, le coût est d'environ $8.45.
  • Entrée textuelle : 50 000 × 200 = 10M de jetons, soit environ $4.40 au tarif de pointe. Avec la mise en cache du bloc d'instructions répété, la plus grande partie peut passer au tarif cache hit de $0.014/1M, soit environ $0.14.
  • Sortie : 50 000 × 400 = 20M de jetons à $1.32/1M, soit $26.40.

Le total atteint donc environ 35 à 40 $ par mois aux tarifs de pointe, et environ la moitié si le traitement est exécuté en dehors des heures de pointe en semaine.

Les jetons de sortie représentent la plus grande partie de la facture. Avec un coût d'image aussi faible, la meilleure optimisation consiste à demander un format de réponse compact, par exemple un JSON structuré, plutôt qu'une description en prose. Réduire la taille de la sortie aura généralement plus d'effet que réduire la résolution de l'image.

Ce profil rend également plus réalistes les boucles d'agents continues. Un cycle capture d'écran → raisonnement → action, trop coûteux avec certains modèles multimodaux haut de gamme, devient viable lorsque chaque image est plafonnée à 384 jetons.

Tester les requêtes multimodales dans Apidog

Les requêtes de vision sont difficiles à modifier manuellement : les chaînes Base64 rendent le JSON illisible et les comparaisons entre plusieurs valeurs de detail produisent des charges utiles presque identiques.

Voici une boucle de test plus fiable dans Apidog.

  1. Enregistrez la requête dans un projet et remplacez les valeurs variables par {{model_id}}, {{detail}} et la charge utile de l'image.
  2. Automatisez l'encodage avec un script pré-requête qui lit l'image et injecte la chaîne Base64. Le corps affiché reste ainsi lisible.
  3. Ajoutez des assertions structurelles. Si la réponse doit contenir des lignes de facture, des boîtes englobantes ou des valeurs de graphique, analysez le JSON et vérifiez explicitement les champs attendus.
  4. Comparez plusieurs variantes de prompt et de detail avec les mêmes documents de test.
  5. Simulez la réponse pendant le développement de l'interface utilisateur. La simulation intelligente d'Apidog permet de servir le schéma sans consommer d'appels API.

Vous pouvez télécharger Apidog gratuitement. Lorsque DeepSeek révise le modèle expérimental, il suffit de relancer la même collection de tests.

FAQ

deepseek-v4-flash-vision-exp est-il gratuit ?

Non. Il utilise toutefois exactement les tarifs Flash du modèle textuel, avec un maximum de 384 jetons d'entrée facturés par image. Le stockage d'images via l'API Files de DeepSeek est gratuit ; la facturation intervient lorsque les images sont utilisées dans une requête.

Remplace-t-il deepseek-v4-flash ?

Non. Le modèle textuel reste l'identifiant stable. Vous pouvez utiliser la version Vision pour les tâches textuelles si vous acceptez son statut expérimental, mais l'approche la plus prudente consiste à lui envoyer uniquement les requêtes qui contiennent des images.

Peut-on l'utiliser avec un format d'API de style Anthropic ?

Oui. Les points de terminaison V4 de DeepSeek acceptent les formats Chat Completions, Messages et Responses. Les clients utilisant l'un de ces formats peuvent donc ajouter des blocs d'image sans changer de dialecte de requête.

Ce guide détaillé de l'API V4 Pro présente les mécanismes de point de terminaison partagés au sein de la famille V4.

Comment la tarification se compare-t-elle à GPT ou Claude Vision ?

Avec un tarif d'entrée compris entre $0.22 et $0.44 par million de jetons et des images plafonnées à 384 jetons, le coût est nettement inférieur à celui de nombreuses API multimodales haut de gamme. La précision dépend toutefois de votre charge de travail : mesurez-la avec votre propre jeu d'évaluation.

Conclusion

Avec deepseek-v4-flash-vision-exp, DeepSeek ajoute la compréhension d'images à ses points de terminaison de production tout en conservant les tarifs Flash. Vous disposez de trois méthodes d'entrée — Base64, URL externe et file_id — ainsi que de limites précises à intégrer dans votre architecture.

Centralisez l'identifiant expérimental, prévoyez une solution de repli, puis testez les sorties sur vos propres documents. Construisez la requête dans Apidog, ajoutez des assertions et conservez vos résultats : vous pourrez utiliser le modèle dès maintenant et évaluer objectivement son successeur.

Top comments (0)