Solicitações para comparação de várias imagens
Compare duas ou mais imagens: diferenças, semelhanças e mudanças ao longo do tempo.
Solicitações para comparação de várias imagens é uma aula grátis de AI Prompt Engineering no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de AI Prompt Engineering, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de AI Prompt Engineering inclui 4 aulas no total.
Instruções com várias imagens
Os modelos de visão podem processar várias imagens em uma única chamada à API. Isso permite tarefas de comparação poderosas:
- Análise de antes e depois (fotos de produtos, reformas de cômodos, imagens médicas)
- Comparação de variantes de produtos (opções de cores, comparações de tamanhos)
- Comparação de qualidade (seleção da melhor foto para um anúncio)
- Detecção de alterações (duas versões de um documento, duas imagens com marcação de data e hora)
As instruções com várias imagens exigem uma estrutura cuidadosa para que o modelo saiba qual é cada imagem e qual relação deve analisar.
Enviando várias imagens em uma única chamada
A API aceita várias imagens como uma lista de itens de conteúdo. Rotule cada imagem explicitamente:
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.')Instrução para comparação de dois produtos
Comparação de duas imagens de produtos para uma aplicação voltada ao consumidor:
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)Comparação de antes e depois
As instruções de antes e depois precisam estabelecer explicitamente qual é cada imagem e qual é o contexto da transformação:
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.')Seleção da foto de melhor qualidade
Seleção da melhor foto entre várias opções — útil para fluxos de trabalho de comércio eletrônico, redes sociais e publicação:
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.')Instrução para detecção de alterações
Detecção de alterações específicas entre duas versões da mesma imagem — útil para controle de versões de documentos, revisão de projetos de interface e monitoramento:
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)Comparação de projetos A/B
Comparação objetiva de duas variantes de um projeto — útil para decisões de UI/UX e direção criativa:
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.')Pontuação estruturada de similaridade
Para fluxos de processamento automatizados, produza pontuações numéricas de similaridade entre imagens:
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.')Lidando com mais de duas imagens
Para três ou mais imagens, estruture a instrução para lidar com a complexidade adicional:
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])Armadilhas comuns em instruções com várias imagens
Erros comuns ao trabalhar com várias imagens e como evitá-los:
- Sem rótulos nas imagens: o modelo pode confundir qual é cada imagem — sempre coloque o texto IMAGE 1: antes de cada imagem
- Sem critérios de comparação: pedir uma comparação sem especificar as dimensões produz uma saída sem foco — liste exatamente o que deve ser comparado
- Contexto ausente: as instruções de antes e depois precisam do contexto da transformação (reforma de um cômodo, não apenas duas fotos de cômodos)
- Imagens demais: a qualidade diminui com 6 ou mais imagens — processe-as em lotes de 2 a 4
- Esquecer a saída em JSON: uma comparação em prosa é difícil de analisar — sempre solicite JSON estruturado para fluxos de processamento
Análise temporal de uma sequência de imagens
Quando as imagens representam uma sequência temporal (acompanhamentos semanais, progresso de uma construção, acompanhamentos médicos), a instrução de comparação deve analisar explicitamente a progressão ao longo do tempo:
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.")Verificação rápida
Qual é o elemento estrutural mais importante a incluir em uma instrução de comparação de várias imagens?
Comparação de várias imagens — Principais conclusões
As instruções de comparação de várias imagens permitem recursos avançados de análise visual:
- Rotule sempre as imagens explicitamente com texto antes de cada imagem na matriz de conteúdo
- Especifique as dimensões da comparação — hierarquia visual, qualidade, similaridade — em vez de pedir uma comparação genérica
- As instruções de antes e depois precisam do contexto da transformação (que tipo de alteração ocorreu)
- Use uma saída estruturada em JSON para fluxos de processamento — pontuações de similaridade, listas ordenadas, detecção de alterações
- A comparação de produtos, a seleção da foto de melhor qualidade e a revisão de projetos A/B são casos de uso de alto valor
- Limite os lotes a no máximo 2 a 4 imagens — a qualidade diminui com mais imagens
- As instruções de detecção de alterações devem classificar cada alteração por tipo: adição, remoção, modificação, movimento
Perguntas Frequentes
A aula “Solicitações para comparação de várias imagens” é grátis?
Sim — o texto completo de “Solicitações para comparação de várias imagens” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de AI Prompt Engineering, atualize para CoddyKit PRO. O curso de AI Prompt Engineering inclui 4 aulas no total.
O que vou aprender em “Solicitações para comparação de várias imagens”?
Compare duas ou mais imagens: diferenças, semelhanças e mudanças ao longo do tempo. Você pratica AI Prompt Engineering com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar AI Prompt Engineering?
Nenhuma experiência prévia é necessária. AI Prompt Engineering no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “Solicitações para comparação de várias imagens”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de AI Prompt Engineering?
Sim. Cada aula de AI Prompt Engineering inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Solicitações para descrição e legendagem de imagens
- Perguntas e respostas visuais
- Solicitações para comparação de várias imagens
- Solicitações para OCR e análise de documentos