La famille de modèles Claude 3 est dotée de nouvelles capacités de vision qui permettent à Claude de comprendre et d’analyser des images, ouvrant ainsi des possibilités passionnantes d’interaction multimodale. Avec Claude, vous pouvez désormais fournir à la fois du texte et des images en entrée pour enrichir vos conversations et permettre de nouveaux cas d’utilisation puissants.

Modèles compatibles avec la vision

Vous n’avez pas besoin d’utiliser des versions spéciales de nos modèles Claude 3 pour accéder aux capacités de vision de Claude. Tous les modèles Claude 3 sont capables de comprendre et d’analyser des images.

Ce guide vous expliquera comment travailler avec des images dans Claude, y compris les meilleures pratiques, des exemples de code et les limites à garder à l’esprit.

Essayez dès maintenant de discuter avec des images sur claude.ai !


Premiers pas

Actuellement, vous pouvez utiliser les capacités de vision de Claude de trois manières :

  • Via claude.ai directement dans la fenêtre de chat. Il vous suffit de télécharger une image comme vous le feriez pour un fichier, ou de faire glisser et déposer une image directement dans la fenêtre !
  • Via notre Console Workbench. Si vous sélectionnez un modèle qui accepte les images (modèles Claude 3 uniquement), un bouton pour ajouter des images apparaîtra en haut à droite de chaque bloc de message User.
  • Via une requête API - voir les instructions ci-dessous.

Pour ce guide, nous utiliserons le SDK Python d’Anthropic, et les variables d’exemple suivantes. Nous récupérerons des exemples d’images de Wikipédia en utilisant la bibliothèque httpx, mais vous pouvez utiliser les sources d’images qui vous conviennent.

Python
import anthropic
import base64
import httpx

client = anthropic.Anthropic()

image1_url = "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg"
image1_media_type = "image/jpeg"
image1_data = base64.b64encode(httpx.get(image1_url).content).decode("utf-8")

image2_url = "https://upload.wikimedia.org/wikipedia/commons/b/b5/Iridescent.green.sweat.bee1.jpg"
image2_media_type = "image/jpeg"
image2_data = base64.b64encode(httpx.get(image2_url).content).decode("utf-8")

Pour utiliser des images lors d’une requête API, vous pouvez fournir des images à Claude sous forme d’image encodée en base64 dans des blocs de contenu image. Voici un exemple simple en Python montrant comment inclure une image encodée en base64 dans une requête de l’API Messages :

Python

= client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image1_media_type,
                        "data": image1_data,
                    },
                },
                {
                    "type": "text",
                    "text": "Décrivez cette image."
                }
            ],
        }
    ],
)
print(message)

Les formats d’image pris en charge sont JPEG, PNG, GIF et WebP. Voir les exemples de l’API Messages pour plus d’exemples de code et de détails sur les paramètres.


Taille de l’image

Pour des performances optimales, nous vous recommandons de redimensionner vos images avant de les télécharger s’il est probable qu’elles dépassent les limites de taille ou de tokens. Si le côté le plus long de votre image dépasse 1568 pixels, ou si votre image fait plus de ~1600 tokens, elle sera d’abord réduite, en conservant les proportions, jusqu’à ce qu’elle soit dans les limites de taille. Si votre image d’entrée est trop grande et doit être redimensionnée, cela augmentera la latence du temps jusqu’au premier token, sans vous donner de performances supplémentaires du modèle. Les images très petites de moins de 200 pixels sur n’importe quel bord peuvent entraîner une dégradation des performances.

Si vous voulez améliorer le temps jusqu’au premier token, nous vous recommandons de redimensionner vos images à pas plus de 1,15 mégapixels (et dans les 1568 pixels dans les deux dimensions).

Voici un tableau des tailles d’image maximales acceptées par notre API qui ne seront pas redimensionnées pour les rapports d’aspect courants. Toutes ces images représentent environ ~1600 tokens et ~$4,80/1000 images (en supposant l’utilisation de Claude 3 Sonnet) :

Rapport d’aspectTaille de l’image
1:11092x1092 px
3:4951x1268 px
2:3896x1344 px
9:16819x1456 px
1:2784x1568 px

Meilleures pratiques pour les images

Lorsque vous fournissez des images à Claude, gardez à l’esprit les directives suivantes pour obtenir les meilleurs résultats :

  • Clarté de l’image : Assurez-vous que vos images sont claires et pas trop floues ou pixelisées. Claude peut avoir du mal à interpréter avec précision des images peu claires ou de mauvaise qualité.
  • Placement de l’image : Tout comme pour le placement document-requête, Claude fonctionne mieux lorsque les images viennent avant le texte. Les images placées après le texte ou interpolées avec le texte fonctionneront toujours bien, mais si votre cas d’utilisation le permet, nous recommandons une structure image-puis-texte. Voir les conseils d’incitation à la vision pour plus de détails.
  • Texte : Si votre image contient du texte important, assurez-vous qu’il est lisible et pas trop petit. Cependant, évitez de recadrer le contexte visuel clé juste pour agrandir le texte.
  • Images multiples : Vous pouvez inclure plusieurs images dans une seule requête (jusqu’à 5 pour claude.ai et 20 pour les requêtes API). Claude analysera toutes les images fournies lors de la formulation de sa réponse. Cela peut être utile pour comparer ou contraster des images.

Voir les limitations pour plus de détails et de directives.


Conseils d’incitation

De nombreuses techniques d’incitation qui fonctionnent bien pour les interactions basées sur le texte avec Claude peuvent également être appliquées aux incitations basées sur des images. Voir notre livre de recettes multimodal pour une présentation des techniques de traitement d’images et des cas d’utilisation, avec des techniques et des stratégies d’incitation d’accompagnement.

Voici quelques exemples de structures d’incitation de meilleures pratiques impliquant des images. En général, il est préférable de placer les images plus tôt dans l’incitation que les questions à leur sujet ou les instructions pour les tâches qui les utilisent, et dans les situations où il y a plusieurs images, d’introduire chaque image avec Image 1 : et Image 2 :, etc. Vous n’avez pas besoin de nouvelles lignes entre les images ou entre les images et l’incitation.

1. Exemple : Une image

Voici la structure de l’incitation :

RôleContenu
User[Image] Décrivez cette image.

Voici l’appel API correspondant :

Python
message = client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image1_media_type,
                        "data": image1_data,
                    },
                },
                {
                    "type": "text",
                    "text": "Décrivez cette image."
                }
            ],
        }
    ],
)

2. Exemple : Images multiples

Voici la structure de l’incitation :

RôleContenu
UserImage 1 : [Image 1] Image 2 : [Image 2] En quoi ces images sont-elles différentes ?

Voici l’appel API correspondant :

Python
message = client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "Image 1 :"
                },
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image1_media_type,
                        "data": image1_data,
                    },
                },
                {
                    "type": "text",
                    "text": "Image 2 :"
                },
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image2_media_type,
                        "data": image2_data,
                    },
                },
                {
                    "type": "text",
                    "text": "En quoi ces images sont-elles différentes ?"
                }
            ],
        }
    ],
)

3. Exemple : Images multiples avec une incitation système

Voici la structure de l’incitation :

Contenu
SystemRépondez uniquement en espagnol.
UserImage 1 : [Image 1] Image 2 : [Image 2] En quoi ces images sont-elles différentes ?

Voici l’appel API correspondant :

Python
message = client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1024,
    system="Répondez uniquement en espagnol.",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "Image 1 :"
                },
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image1_media_type,
                        "data": image1_data,
                    },
                },
                {
                    "type": "text",
                    "text": "Image 2 :"
                },
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image2_media_type,
                        "data": image2_data,
                    },
                },
                {
                    "type": "text",
                    "text": "En quoi ces images sont-elles différentes ?"
                }
            ],
        }
    ],
)

4. Exemple : Quatre images sur deux tours de conversation

Les capacités de vision de Claude brillent vraiment dans les conversations multimodales qui mélangent images et texte. Vous pouvez avoir des échanges prolongés avec Claude, en ajoutant de nouvelles images ou des questions de suivi à tout moment. Cela permet des flux de travail puissants pour l’analyse itérative d’images, la comparaison ou la combinaison de visuels avec d’autres connaissances.

Voici un exemple de structure d’incitation :

RôleContenu
UserImage 1 : [Image 1] Image 2 : [Image 2] En quoi ces images sont-elles différentes ?
Assistant[Réponse de Claude]
UserImage 1 : [Image 3] Image 2 : [Image 4] Ces images sont-elles similaires aux deux premières ?
Assistant[Réponse de Claude]

Lorsque vous utilisez l’API, il suffit d’insérer de nouvelles images dans le tableau de Messages dans le rôle user dans le cadre de toute structure standard de conversation à plusieurs tours.


Coûts des images

Chaque image que vous incluez dans une requête à Claude compte dans votre utilisation de tokens. Pour calculer le coût approximatif, multipliez le nombre approximatif de tokens d’image par le prix par token du modèle que vous utilisez. Vous pouvez trouver les détails des prix des modèles sur notre page de tarification.

En supposant que votre image n’a pas besoin d’être redimensionnée, vous pouvez estimer le nombre de tokens utilisés via cet algorithme simple :

tokens = (largeur px * hauteur px)/750

Voici quelques exemples de tokenisation et de coûts approximatifs pour différentes tailles d’images dans les contraintes de taille de notre API, en supposant l’utilisation de Claude 3 Sonnet à $3 par million de tokens d’entrée :

Taille de l’imageNombre de tokensCoût / imageCoût / 1000 images
200x200 px (0,04 mégapixels)~54~$0,00016~$0,16
1000x1000 px (1 mégapixel)~1334~$0,004~$4,00
1092x1092 px (1,19 mégapixels)~1590~$0,0048~$4,80

Limitations

Bien que les capacités de compréhension des images de Claude soient à la pointe de la technologie, il y a certaines limitations dont il faut être conscient :

  • Identification des personnes : Claude ne peut pas être utilisé pour identifier (c’est-à-dire nommer) des personnes sur des images et refusera de le faire.
  • Précision : Claude peut halluciner ou faire des erreurs lors de l’interprétation d’images de mauvaise qualité, pivotées ou très petites de moins de 200 pixels.
  • Raisonnement spatial : Les capacités de raisonnement spatial de Claude sont limitées. Il peut avoir du mal avec les tâches nécessitant une localisation ou des dispositions précises, comme la lecture d’un cadran d’horloge analogique ou la description des positions exactes des pièces d’échecs.
  • Comptage : Claude peut donner des comptes approximatifs d’objets dans une image mais peut ne pas toujours être précisément exact, surtout avec un grand nombre de petits objets.
  • Images générées par l’IA : Claude ne sait pas si une image est générée par l’IA et peut se tromper si on le lui demande. Ne vous fiez pas à lui pour détecter les images fausses ou synthétiques.
  • Contenu inapproprié : Claude ne traitera pas les images inappropriées ou explicites qui violent notre 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 scans diagnostiques complexes tels que les scanners ou les IRM. Les sorties de Claude ne doivent pas être considérées comme un substitut à un avis médical professionnel ou à un diagnostic.

Vérifiez toujours soigneusement les interprétations d’images de Claude, en particulier pour les cas d’utilisation à enjeux élevés. N’utilisez pas Claude pour des tâches nécessitant une précision parfaite ou une analyse d’images sensibles sans surveillance humaine.


FAQ

Quels types de fichiers image Claude prend-il en charge ?

Claude prend actuellement en charge les formats d’image JPEG, PNG, GIF et WebP, plus précisément image/jpeg, image/png, image/gif et image/webp.

Claude peut-il lire les URL d’images ?

Claude ne peut pas lire les URL d’images sur aucune interface, y compris sur claude.ai. Notre API ne prend actuellement pas en charge l’ajout d’URL dans les blocs text ou image. L’ajout d’URL d’images (ou d’URL de tout type) dans le bloc text pourrait amener Claude à halluciner, car Claude est actuellement incapable de récupérer des informations à partir de cette URL.

Y a-t-il une limite à la taille du fichier image que je peux télécharger ?

Oui, la taille maximale autorisée pour un fichier image est de 5 Mo par image (10 Mo par image sur claude.ai). Les images de plus de 5 Mo seront rejetées et renverront une erreur lors de l’utilisation de notre API.

Combien d’images puis-je inclure dans une seule requête ?

Vous pouvez inclure jusqu’à 20 images dans une seule requête via l’API Messages. Vous pouvez inclure jusqu’à 5 images par tour sur claude.ai. Les nombres d’images supérieurs à cette limite seront rejetés et renverront une erreur lors de l’utilisation de notre API.

Claude lit-il les métadonnées des images ?

Non, Claude n’analyse ni ne reçoit aucune métadonnée des images qui lui sont transmises.

Puis-je supprimer les images que j’ai téléchargées ?

Non. De plus, les téléchargements d’images sont éphémères et ne sont pas stockés au-delà de la durée de la requête API. Les images téléchargées sont automatiquement supprimées après avoir été traitées.

Où puis-je trouver plus de détails sur la confidentialité et la sécurité des données pour les téléchargements d’images ?

Veuillez consulter notre page de politique de confidentialité pour obtenir des informations sur la façon dont nous gérons les images téléchargées et les autres données. Nous n’utilisons pas les images téléchargées pour entraîner nos modèles.

Que dois-je faire si l’interprétation d’image de Claude semble erronée ?

Si vous obtenez de Claude une interprétation d’image qui semble incorrecte, vérifiez d’abord que l’image est claire, de haute qualité et correctement orientée. Si le problème persiste, essayez d’améliorer les résultats en utilisant des techniques d’ingénierie des incitations. Si le problème ne peut pas être résolu, veuillez nous le faire savoir en signalant la sortie préoccupante directement dans claude.ai via l’interface pouce vers le haut / bas ou en contactant notre équipe d’assistance. Vos commentaires nous aident à nous améliorer !

Claude peut-il générer, produire, éditer, manipuler ou créer des images ?

Non, Claude est uniquement un modèle de compréhension d’images. Il peut interpréter et analyser des images, mais il ne peut pas générer, produire, éditer, manipuler ou créer des images.


Plongez plus profondément dans la vision

Prêt à commencer à construire avec des images en utilisant Claude ? Voici quelques ressources utiles :

Si vous avez d’autres questions, n’hésitez pas à contacter notre équipe d’assistance. Vous pouvez également rejoindre notre communauté de développeurs pour vous connecter avec d’autres créateurs et obtenir de l’aide des experts d’Anthropic.

Nous sommes impatients de voir ce que vous créerez avec les puissantes nouvelles capacités de vision de Claude !