Aller au contenu principal

Introduction à la Vision via l'API Mistral

Mis à jour le 29 juillet 2026

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, change la nature du travail que vous pouvez automatiser : une facture photographiée, une capture d’écran de tableau de bord ou un schéma technique cessent d’être des pièces jointes opaques qu’un humain devra ouvrir. Ils deviennent des entrées que votre code interroge, exactement comme il interroge une chaîne de caractères.

Le champ d’application est large : analyse de documents, lecture de graphiques, extraction de données visuelles. Un service comptable qui reçoit trois cents justificatifs scannés par mois peut demander au modèle d’en lire les montants ; une équipe produit peut faire décrire automatiquement les captures d’écran remontées par les utilisateurs. Dans cette formation, vous apprendrez à exploiter la Vision API de Mistral pour intégrer ce type d’analyse dans vos applications Python. Chaque leçon combine l’explication du mécanisme et le code correspondant, prêt à l’emploi.

Pourquoi utiliser la Vision de Mistral ?

Le premier argument est l’absence de rupture technique. Vous appelez le même endpoint chat.complete() que pour le texte : il n’y a pas d’API séparée à apprendre, pas de client distinct à instancier, vous ajoutez simplement des images dans le message. Un projet déjà bâti sur la génération de texte accueille la vision sans refonte.

Le deuxième est le choix de la gamme. Du plus puissant, Mistral Large 3, au plus léger de la famille Ministral 3, vous ajustez le compromis qualité/coût à votre cas : un modèle lourd pour l’analyse fine d’un graphique financier, un modèle léger pour trier dix mille photos par catégorie. Ce réglage se fait sur une seule ligne de code, comme vous le verrez en leçon 3.

S’y ajoutent deux considérations plus stratégiques. Le format des messages suit le standard OpenAI-like, ce qui facilite la migration depuis un autre fournisseur : le code de construction des messages reste pratiquement inchangé. Et Mistral étant une entreprise française, vos données peuvent rester en Europe, argument souvent décisif dès que les images contiennent des informations personnelles ou contractuelles.

Les modèles Vision disponibles

Cinq modèles Mistral supportent la vision. Chacun est identifié par un ID API que vous passerez au paramètre model.

ModèleID APICas d’usage principal
Mistral Large 3mistral-large-2512Analyse complexe, meilleure qualité
Mistral Medium 3.5mistral-medium-latestBon compromis qualité/vitesse
Mistral Small 4mistral-small-latestUsage 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. Autrement dit, le code que vous allez écrire dans un instant fonctionnera à l’identique avec les cinq.

Deux formes d’identifiants coexistent dans ce tableau, et le choix entre les deux est une décision d’architecture. Les alias en -latest suivent automatiquement la version courante du modèle : vos appels bénéficient des améliorations sans que vous touchiez au code, au prix d’un comportement qui peut évoluer sous vos pieds. Les identifiants datés comme mistral-large-2512 figent une version précise : le comportement reste stable, mais c’est à vous de suivre les dépréciations. Pour un prototype, prenez l’alias ; pour une chaîne de production dont les sorties sont validées, figez la version et planifiez les montées.

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)

Un seul détail distingue cet appel d’un appel textuel classique, et il mérite qu’on s’y arrête : le champ content du message utilisateur est un tableau (une liste) au lieu d’une simple chaîne de caractères. C’est cette structure qui permet de mélanger texte et images dans une même intervention.

Structure d’un message multimodal

Un message classique, en texte seul, tient sur une ligne :

{"role": "user", "content": "Bonjour, comment allez-vous ?"}

Un message multimodal remplace cette chaîne par une liste d’éléments typés, chacun annoncé par son champ type :

{
    "role": "user",
    "content": [
        {"type": "text", "text": "Votre question ici"},
        {"type": "image_url", "image_url": "URL ou data URI de l'image"}
    ]
}

Rien ne vous oblige à vous limiter à un élément de chaque sorte. Vous pouvez inclure plusieurs éléments text et image_url dans un même message, et c’est précisément ce qui permet, par exemple, de présenter une image de référence puis une image à comparer en les annonçant chacune par une phrase. Nous verrons cela en détail dans les leçons suivantes.

Ce que vous apprendrez dans cette formation

Cette formation de 12 leçons progresse du mécanisme vers l’application. Les leçons 1 à 3 traitent des modèles multimodaux : ce qui se passe réellement quand une image entre dans le modèle, et comment choisir celui qui convient à votre charge de travail. Les leçons 4 à 6 couvrent l’envoi des images, par URL, en Base64, puis à plusieurs dans un même message. Les leçons 7 à 10 déroulent les cas d’usage concrets — analyse de graphiques, OCR, extraction structurée, comparaison d’images. Les leçons 11 et 12 referment le sujet sur les limites, l’optimisation des coûts et les prolongements possibles.

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