Este guia descreve como trabalhar com imagens no Claude, incluindo melhores práticas, exemplos de código e limitações a serem consideradas.
Use as capacidades de visão do Claude através de:
Você pode incluir várias imagens em uma única solicitação: até 20 para claude.ai, e até 600 para solicitações de API (100 para modelos com uma janela de contexto de 200k tokens). Claude analisa todas as imagens fornecidas ao formular sua resposta. Isso pode ser útil para comparar ou contrastar imagens.
Se você enviar uma imagem maior que 8000x8000 px, ela será rejeitada. Se você enviar mais de 20 imagens em uma solicitação de API, este limite é 2000x2000 px.
Embora a API suporte até 600 imagens por solicitação, limites de tamanho de solicitação (32 MB para endpoints padrão; menor em algumas plataformas de terceiros) podem ser atingidos primeiro. Para muitas imagens, considere fazer upload com a Files API e referenciar por file_id para manter os payloads de solicitação pequenos.
Mesmo ao usar a Files API, solicitações com muitas imagens grandes podem falhar antes de atingir a contagem de 600 imagens. Reduza as dimensões da imagem ou tamanhos de arquivo (por exemplo, por downsampling) antes de fazer upload (veja Avaliar tamanho da imagem).
Para minimizar a latência sem sacrificar a qualidade da saída, redimensione as imagens antes de fazer upload se forem muito grandes. No Claude Opus 4.6, Claude Sonnet 4.6 e modelos anteriores, se a borda longa da sua imagem tiver mais de 1568 pixels, ou sua imagem tiver mais de ~1.600 tokens, ela será primeiro reduzida, preservando a proporção de aspecto, até estar dentro dos limites de tamanho.
Se sua imagem de entrada for muito grande e precisar ser redimensionada, isso aumenta a latência do time-to-first-token, sem benefício para a qualidade da saída. Imagens muito pequenas com menos de 200 pixels em qualquer borda podem degradar a qualidade da saída.
Para modelos anteriores ao Claude Opus 4.7, para melhorar o time-to-first-token, considere redimensionar imagens para no máximo 1,15 megapixels (e dentro de 1568 pixels em ambas as dimensões). Para Claude Opus 4.7, veja Suporte de imagem de alta resolução abaixo.
Claude Opus 4.7 é o primeiro modelo Claude com suporte de imagem de alta resolução. A resolução máxima de imagem é 2576 pixels na borda longa (acima de 1568 px em modelos anteriores). Isso desbloqueia ganhos de desempenho em cargas de trabalho pesadas em visão e é particularmente valioso para uso de computador, compreensão de capturas de tela e análise de documentos.
O suporte de alta resolução é automático no Claude Opus 4.7 e não requer cabeçalho beta ou opt-in do lado do cliente.
Custo de token: Imagens em resolução completa no Claude Opus 4.7 podem usar até aproximadamente 3x mais tokens de imagem do que em modelos anteriores (até 4784 tokens por imagem, em comparação com o limite anterior de aproximadamente ~1.600 tokens por imagem). Se você não precisar da fidelidade adicional, faça downsampling das imagens antes de enviar para controlar os custos de token.
Matemática de coordenadas: No Claude Opus 4.7, as coordenadas de apontamento e caixa delimitadora retornadas pelo modelo são 1
com pixels de imagem reais, portanto nenhuma conversão de fator de escala é necessária. Isso simplifica fluxos de trabalho de uso de computador, anotação e localização.Aqui está uma tabela de tamanhos máximos de imagem aceitos pela API que não serão redimensionados para proporções de aspecto comuns. Com Claude Sonnet 4.6, essas imagens usam aproximadamente 1.600 tokens e cerca de $4,80/1k imagens.
| Proporção de aspecto | Tamanho da imagem |
|---|---|
| 1:1 | 1092x1092 px |
| 3:4 | 951x1268 px |
| 2:3 | 896x1344 px |
| 9:16 | 819x1456 px |
| 1:2 | 784x1568 px |
Cada imagem que você inclui em uma solicitação ao Claude conta para seu uso de tokens. Para calcular o custo aproximado, multiplique o número aproximado de tokens de imagem pelo preço por token do modelo que você está usando.
Se sua imagem não precisar ser redimensionada, você pode estimar o número de tokens usados através deste algoritmo: tokens = (width px * height px)/750
Aqui estão exemplos de tokenização aproximada e custos para diferentes tamanhos de imagem dentro das restrições de tamanho da API com base no preço por token do Claude Sonnet 4.6 de $3 por milhão de tokens de entrada:
| Tamanho da imagem | # de Tokens | Custo / imagem | Custo / 1k imagens |
|---|---|---|---|
| 200x200 px(0,04 megapixels) | ~54 | ~$0,00016 | ~$0,16 |
| 1000x1000 px(1 megapixel) | ~1334 | ~$0,004 | ~$4,00 |
| 1092x1092 px(1,19 megapixels) | ~1590 | ~$0,0048 | ~$4,80 |
Ao fornecer imagens ao Claude, tenha em mente o seguinte para melhores resultados:
Muitas das técnicas de prompt que funcionam bem para interações baseadas em texto com Claude também podem ser aplicadas a prompts baseados em imagem.
Esses exemplos demonstram estruturas de prompt de melhores práticas envolvendo imagens.
Assim como colocar documentos longos antes de sua consulta melhora os resultados em prompts de texto, Claude funciona melhor quando as imagens vêm antes do texto. Imagens colocadas após texto ou interpoladas com texto ainda funcionam bem, mas se seu caso de uso permitir, prefira uma estrutura de imagem-depois-texto.
Os exemplos a seguir demonstram como usar as capacidades de visão do Claude usando várias linguagens de programação e abordagens. Você pode fornecer imagens ao Claude de três maneiras:
imageOs prompts de exemplo base64 usam estas variáveis:
import base64
import httpx
# Para imagens codificadas em 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")
# Para imagens baseadas em URL, você pode usar as URLs diretamente em suas solicitaçõesAbaixo estão exemplos de como incluir imagens em uma solicitação da Messages API usando imagens codificadas em base64 e referências de URL:
image1_data = "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR4nGP4z8AAAAMBAQDJ/pLvAAAAAElFTkSuQmCC"
image1_media_type = "image/png"
client = anthropic.Anthropic()
message = client.messages.create(
model="claude-opus-4-7",
max_tokens=1024,
messages=[
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "base64",
"media_type": image1_media_type,
"data": image1_data,
},
},
{"type": "text", "text": "Describe this image."},
],
}
],
)
print(message)client = anthropic.Anthropic()
message = client.messages.create(
model="claude-opus-4-7",
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."},
],
}
],
)
print(message)Para imagens que você usará repetidamente ou quando quiser evitar a sobrecarga de codificação, use a API de Arquivos. Faça upload da imagem uma vez e, em seguida, referencie o file_id retornado em mensagens subsequentes em vez de resender dados em base64.
Em conversas com múltiplos turnos e fluxos de trabalho com agentes, cada
solicitação reenvia o histórico completo da conversa. Se as imagens forem
codificadas em base64, os bytes completos da imagem serão incluídos na carga
útil a cada turno, o que pode aumentar significativamente o tamanho da
solicitação e a latência conforme a conversa cresce. Fazer upload de imagens
para a API de Arquivos e referenciá-las por file_id mantém as cargas úteis
de solicitação pequenas, independentemente de quantas imagens se acumulem no
histórico da conversa.
client = anthropic.Anthropic()
# Faça upload do arquivo de imagem
with open("image.jpg", "rb") as f:
file_upload = client.beta.files.upload(file=("image.jpg", f, "image/jpeg"))
# Use o arquivo enviado em uma mensagem
message = client.beta.messages.create(
model="claude-opus-4-7",
max_tokens=1024,
betas=["files-api-2025-04-14"],
messages=[
{
"role": "user",
"content": [
{
"type": "image",
"source": {"type": "file", "file_id": file_upload.id},
},
{"type": "text", "text": "Describe this image."},
],
}
],
)
print(message.content)Veja exemplos da API de Mensagens para mais exemplos de código e detalhes de parâmetros.
Embora as capacidades de compreensão de imagens do Claude sejam de ponta, existem algumas limitações a serem consideradas:
Sempre revise e verifique cuidadosamente as interpretações de imagens do Claude, especialmente para casos de alto risco. Não use Claude para tarefas que exigem precisão perfeita ou análise de imagem sensível sem supervisão humana.
Pronto para começar a construir com imagens usando Claude? Aqui estão alguns recursos úteis:
Se você tiver outras dúvidas, entre em contato com a equipe de suporte. Você também pode se juntar à comunidade de desenvolvedores para se conectar com outros criadores e obter ajuda de especialistas da Anthropic.
Was this page helpful?