Guides · Vision
Vision : envoyer des images à des modèles ouverts, traitées dans l'UE
Les modèles de vision lisent les images autant que le texte. Ils décrivent une photo, lisent un ticket de caisse, comparent deux captures d'écran, contrôlent un formulaire ou répondent à des questions sur un graphique. Les images partent dans la même requête de chat que le texte, au format OpenAI ou Anthropic, et sont traitées dans des centres de données européens, ce qui compte quand elles montrent des documents, des personnes ou des données clients.
- 01Format d'API: OpenAI et Anthropic
- 02Centres de données dans l'UE
- 03Couvert par un seul DPA
import base64, os
from openai import OpenAI
client = OpenAI(base_url="https://api.inference.eu/v1", api_key=os.environ["INFERENCE_EU_API_KEY"])
with open("receipt.jpg", "rb") as f:
image = base64.b64encode(f.read()).decode()
reply = client.chat.completions.create(
model="mistral-small-3.2-24b-instruct",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "List the items, the VAT rate and the total on this receipt."},
{"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{image}"}},
],
}],
max_tokens=500,
)
print(reply.choices[0].message.content)Comment envoyer une image
Choisissez un modèle doté de vision, comme mistral-small-3.2-24b-instruct, et faites du content du message utilisateur une liste de parties plutôt qu'une chaîne. Une partie text porte votre question ; une partie image_url porte l'image, soit sous forme d'URL HTTPS publique, soit sous forme d'URL data en base64, comme dans l'exemple. Vous pouvez mêler plusieurs images et textes dans un même message.
La réponse revient en texte normal dans choices[0].message.content. Au format Messages d'Anthropic, utilisez plutôt un bloc image avec une source base64 ou url. Avec l'API Responses, utilisez un élément input_image.
Taille, niveau de détail et tokens
Les images sont converties en tokens avant d'être lues, et une grande image en produit davantage. Cela pèse sur le coût, la vitesse et la place restante dans la fenêtre de contexte. Adaptez la taille à la tâche : une photo à décrire peut être petite, alors qu'une facture dense ou la capture d'un tableau exige assez de résolution pour que le texte reste lisible.
Utilisez le JPEG pour les photos et le PNG pour les captures et documents au texte net. Recadrez sur la zone utile lorsque c'est possible. Le champ detail de image_url est accepté par compatibilité ; son effet sur le traitement dépend du modèle.
Usages éprouvés
Tickets et factures : envoyez l'image avec un schéma JSON dans response_format pour obtenir fournisseur, date, lignes et totaux sous forme de données structurées. Captures d'écran : demandez au modèle de décrire un bug d'interface, de lire une boîte de dialogue d'erreur ou de comparer une maquette à la page réalisée. Contrôle qualité : montrez une photo de produit et demandez si l'étiquette est présente et lisible.
Pour un PDF de plusieurs pages, mieux vaut souvent le convertir d'abord en Markdown avec l'outil de conversion de documents et envoyer du texte, en réservant la vision aux pages avec graphiques ou écriture manuscrite. Le texte coûte moins cher par page et se recherche, se cite et se stocke plus facilement.
Erreurs et cas particuliers
Envoyer une image à un modèle texte seul renvoie une erreur 400 indiquant que le modèle n'accepte pas les images ; consultez la page du modèle ou GET /v1/models. Les URL d'images doivent être accessibles publiquement en HTTPS : liens privés, liens qui expirent ou pages protégées échouent, envoyez alors du base64. Un fichier très lourd peut dépasser la taille maximale de requête : compressez-le.
Les modèles de vision peuvent mal lire les petits caractères, l'écriture manuscrite et les chiffres, et décrire ce qu'ils s'attendent à voir plutôt que ce qui figure à l'image. Pour tout ce qui compte, comme les montants d'une facture, validez les valeurs et gardez un humain dans la boucle. N'utilisez pas ces modèles pour identifier des personnes.
Vision : questions fréquentes
Les questions que nous posent le plus les achats, les développeurs et les juristes. Il en manque une ? Posez-la-nous directement.
Pages liées
- Chat completionsEnvoyez vos messages à des modèles open-weight au format chat completions d'OpenAI. Traitement dans des centres de données de l'UE, sans entraînement.Endpoints
- Document conversionConvertissez vos fichiers PDF, Word, PowerPoint et Excel en Markdown propre pour le RAG et les prompts. Tableaux, titres et scans, traités dans l'UE.Outils
- Structured outputsObtenez des modèles ouverts un JSON valide conforme à votre schéma grâce aux sorties structurées compatibles OpenAI. Mode JSON, json_schema, strict, pièges.Guides
- Image generationGénérez des images à partir de texte avec une API d'images compatible OpenAI. Modèles ouverts comme FLUX.1 schnell, traités dans des centres de l'UE.Endpoints
Faites passer vos charges IA sur une infrastructure européenne
Dites-nous quels modèles vous utilisez et votre volume approximatif. Nous répondons sous un jour ouvré avec un tarif et la suite.
- Réponse sous un jour ouvré
- Tarif adapté à votre volume
- DPA prêt à signer