Introduction à la Vision via l'API Mistral
Qu’est-ce que la Vision API ?
Les modèles de langage ne se limitent plus au texte. Depuis 2024, Mistral AI propose des modèles multimodaux capables d’analyser simultanément du texte et des images. Cette capacité, appelée Vision, ouvre un champ considérable d’applications : analyse de documents, lecture de graphiques, extraction de données visuelles, et bien plus.
Dans cette formation, vous apprendrez à exploiter la Vision API de Mistral pour intégrer l’analyse d’images dans vos applications Python. Chaque leçon combine théorie et code prêt à l’emploi.
Pourquoi utiliser la Vision de Mistral ?
L’API Vision de Mistral se distingue par plusieurs avantages :
- Interface unifiée : vous utilisez le même endpoint
chat.complete()que pour le texte, en ajoutant simplement des images dans le message - Modèles variés : du plus puissant (Mistral Large 3) au plus léger (Ministral 3 3B), vous choisissez le compromis qualité/coût adapté à votre cas
- Compatibilité : le format des messages suit le standard OpenAI-like, facilitant la migration depuis d’autres providers
- Souveraineté : Mistral est une entreprise française — vos données peuvent rester en Europe
Les modèles Vision disponibles
En avril 2026, cinq modèles Mistral supportent la vision :
| Modèle | ID API | Cas d’usage principal |
|---|---|---|
| Mistral Large 3 | mistral-large-2512 | Analyse complexe, meilleure qualité |
| Mistral Medium 3.1 | mistral-medium-2508 | Bon compromis qualité/vitesse |
| Mistral Small 3.2 | mistral-small-2506 | Usage courant, rapide et économique |
| Ministral 3 14B | ministral-14b-2512 | Edge computing, latence faible |
| Ministral 3 8B | ministral-8b-2512 | Embarqué, ressources limitées |
Tous ces modèles acceptent des images en entrée via l’API Chat Completions.
Votre premier appel Vision
Voici un exemple minimal pour envoyer une image à Mistral et obtenir une description :
from mistralai import Mistral
client = Mistral(api_key="VOTRE_CLE_API")
response = client.chat.complete(
model="mistral-small-latest",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "Décrivez cette image en détail."},
{
"type": "image_url",
"image_url": "https://example.com/photo.jpg"
}
]
}
]
)
print(response.choices[0].message.content)
Remarquez que le champ content du message utilisateur est un tableau (liste) au lieu d’une simple chaîne de caractères. C’est cette structure qui permet de mélanger texte et images.
Structure d’un message multimodal
Un message classique (texte seul) ressemble à ceci :
{"role": "user", "content": "Bonjour, comment allez-vous ?"}
Un message multimodal utilise une liste d’éléments typés :
{
"role": "user",
"content": [
{"type": "text", "text": "Votre question ici"},
{"type": "image_url", "image_url": "URL ou data URI de l'image"}
]
}
Vous pouvez inclure plusieurs éléments text et image_url dans un même message — nous verrons cela en détail dans les leçons suivantes.
Ce que vous apprendrez dans cette formation
Cette formation de 12 leçons couvre l’ensemble du sujet :
- Modèles multimodaux (leçons 1-3) : architecture, choix du modèle
- Envoyer des images (leçons 4-6) : URL, Base64, multi-images
- Cas d’usage pratiques (leçons 7-10) : graphiques, OCR, extraction structurée, comparaison
- Conclusion (leçons 11-12) : limites, optimisation, prochaines étapes
Points clés à retenir
- La Vision API de Mistral utilise le même endpoint que le chat textuel
- Le message utilisateur devient un tableau contenant des éléments
textetimage_url - Cinq modèles supportent la vision, du plus puissant au plus léger
- Mistral est un choix pertinent pour les projets nécessitant une souveraineté européenne des données