Claude Platform Docs
MessagesImages et vision

Vision

Les capacités de vision de Claude lui permettent de comprendre et d'analyser des images, ouvrant des possibilités passionnantes d'interaction multimodale.

Ce guide décrit comment envoyer des images à Claude, les limites et les coûts qui s'appliquent, et où trouver des conseils pour les flux de travail basés sur les coordonnées.


Envoyer des images à Claude

Utilisez les capacités de vision de Claude via :

  • claude.ai. Téléversez une image comme vous le feriez pour un fichier, ou glissez-déposez une image directement dans la fenêtre de discussion.
  • Le Playground dans la Claude Console. Ajoutez des images directement à n'importe quel bloc de message User.
  • Une requête API. Consultez les exemples suivants.

Sur l'API, fournissez les images à Claude sous forme de blocs de contenu image en utilisant l'un des trois types de source :

  1. Une image encodée en base64 intégrée dans le corps de la requête
  2. Une référence URL vers une image hébergée en ligne
  3. Un file_id renvoyé par l'API Files (téléversez une fois, référencez plusieurs fois)

Exemple d'image encodée en base64

image1_data = "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR4nGP4z8AAAAMBAQDJ/pLvAAAAAElFTkSuQmCC"
image1_media_type = "image/png"

client = anthropic.Anthropic()
message = client.messages.create(
    model="claude-opus-5-5",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image1_media_type,
                        "data": image1_data,
                    },
                },
                {"type": "text", "text": "Describe this image."},
            ],
        }
    ],
)
print(message)

Exemple d'image basée sur une URL

client = anthropic.Anthropic()
message = client.messages.create(
    model="claude-opus-5-5",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "url",
                        "url": "https://platform.claude.com/docs/images/vision-example.jpg",
                    },
                },
                {"type": "text", "text": "Describe this image."},
            ],
        }
    ],
)
print(message)

Exemple d'image avec l'API Files

Pour les images que vous utiliserez de manière répétée ou lorsque vous souhaitez éviter la surcharge liée à l'encodage, utilisez l'API Files. Téléversez l'image une fois, puis référencez le file_id renvoyé dans les messages suivants au lieu de renvoyer les données base64.

client = anthropic.Anthropic()

# Téléverser le fichier image
with open("vision-example.jpg", "rb") as f:
    file_upload = client.files.upload(file=("vision-example.jpg", f, "image/jpeg"))

# Utiliser le fichier téléversé dans un message
message = client.messages.create(
    model="claude-opus-5-5",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {"type": "file", "file_id": file_upload.id},
                },
                {"type": "text", "text": "Describe this image."},
            ],
        }
    ],
)

print(message.content)

Consultez les exemples de l'API Messages pour davantage d'exemples de code et de détails sur les paramètres.

Images multiples

Vous pouvez inclure plusieurs images dans une seule requête, et Claude les analyse conjointement. Cela est utile pour comparer des images, poser des questions sur leurs différences ou travailler avec une séquence telle que les pages d'un document. Lorsque vous envoyez plusieurs images, introduisez chacune d'elles par une courte étiquette textuelle (Image 1:, Image 2:, etc.) afin de pouvoir y faire référence par leur nom dans votre prompt et dans les tours suivants.

image1_data = "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR4nGP4z8AAAAMBAQDJ/pLvAAAAAElFTkSuQmCC"
image2_data = "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR4nGNgYPgPAAEDAQAIicLsAAAAAElFTkSuQmCC"

client = anthropic.Anthropic()
message = client.messages.create(
    model="claude-opus-5-5",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "Image 1:"},
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": "image/png",
                        "data": image1_data,
                    },
                },
                {"type": "text", "text": "Image 2:"},
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": "image/png",
                        "data": image2_data,
                    },
                },
                {"type": "text", "text": "How are these images different?"},
            ],
        }
    ],
)
print(message)

Dans une conversation à plusieurs tours, ajoutez de nouvelles images dans les tours user ultérieurs de la même manière. Claude a accès à toutes les images des tours précédents, de sorte que les questions de suivi telles que « Celles-ci sont-elles similaires aux deux premières ? » fonctionnent sans qu'il soit nécessaire d'inclure à nouveau les images précédentes dans le contenu du nouveau tour.


Limites et coûts des images

Limites des requêtes

Le nombre maximal d'images par message ou par requête est de :

  • 20 par message sur claude.ai.
  • 100 par requête sur l'API, pour les modèles dotés d'une « context window » (fenêtre de contexte) de 200 000 tokens.
  • 600 par requête sur l'API, pour tous les autres modèles.

Les dimensions maximales par image sont de 8000x8000 px.

Si une seule requête API contient plus de 20 images, une limite de dimensions par image plus stricte s'applique à chaque image de cette requête. Tous les blocs image de la requête sont comptabilisés dans ce seuil, y compris les images des tours de conversation précédents que vous renvoyez et les images imbriquées dans le contenu tool_result (par exemple, les captures d'écran renvoyées à l'outil d'utilisation de l'ordinateur). Sur Amazon Bedrock et Google Cloud, les blocs de documents tels que les PDF sont également comptabilisés dans ce seuil. Les images dépassant la limite plus stricte sont rejetées avec une erreur invalid_request_error dont le message fait référence aux « many-image requests » et indique la limite actuelle en pixels. Pour rester sous la limite sur toutes les plateformes, redimensionnez chaque image de sorte qu'aucune dimension ne dépasse 2000 px, ou limitez la requête à 20 blocs d'images et de documents ou moins.

La taille maximale par image est de :

  • 10 Mo (encodée en base64) lors de l'utilisation directe de l'API Claude.
  • 5 Mo (encodée en base64) sur Amazon Bedrock et Google Cloud.
  • 10 Mo sur claude.ai.

Formats pris en charge

Claude prend en charge les images JPEG, PNG, GIF et WebP (image/jpeg, image/png, image/gif, image/webp). Les animations ne sont pas prises en charge, et seule la première image est utilisée.

Résolution et coût en tokens

Claude voit les images sous forme de patchs plutôt que de pixels. Chaque patch est un bloc de 28×28 pixels de l'image, appelé token visuel. Une image coûte donc ⌈width / 28⌉ × ⌈height / 28⌉ tokens visuels.

Chaque modèle possède une résolution d'image native maximale, exprimée sous forme d'une limite de bord long et d'une limite de tokens visuels. Les images dépassant l'une ou l'autre de ces limites sont réduites avant traitement ; consultez Comment Claude redimensionne et complète les images pour connaître la règle exacte. L'exception concerne les captures d'écran et les images de zoom que vous renvoyez aux ensembles d'outils d'utilisation de l'ordinateur et d'utilisation du navigateur : l'API rejette une image tool_result qui dépasse les limites du modèle avec une erreur de validation au lieu de la réduire ; redimensionnez donc ces images dans votre application avant de les renvoyer. Pour que toute autre image surdimensionnée soit rejetée avec une erreur au lieu d'être réduite, définissez le champ transformations du bloc image.

Niveau de résolutionModèlesBord long max.Tokens visuels max.
Haute résolutionClaude 4.7 et modèles ultérieurs2576 px4784
StandardTous les autres modèles1568 px1568

La prise en charge de la haute résolution est automatique sur les modèles indiqués et ne nécessite aucun en-tête bêta ni activation côté client.

Le tableau suivant indique la résolution réduite et le coût en tokens visuels pour plusieurs tailles d'image à chaque niveau :

Taille de l'imageNiveau standard : réduite àNiveau standard : tokensNiveau haute résolution : réduite àNiveau haute résolution : tokens
200x200 px (0,04 mégapixel)Non redimensionnée64Non redimensionnée64
1000x1000 px (1 mégapixel)Non redimensionnée1296Non redimensionnée1296
1092x1092 px (1,19 mégapixel)Non redimensionnée1521Non redimensionnée1521
1920x1080 px (2,07 mégapixels)1456x819 px1560Non redimensionnée2691
2000x1500 px (3 mégapixels)1269x952 px1564Non redimensionnée3888
3840x2160 px (8,29 mégapixels)1456x819 px15602576x1449 px4784

Lorsqu'une image est réduite, Claude la met à l'échelle à la plus grande taille compatible avec les limites du niveau tout en préservant son rapport d'aspect. Cela plafonne le coût en tokens. Pour la règle précise et une implémentation de référence, consultez Comment Claude redimensionne et complète les images.

Pour estimer le coût, multipliez le nombre de tokens par le prix par token du modèle que vous utilisez. Par exemple, au tarif de Claude Haiku 4.5 de 1 $ USD par million de tokens d'entrée (niveau standard), l'image de 1000×1000 coûte environ 1,30 $ USD pour mille images. Au tarif de Claude Opus 5 de 5 $ USD par million (niveau haute résolution), la même image coûte environ 6,48 $ USD pour mille images et l'image 4K environ 23,92 $ USD pour mille images.

Les images haute résolution peuvent utiliser jusqu'à environ trois fois plus de tokens visuels que la même image sur un modèle de niveau standard. Si vous n'avez pas besoin de la fidélité supplémentaire qu'apporte la haute résolution pour l'utilisation de l'ordinateur, la compréhension de captures d'écran et les documents denses, sous-échantillonnez les images avant de les envoyer afin de maîtriser les coûts en tokens. Pour minimiser la latence et simplifier les flux de travail basés sur les coordonnées, privilégiez le redimensionnement des images avant de les téléverser.

Conseils sur la qualité des images

Lorsque vous fournissez des images à Claude, gardez à l'esprit les points suivants pour obtenir les meilleurs résultats :

  • Clarté de l'image : assurez-vous que les images sont nettes et pas trop floues ou pixelisées.
  • Texte : si l'image contient du texte important, assurez-vous qu'il est lisible et pas trop petit. Évitez de rogner un contexte visuel essentiel uniquement pour agrandir le texte.
  • Redimensionnement : tenez compte du fait que votre image peut être redimensionnée si elle est trop grande (voir Résolution et coût en tokens) ; cela peut, par exemple, rendre le texte moins lisible. Envisagez de redimensionner vos images au préalable, de les rogner, ou les deux. Pour qu'une image surdimensionnée soit rejetée avec une erreur au lieu d'être redimensionnée (important pour les flux de travail basés sur les coordonnées), marquez le bloc image avec "oversized_image": "error".
  • Compression d'image : compresser les images avant de les envoyer, à l'aide d'un format avec perte tel que JPEG ou WebP (mode avec perte), peut réduire la latence en diminuant la taille des requêtes. Cependant, cela peut introduire des artefacts préjudiciables aux performances du modèle, en particulier lorsque plusieurs passes de compression sont appliquées. Par exemple, une forte compression JPEG peut rendre le texte difficile à lire. Vérifiez que vos paramètres de compression sont adaptés à la tâche en inspectant les images réellement envoyées à l'API.

Coordonnées et boîtes englobantes

Pour les boîtes englobantes, les points et les coordonnées en pixels, consultez Coordonnées et boîtes englobantes. Claude renvoie des coordonnées absolues en pixels relatives à l'image qu'il voit après redimensionnement ; ce guide explique comment Claude redimensionne et complète les images et comment les redimensionner au préalable ou les remettre à l'échelle afin que les coordonnées correspondent à votre image d'origine.


Limitations

Bien que les capacités de compréhension d'images de Claude soient à la pointe de la technologie, il existe certaines limitations à connaître :

  • Identification de personnes : Claude ne peut pas être utilisé pour nommer des personnes dans des images et refuse de le faire.
  • Précision : Claude peut halluciner ou commettre des erreurs lors de l'interprétation d'images de faible qualité, pivotées ou très petites (moins de 200 pixels).
  • Raisonnement spatial : les sorties de coordonnées et de localisation de Claude sont approximatives. Suivez les conseils de Coordonnées et boîtes englobantes et vérifiez les sorties avant de vous y fier.
  • Comptage : Claude peut fournir des décomptes approximatifs d'objets dans une image, mais peut ne pas toujours être parfaitement exact, en particulier avec un grand nombre de petits objets.
  • Images générées par IA : Claude ne peut pas déterminer si une image a été générée par IA et peut se tromper si on lui pose la question. Ne comptez pas sur lui pour détecter des images fausses ou synthétiques.
  • Contenu inapproprié : Claude ne traite pas les images inappropriées ou explicites qui enfreignent la Politique d'utilisation acceptable.
  • Applications de santé : bien que Claude puisse analyser des images médicales générales, il n'est pas conçu pour interpréter des examens diagnostiques complexes tels que des scanners ou des IRM. Les sorties de Claude ne doivent pas être considérées comme un substitut à un avis médical ou à un diagnostic professionnel.

Examinez et vérifiez toujours attentivement les interprétations d'images de Claude, en particulier pour les cas d'usage à enjeux élevés. N'utilisez pas Claude pour des tâches nécessitant une précision parfaite ou une analyse d'images sensible sans supervision humaine.


FAQ


Étapes suivantes

Obtenez des conseils et des techniques de bonnes pratiques pour des tâches telles que l'interprétation de graphiques et l'extraction de contenu à partir de formulaires.

Consultez la documentation de l'API Messages, y compris des exemples d'appels API impliquant des images.

Was this page helpful?