Este guia descreve como enviar imagens ao Claude, os limites e custos aplicáveis, e onde encontrar orientações para fluxos de trabalho baseados em coordenadas.
Use as capacidades de visão do Claude por meio de:
Na API, forneça imagens ao Claude como blocos de conteúdo image usando um dos três tipos de origem:
file_id retornado pela Files API (faça upload uma vez, referencie várias vezes)No Amazon Bedrock e no Google Cloud, apenas origens codificadas em base64 estão disponíveis atualmente.
Assim como colocar documentos longos antes da sua consulta melhora os resultados em prompts de texto, o Claude funciona melhor quando as imagens vêm antes do texto. Imagens colocadas após o texto ou intercaladas com texto ainda funcionam bem, mas se o seu caso de uso permitir, prefira uma estrutura de imagem-depois-texto.
image1_data = "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR4nGP4z8AAAAMBAQDJ/pLvAAAAAElFTkSuQmCC"
image1_media_type = "image/png"
client = anthropic.Anthropic()
message = client.messages.create(
model="claude-opus-4-8",
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-8",
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 Files API. Faça upload da imagem uma vez e, em seguida, referencie o file_id retornado em mensagens subsequentes em vez de reenviar dados em base64.
Em conversas de múltiplos turnos e fluxos de trabalho agênticos, cada requisição reenvia
o histórico completo da conversa. Se as imagens estiverem codificadas em base64, os bytes
completos da imagem são incluídos no payload a cada turno, o que pode aumentar
significativamente o tamanho da requisição e a latência à medida que a conversa cresce.
Fazer upload de imagens para a Files API e referenciá-las por file_id mantém os payloads
das requisições pequenos, 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-8",
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)Consulte exemplos da Messages API para mais exemplos de código e detalhes de parâmetros.
Você pode incluir múltiplas imagens em uma única requisição, e o Claude as analisa em conjunto. Isso é útil para comparar imagens, perguntar sobre diferenças ou trabalhar com uma sequência, como páginas de um documento. Ao enviar várias imagens, introduza cada uma com um rótulo de texto curto (Image 1:, Image 2:, e assim por diante) para que você possa se referir a elas pelo nome no seu prompt e em turnos subsequentes.
client = anthropic.Anthropic()
message = client.messages.create(
model="claude-opus-4-8",
max_tokens=1024,
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "Image 1:"},
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/png",
"data": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR4nGP4z8AAAAMBAQDJ/pLvAAAAAElFTkSuQmCC",
},
},
{"type": "text", "text": "Image 2:"},
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/png",
"data": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR4nGNgYPgPAAEDAQAIicLsAAAAAElFTkSuQmCC",
},
},
{"type": "text", "text": "How are these images different?"},
],
}
],
)
print(message)Em uma conversa de múltiplos turnos, adicione novas imagens em turnos user posteriores da mesma forma. O Claude tem acesso a todas as imagens de turnos anteriores, então perguntas de acompanhamento como "Estas são semelhantes às duas primeiras?" funcionam sem incluir as imagens anteriores novamente no conteúdo do novo turno.
O número máximo de imagens por mensagem ou requisição é:
As dimensões máximas por imagem são 8000x8000 px.
Se uma única requisição de API contiver mais de 20 imagens, um limite de dimensão por imagem mais restrito é aplicado. No Amazon Bedrock e no Google Cloud, blocos de documentos como PDFs também contam para esse limite. Imagens que excedem o limite mais restrito são rejeitadas com um invalid_request_error cuja mensagem faz referência a "many-image requests" e indica o limite atual em pixels. Para ficar abaixo do limite em todas as plataformas, redimensione cada imagem para que nenhuma dimensão exceda 2000 px, ou mantenha a requisição com 20 ou menos blocos de imagem e documento.
O tamanho máximo por imagem é:
Embora a API suporte até 600 imagens por requisição, os limites de tamanho de requisição (32 MB para endpoints padrão; menor em algumas plataformas operadas por parceiros, por exemplo, Amazon Bedrock e Google Cloud) podem ser atingidos primeiro. Para muitas imagens, considere fazer upload com a Files API e referenciar por file_id para manter os payloads das requisições pequenos.
Mesmo ao usar a Files API, requisições com muitas imagens grandes podem falhar antes de atingir a contagem de 600 imagens. Reduza as dimensões ou tamanhos de arquivo das imagens (por exemplo, por meio de downsampling) antes de fazer upload (consulte Resolução e custo de tokens).
O Claude suporta imagens JPEG, PNG, GIF e WebP (image/jpeg, image/png, image/gif, image/webp). Animações não são suportadas, e apenas o primeiro quadro é usado.
O Claude visualiza imagens em patches em vez de pixels. Cada patch é um bloco de 28×28 pixels da imagem, chamado de token visual. Uma imagem, portanto, custa ⌈width / 28⌉ × ⌈height / 28⌉ tokens visuais.
Cada modelo tem uma resolução nativa máxima de imagem, expressa como um limite de borda longa e um limite de tokens visuais. Imagens maiores que qualquer um desses limites são reduzidas antes do processamento; consulte Como o Claude redimensiona e preenche imagens para a regra exata.
| Nível de resolução | Modelos | Borda longa máx. | Tokens visuais máx. |
|---|---|---|---|
| Alta resolução | Claude Fable 5, Claude Mythos 5, Claude Opus 4.8, Claude Opus 4.7, Claude Sonnet 5 | 2576 px | 4784 |
| Padrão | Todos os outros modelos | 1568 px | 1568 |
O suporte a alta resolução é automático nos modelos listados e não requer cabeçalho beta nem opt-in do lado do cliente.
A tabela a seguir mostra o custo em tokens visuais para vários tamanhos de imagem em cada nível:
| Tamanho da imagem | Tokens no nível padrão | Tokens no nível de alta resolução |
|---|---|---|
| 200x200 px (0,04 megapixels) | 64 | 64 |
| 1000x1000 px (1 megapixel) | 1296 | 1296 |
| 1092x1092 px (1,19 megapixels) | 1521 | 1521 |
| 1920x1080 px (2,07 megapixels) | 1560 | 2691 |
| 2000x1500 px (3 megapixels) | 1564 | 3888 |
| 3840x2160 px (8,29 megapixels) | 1560 | 4784 |
Para estimar o custo, multiplique a contagem de tokens pelo preço por token do modelo que você está usando. Por exemplo, a US$ 1 por milhão de tokens de entrada do Claude Haiku 4.5 (nível padrão), a imagem de 1000×1000 custa cerca de US$ 1,30 por mil imagens. A US$ 5 por milhão do Claude Opus 4.8 (nível de alta resolução), a mesma imagem custa cerca de US$ 6,48 por mil e a imagem 4K cerca de US$ 23,92 por mil.
Imagens de alta resolução podem usar até aproximadamente três vezes mais tokens visuais do que a mesma imagem em um modelo de nível padrão. Se você não precisa da fidelidade adicional que a alta resolução oferece para uso de computador, compreensão de capturas de tela e documentos densos, reduza a resolução das imagens antes de enviá-las para controlar os custos de tokens. Para minimizar a latência e simplificar fluxos de trabalho baseados em coordenadas, prefira redimensionar as imagens antes de fazer upload delas.
Ao fornecer imagens ao Claude, tenha em mente o seguinte para obter melhores resultados:
Para caixas delimitadoras, pontos e coordenadas de pixel, consulte Coordenadas e caixas delimitadoras. O Claude retorna coordenadas de pixel absolutas relativas à imagem que ele vê após o redimensionamento; esse guia aborda como o Claude redimensiona e preenche imagens e como pré-redimensionar ou reescalar para que as coordenadas se alinhem com sua imagem original.
Embora as capacidades de compreensão de imagens do Claude sejam de ponta, há algumas limitações a serem consideradas:
Sempre revise e verifique cuidadosamente as interpretações de imagens do Claude, especialmente para casos de uso de alto risco. Não use o Claude para tarefas que exijam precisão perfeita ou análise de imagens sensíveis sem supervisão humana.
Obtenha dicas e técnicas de melhores práticas para tarefas como interpretar gráficos e extrair conteúdo de formulários.
Consulte a documentação da Messages API, incluindo exemplos de chamadas de API envolvendo imagens.
Was this page helpful?