Aller au contenu principal

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èleID APICas d’usage principal
Mistral Large 3mistral-large-2512Analyse complexe, meilleure qualité
Mistral Medium 3.1mistral-medium-2508Bon compromis qualité/vitesse
Mistral Small 3.2mistral-small-2506Usage courant, rapide et économique
Ministral 3 14Bministral-14b-2512Edge computing, latence faible
Ministral 3 8Bministral-8b-2512Embarqué, 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 :

  1. Modèles multimodaux (leçons 1-3) : architecture, choix du modèle
  2. Envoyer des images (leçons 4-6) : URL, Base64, multi-images
  3. Cas d’usage pratiques (leçons 7-10) : graphiques, OCR, extraction structurée, comparaison
  4. 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 text et image_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