Vision
Ce guide décrit comment travailler avec des images dans Claude, y compris les meilleures pratiques, des exemples de code et les limitations à garder à l'esprit.
Comment utiliser la vision
Utilisez les capacités de vision de Claude via :
- claude.ai. Téléchargez une image comme vous le feriez pour un fichier, ou glissez-déposez une image directement dans la fenêtre de chat.
- Le Console Workbench. Si vous sélectionnez un modèle qui accepte les images (modèles Claude 3 et 4 uniquement), un bouton pour ajouter des images apparaît en haut à droite de chaque bloc de message utilisateur.
- Requête API. Voir les exemples dans ce guide.
Avant de télécharger
Bases et limites
Vous pouvez inclure plusieurs images dans une seule requête (jusqu'à 20 pour claude.ai et 100 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.
Si vous soumettez une image plus grande que 8000x8000 px, elle sera rejetée. Si vous soumettez plus de 20 images dans une requête API, cette limite est de 2000x2000 px.
Bien que l'API supporte 100 images par requête, il existe une limite de taille de requête de 32 Mo pour les points de terminaison standard.
Évaluer la taille de l'image
Pour des performances optimales, nous recommandons de redimensionner les images avant de les télécharger si elles sont trop grandes. Si le bord long de votre image dépasse 1568 pixels, ou si votre image dépasse environ 1 600 jetons, elle sera d'abord réduite, en préservant le rapport d'aspect, 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 time-to-first-token, sans vous donner de performance de modèle supplémentaire. Les très petites images de moins de 200 pixels sur un bord donné peuvent dégrader les performances.
Pour améliorer le time-to-first-token, nous recommandons de redimensionner les images à pas plus de 1,15 mégapixels (et dans 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. Avec le modèle Claude Sonnet 3.7, ces images utilisent environ 1 600 jetons et environ 4,80 $/1K images.
| Rapport d'aspect | Taille de l'image |
|---|---|
| 1 | 1092x1092 px |
| 3 | 951x1268 px |
| 2 | 896x1344 px |
| 9 | 819x1456 px |
| 1 | 784x1568 px |
Calculer les coûts des images
Chaque image que vous incluez dans une requête à Claude compte dans votre utilisation de jetons. Pour calculer le coût approximatif, multipliez le nombre approximatif de jetons d'image par le prix par jeton du modèle que vous utilisez.
Si votre image n'a pas besoin d'être redimensionnée, vous pouvez estimer le nombre de jetons utilisés via cet algorithme : jetons = (largeur px * hauteur px)/750
Voici des exemples de tokenisation approximative et de coûts pour différentes tailles d'image dans les contraintes de taille de notre API basées sur le prix par jeton de Claude Sonnet 3.7 de 3 $ par million de jetons d'entrée :
| Taille de l'image | Nombre de jetons | Coût / image | Coût / 1K 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 $ |
Assurer la qualité de l'image
Lorsque vous fournissez des images à Claude, gardez à l'esprit les points suivants pour de meilleurs résultats :
- Format d'image : Utilisez un format d'image pris en charge : JPEG, PNG, GIF ou WebP.
- Clarté de l'image : Assurez-vous que les images sont claires 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 recadrer le contexte visuel clé juste pour agrandir le texte.
Exemples de prompts
Beaucoup des techniques d'invite qui fonctionnent bien pour les interactions basées sur du texte avec Claude peuvent également être appliquées aux invites basées sur des images.
Ces exemples démontrent les meilleures structures d'invite impliquant des images.
Tout comme avec le placement de requête de document, 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'usage le permet, nous recommandons une structure image-puis-texte.
À propos des exemples d'invite
Les exemples suivants démontrent comment utiliser les capacités de vision de Claude en utilisant divers langages de programmation et approches. Vous pouvez fournir des images à Claude de trois façons :
- Comme une image codée en base64 dans les blocs de contenu
image - Comme une référence URL à une image hébergée en ligne
- En utilisant l'API Files (télécharger une fois, utiliser plusieurs fois)
Les invites d'exemple base64 utilisent ces variables :
# Pour les images basées sur URL, vous pouvez utiliser l'URL directement dans votre requête JSON
# Pour les images codées en base64, vous devez d'abord encoder l'image
# Exemple de comment encoder une image en base64 en bash :
BASE64_IMAGE_DATA=$(curl -s "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg" | base64)
# Les données codées peuvent maintenant être utilisées dans vos appels APIimport base64
import httpx
# Pour les images codées en base64
image1_url = "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg"
image1_media_type = "image/jpeg"
image1_data = base64.standard_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.standard_b64encode(httpx.get(image2_url).content).decode("utf-8")
# Pour les images basées sur URL, vous pouvez utiliser les URL directement dans vos requêtesimport axios from 'axios';
// Pour les images codées en base64
async function getBase64Image(url: string): Promise<string> {
const response = await axios.get(url, { responseType: 'arraybuffer' });
return Buffer.from(response.data, 'binary').toString('base64');
}
// Utilisation
async function prepareImages() {
const imageData = await getBase64Image('https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg');
// Maintenant vous pouvez utiliser imageData dans vos appels API
}
// Pour les images basées sur URL, vous pouvez utiliser les URL directement dans vos requêtesimport java.io.IOException;
import java.util.Base64;
import java.io.InputStream;
import java.net.URL;
public class ImageHandlingExample {
public static void main(String[] args) throws IOException, InterruptedException {
// Pour les images codées en base64
String image1Url = "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg";
String image1MediaType = "image/jpeg";
String image1Data = downloadAndEncodeImage(image1Url);
String image2Url = "https://upload.wikimedia.org/wikipedia/commons/b/b5/Iridescent.green.sweat.bee1.jpg";
String image2MediaType = "image/jpeg";
String image2Data = downloadAndEncodeImage(image2Url);
// Pour les images basées sur URL, vous pouvez utiliser les URL directement dans vos requêtes
}
private static String downloadAndEncodeImage(String imageUrl) throws IOException {
try (InputStream inputStream = new URL(imageUrl).openStream()) {
return Base64.getEncoder().encodeToString(inputStream.readAllBytes());
}
}
}Voici des exemples de comment inclure des images dans une requête Messages API en utilisant des images codées en base64 et des références URL :
Exemple d'image codée en base64
curl https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-4-5",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/jpeg",
"data": "'"$BASE64_IMAGE_DATA"'"
}
},
{
"type": "text",
"text": "Describe this image."
}
]
}
]
}'Exemple d'image basée sur URL
curl https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-4-5",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "url",
"url": "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg"
}
},
{
"type": "text",
"text": "Describe this image."
}
]
}
]
}'Exemple d'image avec l'API Files
Pour les images que vous utiliserez à plusieurs reprises ou lorsque vous voulez éviter les frais généraux d'encodage, utilisez l'API Files :
# D'abord, téléchargez votre image vers l'API Files
curl -X POST https://api.anthropic.com/v1/files \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: files-api-2025-04-14" \
-F "[email protected]"
# Ensuite, utilisez le file_id retourné dans votre message
curl https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: files-api-2025-04-14" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-4-5",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "file",
"file_id": "file_abc123"
}
},
{
"type": "text",
"text": "Describe this image."
}
]
}
]
}'Voir Exemples d'API Messages pour plus d'exemples de code et de détails sur les paramètres.
Limitations
Bien que les capacités de compréhension d'images de Claude soient à la pointe de la technologie, il y a quelques limitations à connaître :
- Identification des personnes : Claude ne peut pas être utilisé pour identifier (c'est-à-dire nommer) les personnes dans les 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é, tourné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 précise ou des mises en page, comme lire le cadran d'une horloge analogique ou décrire les positions exactes des pièces d'échecs.
- Comptage : Claude peut donner des comptages approximatifs d'objets dans une image mais peut ne pas toujours être précis, en particulier 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 lui demande. Ne comptez pas sur 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 les images médicales générales, il n'est pas conçu pour interpréter les analyses diagnostiques complexes telles que les tomodensitométries ou les IRM. Les résultats de Claude ne doivent pas être considérés comme un substitut aux conseils ou diagnostics médicaux professionnels.
Examinez toujours attentivement et vérifiez les interprétations d'images de Claude, en particulier pour les cas d'usage à enjeux élevés. N'utilisez pas Claude pour les tâches nécessitant une précision parfaite ou l'analyse d'images sensibles sans surveillance humaine.
FAQ
Approfondissez votre compréhension de la vision
Prêt à commencer à construire avec des images en utilisant Claude ? Voici quelques ressources utiles :
- Multimodal cookbook : Ce cookbook contient des conseils sur la prise en main des images et les techniques de meilleures pratiques pour assurer les meilleures performances avec les images. Découvrez comment vous pouvez inviter efficacement Claude avec des images pour effectuer des tâches telles que l'interprétation et l'analyse de graphiques ou l'extraction de contenu à partir de formulaires.
- Référence API : Visitez notre documentation pour l'API Messages, y compris les exemples d'appels API impliquant des images.
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.