Support des images
Les capacites de vision de Claude permettent d’inclure des images dans les messages et de lui demander de les analyser de multiples facons : description du contenu, comparaison d’images, comptage d’objets, analyse visuelle complexe, etc.
Limites et specifications techniques
Avant de commencer, voici les contraintes a connaitre :
| Parametre | Limite |
|---|---|
| Nombre max d’images par requete | 100 (tous messages confondus) |
| Taille max par image | 5 Mo |
| Dimensions max (1 seule image) | 8000 x 8000 px |
| Dimensions max (plusieurs images) | 2000 x 2000 px |
| Formats acceptes | base64 ou URL |
| Calcul des tokens | (largeur px x hauteur px) / 750 |
Envoyer une image a Claude
Pour inclure une image, on ajoute un bloc image dans le message utilisateur, a cote des blocs texte. Voici la structure :
import base64
# Charger et encoder l'image en base64
with open("image.png", "rb") as f:
image_bytes = base64.standard_b64encode(f.read()).decode("utf-8")
# Construire le message avec image + texte
add_user_message(messages, [
# Bloc image
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/png",
"data": image_bytes,
}
},
# Bloc texte
{
"type": "text",
"text": "Que voyez-vous dans cette image ?"
}
])
La conversation fonctionne exactement comme avec du texte seul : le serveur envoie un message utilisateur contenant les blocs image et texte, et Claude repond avec son analyse.
Techniques de prompting pour les images
La cle pour obtenir de bons resultats avec les images est d’appliquer les memes techniques de prompt engineering qu’avec le texte. Un prompt simple donne souvent des resultats mediocres.
Par exemple, demander simplement “Combien de billes y a-t-il dans cette image ?” peut renvoyer un compte incorrect.
On peut ameliorer nettement la precision en :
- Fournissant des directives detaillees et des etapes d’analyse
- Utilisant des exemples one-shot ou multi-shot
- Decomposant les taches complexes en sous-etapes
Analyse etape par etape
Plutot qu’une question simple, on fournit a Claude une methodologie :
Analyze this image of marbles and determine the exact count using this methodology:
1. Begin by identifying each unique marble one at a time. Assign each a number
as you identify it.
2. Verify your result by counting with a different method. Start from the
bottom-left corner and work row by row, from left to right.
What is the exact, verified number of marbles in this image?
Exemples one-shot
On peut aussi ameliorer la precision en fournissant des exemples dans le message. On inclut une image avec un resultat connu, on donne la bonne reponse, puis on pose la question sur l’image cible. Cela donne a Claude un point de reference pour le type d’analyse attendu.
Cas pratique : evaluation du risque incendie
Voici une application concrete : l’automatisation des evaluations de risque incendie pour l’assurance habitation. Au lieu d’envoyer des inspecteurs sur chaque propriete, les assureurs peuvent utiliser des images satellite et l’analyse de Claude.
Le systeme analyse les images satellite pour identifier :
- Vegetation dense et arbres serres pres de la residence
- Acces difficiles pour les services d’urgence
- Branches surplombant la residence
Plutot qu’un prompt simpliste (“donne un score de risque incendie”), un prompt bien structure decompose l’analyse en etapes specifiques :
Analyze the attached satellite image of a property with these specific steps:
1. Residence identification: Locate the primary residence on the property
by looking for:
- The largest roofed structure
- Typical residential features (driveway connection, regular geometry)
- Distinction from other structures (garages, sheds, pools)
2. Tree overhang analysis: Examine all trees near the primary residence:
- Identify any trees whose canopy extends directly over any portion of
the roof
- Estimate the percentage of roof covered by overhanging branches
(0-25%, 25-50%, 50-75%, 75%+)
- Note particularly dense areas of overhang
3. Fire risk assessment: For any overhanging trees, evaluate:
- Potential wildfire vulnerability (ember catch points, continuous fuel
paths to structure)
- Proximity to chimneys, vents, or other roof openings if visible
- Areas where branches create a "bridge" between wildland vegetation
and the structure
4. Defensible space identification: Assess the property's overall
vegetative structure:
- Identify if trees connect to form a continuous canopy over or near
the home
- Note any obvious fuel ladders (vegetation that can carry fire from
ground to tree to roof)
5. Fire risk rating: Based on your analysis, assign a Fire Risk Rating
from 1-4:
- Rating 1 (Low Risk): No tree branches overhanging the roof, good
defensible space
- Rating 2 (Moderate Risk): Minimal overhang (<25% of roof), some
separation between canopies
- Rating 3 (High Risk): Significant overhang (25-50% of roof),
connected canopies
- Rating 4 (Severe Risk): Extensive overhang (>50% of roof), dense
vegetation against structure
For each item above (1-5), write one sentence summarizing your findings,
with your final response being the numerical rating.
Ce prompt detaille guide Claude a travers une analyse systematique, ce qui donne des evaluations bien plus precises qu’une simple requete.
A retenir
Les memes techniques de prompting qui fonctionnent pour le texte s’appliquent aux images. Investissez du temps dans la redaction de prompts detailles et structures plutot que de vous reposer sur des questions simples si vous voulez des resultats fiables.
Exercice pratique
- Envoyez une image simple a Claude via l’API et demandez une description
- Testez avec un prompt simple vs un prompt structure sur la meme image
- Implementez un exemple one-shot : fournissez une image annotee puis demandez l’analyse d’une seconde image
- Creez un pipeline d’analyse d’images satellite (ou de photos produit) avec un prompt multi-etapes
- Mesurez l’impact du prompt engineering sur la qualite des reponses