inference.eu

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.

  1. 01Format d'API: OpenAI et Anthropic
  2. 02Centres de données dans l'UE
  3. 03Couvert par un seul DPA
read_receipt.py
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.

Poser une question

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