Invites de comparaison de plusieurs images
Comparez deux images ou plus : différences, similitudes et changements au fil du temps.
Invites de comparaison de plusieurs images est une leçon AI Prompt Engineering gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage AI Prompt Engineering, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours AI Prompt Engineering comprend 4 leçons au total.
Instructions pour plusieurs images
Les modèles de vision peuvent traiter plusieurs images dans un seul appel d’API. Cela permet d’effectuer de puissantes tâches de comparaison :
- Analyse avant/après (photos de produits, rénovations de pièces, imagerie médicale)
- Comparaison de variantes d’un produit (options de couleur, comparaisons de tailles)
- Comparaison de la qualité (sélection de la meilleure photo pour une fiche produit)
- Détection des changements (deux versions d’un document, deux images horodatées)
Les instructions pour plusieurs images nécessitent une structure soigneusement définie afin que le modèle sache quelle image est laquelle et quelle relation analyser.
Envoyer plusieurs images en un seul appel
L’API accepte plusieurs images sous forme de liste d’éléments de contenu. Étiquetez explicitement chaque image :
import anthropic, base64
client = anthropic.Anthropic(api_key='YOUR_API_KEY')
def compare_images(image_path_1, image_path_2, comparison_prompt):
def encode(path):
with open(path, 'rb') as f:
return base64.standard_b64encode(f.read()).decode('utf-8')
r = client.messages.create(
model='claude-opus-4-5', max_tokens=600,
messages=[{'role': 'user', 'content': [
{'type': 'text', 'text': 'IMAGE 1:'},
{'type': 'image', 'source': {'type': 'base64', 'media_type': 'image/jpeg', 'data': encode(image_path_1)}},
{'type': 'text', 'text': 'IMAGE 2:'},
{'type': 'image', 'source': {'type': 'base64', 'media_type': 'image/jpeg', 'data': encode(image_path_2)}},
{'type': 'text', 'text': comparison_prompt}
]}]
)
return r.content[0].text
print('Multi-image comparison function defined.')Instructions de comparaison de deux produits
Comparaison de deux images de produits pour une application destinée aux consommateurs :
product_comparison_prompt = '''
Compare the two product images above (Image 1 and Image 2).
Analyze each of the following dimensions:
1. SIMILARITIES: What features, design elements, or characteristics do both products share?
2. DIFFERENCES: What are the key visual differences? Focus on:
- Color and finish
- Size and proportions (estimate if possible)
- Design style (minimalist, ornate, modern, traditional)
- Materials (if discernible)
- Quality indicators
3. QUALITY ASSESSMENT: Which image appears to show a higher-quality product, and why?
Rate each product 1-10 for apparent quality.
4. USE CASE: Based on appearance alone, which product seems better suited for:
a) Professional/office use
b) Home/casual use
Return your response in this format exactly.
'''
print(product_comparison_prompt)Comparaison avant et après
Les instructions avant/après doivent établir explicitement quelle image correspond à quelle étape et quel est le contexte de la transformation :
before_after_prompt = '''
You are looking at two images: a BEFORE image (Image 1) and an AFTER image (Image 2).
Analyze the transformation:
1. WHAT CHANGED: List all visible changes from Before to After
2. WHAT STAYED THE SAME: List elements that are unchanged
3. QUALITY IMPROVEMENT: Rate the improvement on a scale of 1-10 (1=no improvement, 10=dramatic improvement)
4. REMAINING ISSUES: What could still be improved that the transformation did not address?
Context: This is a [CONTEXT_PLACEHOLDER] before/after comparison.
Return JSON:
{
"changes": ["string"],
"unchanged": ["string"],
"improvement_score": 1-10,
"remaining_issues": ["string"],
"summary": "one sentence summary"
}
'''
# Use contexts: room renovation, product refurbishment, skin care treatment, document cleanup
print('Before/after prompt with JSON output defined.')Sélection de la photo de meilleure qualité
Sélection de la meilleure photo parmi plusieurs options — utile pour le commerce en ligne, les réseaux sociaux et les chaînes éditoriales :
import anthropic, base64, json
client = anthropic.Anthropic(api_key='YOUR_API_KEY')
def select_best_photo(image_paths, use_case='e-commerce product listing'):
def encode(path):
with open(path, 'rb') as f:
return base64.standard_b64encode(f.read()).decode('utf-8')
content = []
for i, path in enumerate(image_paths):
content.append({'type': 'text', 'text': f'IMAGE {i+1}:'})
content.append({'type': 'image', 'source': {'type': 'base64', 'media_type': 'image/jpeg', 'data': encode(path)}})
prompt = f'''
You have received {len(image_paths)} images. Select the best one for: {use_case}
Evaluate each on: lighting, composition, clarity, and suitability for the use case.
Return JSON: {{"best_image": 1-{len(image_paths)}, "score_breakdown": [{{"image_id": int, "score": 1-10, "reason": str}}]}}
'''
content.append({'type': 'text', 'text': prompt})
r = client.messages.create(model='claude-opus-4-5', max_tokens=300, messages=[{'role': 'user', 'content': content}])
return json.loads(r.content[0].text)
print('Photo selection function defined.')Instructions de détection des changements
Détection de changements précis entre deux versions d’une même image — utile pour la gestion des versions de documents, la revue de conception d’interfaces et le suivi :
change_detection_prompt = '''
Compare Image 1 (version A) with Image 2 (version B) of the same item.
Identify ALL changes, no matter how small.
For each change:
- Describe what changed
- Where in the image the change occurs (use quadrant: top-left, top-right, bottom-left, bottom-right, center)
- Classify the change: addition, removal, modification, movement
Return JSON:
{
"total_changes": int,
"changes": [
{
"description": str,
"location": str,
"type": "addition|removal|modification|movement"
}
],
"is_significant_change": true | false
}
If the images appear identical, return: {"total_changes": 0, "changes": [], "is_significant_change": false}
'''
print(change_detection_prompt)Comparaison de conceptions A/B
Comparaison objective de deux variantes de conception — utile pour les décisions concernant l’interface et l’expérience utilisateur, ainsi que pour la direction artistique :
design_comparison_prompt = '''
You are an experienced UX designer reviewing two design variants (Image 1 = Design A, Image 2 = Design B).
Evaluate both designs on:
1. VISUAL HIERARCHY: Which design guides the eye more effectively? Why?
2. READABILITY: Which has better text legibility and information density?
3. BRAND CONSISTENCY: Which feels more professional and polished?
4. USABILITY: Which would be easier for a new user to navigate?
5. EMOTIONAL IMPACT: Which creates a stronger positive first impression?
For each dimension, declare a winner (A or B) and explain in one sentence.
Final verdict: Return JSON:
{
"winner": "A|B|tie",
"dimension_winners": {"visual_hierarchy": str, "readability": str, "brand": str, "usability": str, "emotional": str},
"winning_reasons": [str],
"recommendation": str
}
'''
print('Design comparison prompt defined.')Évaluation structurée de la similarité
Pour les chaînes de traitement automatisées, produisez des scores numériques de similarité entre les images :
similarity_prompt = '''
Compare these two images and provide a structured similarity analysis.
Return JSON:
{
"overall_similarity": 0.0-1.0,
"dimensions": {
"subject_match": 0.0-1.0,
"color_match": 0.0-1.0,
"composition_match": 0.0-1.0,
"style_match": 0.0-1.0
},
"key_differences": [str],
"are_same_item": true | false | "cannot_determine"
}
Scoring: 1.0 = identical, 0.0 = completely different.
'''
import json
def similarity_score(image_path_1, image_path_2):
result_text = compare_images(image_path_1, image_path_2, similarity_prompt)
return json.loads(result_text)
print('Similarity scoring function defined.')
print('Use case: duplicate detection, product matching, visual search.')Gérer plus de deux images
Pour trois images ou plus, structurez les instructions afin de gérer cette complexité supplémentaire :
def multi_image_prompt(n_images):
image_labels = ', '.join(f'Image {i+1}' for i in range(n_images))
return f'''
You have received {n_images} images: {image_labels}.
Rank all {n_images} images from best to worst for use as a product hero image.
For each image, provide:
- Rank (1=best)
- Score 1-10
- Key strengths
- Key weaknesses
Return JSON:
{{
"ranking": [
{{"rank": int, "image_id": int, "score": int, "strengths": [str], "weaknesses": [str]}}
],
"recommended_image": int
}}
'''
# Works for 3, 4, or 5 images
print(multi_image_prompt(3)[:300])Pièges courants des instructions pour plusieurs images
Erreurs courantes lors de l’utilisation de plusieurs images et moyens de les éviter :
- Absence d’étiquettes pour les images : le modèle peut confondre les images — ajoutez toujours le texte IMAGE 1: avant chaque image
- Absence de cadre de comparaison : demander une comparaison sans préciser les dimensions produit un résultat dispersé — indiquez exactement les éléments à comparer
- Contexte manquant : les instructions avant/après nécessitent le contexte de la transformation (rénovation d’une pièce, et non simplement deux photos de pièce)
- Trop d’images : la qualité diminue à partir de 6 images — traitez-les par lots de 2 à 4
- Oubli de la sortie JSON : une comparaison en prose est difficile à analyser — demandez toujours une sortie JSON structurée pour les chaînes de traitement
Analyse temporelle d’une séquence d’images
Lorsque les images représentent une séquence temporelle (contrôles hebdomadaires, avancement d’une construction, suivis médicaux), l’instruction de comparaison doit analyser explicitement la progression au fil du temps :
temporal_prompt = '''
You are analyzing a sequence of images taken over time.
Image 1 = earliest, Image 2 = most recent.
Analyze the progression:
1. PROGRESS: What improvements or changes occurred from earliest to most recent?
2. REGRESSION: Any deterioration or negative changes?
3. RATE: Is the rate of change faster, slower, or as expected?
4. TRAJECTORY: Based on the trend, what is the likely state in the next period?
Return JSON:
{
"progress": [str],
"regression": [str],
"change_rate": "faster|on_track|slower|stalled",
"trajectory": str,
"next_period_prediction": str
}
'''
print("Temporal sequence analysis prompt defined.")
print("Use cases: fitness progress, construction tracking, medical imaging follow-up.")Vérification rapide
Quel est l’élément structurel le plus important à inclure dans une instruction de comparaison de plusieurs images ?
Comparaison de plusieurs images — Points clés
Les instructions de comparaison de plusieurs images permettent d’effectuer de puissantes analyses visuelles :
- Étiquetez toujours explicitement les images avec du texte avant chaque image dans le tableau de contenu
- Précisez les dimensions de la comparaison — hiérarchie visuelle, qualité, similarité — plutôt que de demander une comparaison générique
- Les instructions avant/après nécessitent le contexte de la transformation (quel changement s’est produit)
- Utilisez une sortie JSON structurée pour les chaînes de traitement — scores de similarité, listes classées, détection des changements
- La comparaison de produits, la sélection de photos de qualité et la revue de conceptions A/B sont des cas d’utilisation à forte valeur ajoutée
- Limitez les lots à 2 à 4 images maximum — la qualité diminue au-delà
- Les instructions de détection des changements doivent classer chaque changement par type : ajout, suppression, modification, déplacement
Apprends AI Prompt Engineering avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 53
- Leçons
- 199
Questions Fréquemment Posées
La leçon « Invites de comparaison de plusieurs images » est-elle gratuite ?
Oui — le texte complet de « Invites de comparaison de plusieurs images » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours AI Prompt Engineering, passe à CoddyKit PRO. Le cours AI Prompt Engineering comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Invites de comparaison de plusieurs images » ?
Comparez deux images ou plus : différences, similitudes et changements au fil du temps. Tu pratiques AI Prompt Engineering avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer AI Prompt Engineering ?
Aucune expérience préalable n'est requise. AI Prompt Engineering sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « Invites de comparaison de plusieurs images » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon AI Prompt Engineering ?
Oui. Chaque leçon AI Prompt Engineering inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Invites de description et de légendage d’images
- Réponses aux questions visuelles
- Invites de comparaison de plusieurs images
- Invites d’OCR et d’analyse de documents