Agora você pode perguntar ao Claude sobre qualquer texto, imagens, gráficos e tabelas em PDFs que você fornecer. Alguns casos de uso de exemplo:
Claude funciona com qualquer PDF padrão. No entanto, você deve garantir que o tamanho da sua solicitação atenda a esses requisitos ao usar o suporte a PDF:
| Requisito | Limite |
|---|---|
| Tamanho máximo da solicitação | 32MB |
| Máximo de páginas por solicitação | 100 |
| Formato | PDF padrão (sem senhas/criptografia) |
Observe que ambos os limites se aplicam a todo o payload da solicitação, incluindo qualquer outro conteúdo enviado junto com os PDFs.
Como o suporte a PDF depende das capacidades de visão do Claude, está sujeito às mesmas limitações e considerações que outras tarefas de visão.
O suporte a PDF é atualmente suportado via acesso direto à API e Google Vertex AI. Todos os modelos ativos suportam processamento de PDF.
O suporte a PDF agora está disponível no Amazon Bedrock com as seguintes considerações:
Ao usar o suporte a PDF através da API Converse do Amazon Bedrock, existem dois modos distintos de processamento de documentos:
Importante: Para acessar as capacidades completas de compreensão visual de PDF do Claude na API Converse, você deve habilitar citações. Sem citações habilitadas, a API volta para extração básica de texto apenas. Saiba mais sobre trabalhar com citações.
Converse Document Chat (Modo original - Extração de texto apenas)
Claude PDF Chat (Novo modo - Compreensão visual completa)
Se clientes relatarem que Claude não está vendo imagens ou gráficos em seus PDFs ao usar a API Converse, eles provavelmente precisam habilitar a flag de citações. Sem ela, Converse volta para extração básica de texto apenas.
Esta é uma restrição conhecida com a API Converse que estamos trabalhando para resolver. Para aplicações que requerem análise visual de PDF sem citações, considere usar a API InvokeModel em vez disso.
Para arquivos não-PDF como .csv, .xlsx, .docx, .md, ou .txt, veja Trabalhando com outros formatos de arquivo.
Vamos começar com um exemplo simples usando a API Messages. Você pode fornecer PDFs ao Claude de três maneiras:
documentfile_id da API FilesA abordagem mais simples é referenciar um PDF diretamente de uma URL:
Se você precisar enviar PDFs do seu sistema local ou quando uma URL não estiver disponível:
Para PDFs que você usará repetidamente, ou quando quiser evitar sobrecarga de codificação, use a API Files:
Quando você envia um PDF para Claude, os seguintes passos ocorrem:
O sistema extrai o conteúdo do documento.
Claude analisa tanto o texto quanto as imagens para melhor compreender o documento.
Claude responde, referenciando o conteúdo do PDF se relevante.
Claude pode referenciar tanto conteúdo textual quanto visual quando responde. Você pode melhorar ainda mais o desempenho integrando o suporte a PDF com:
A contagem de tokens de um arquivo PDF depende do texto total extraído do documento, bem como do número de páginas:
Você pode usar contagem de tokens para estimar custos para seus PDFs específicos.
Siga essas melhores práticas para resultados ótimos:
Para processamento de alto volume, considere essas abordagens:
Cache PDFs para melhorar desempenho em consultas repetidas:
Use a API Message Batches para fluxos de trabalho de alto volume:
curl https://api.anthropic.com/v1/messages \
-H "content-type: application/json" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-sonnet-4-5",
"max_tokens": 1024,
"messages": [{
"role": "user",
"content": [{
"type": "document",
"source": {
"type": "url",
"url": "https://assets.anthropic.com/m/1cd9d098ac3e6467/original/Claude-3-Model-Card-October-Addendum.pdf"
}
},
{
"type": "text",
"text": "Quais são as principais descobertas neste documento?"
}]
}]
}'# Método 1: Buscar e codificar um PDF remoto
curl -s "https://assets.anthropic.com/m/1cd9d098ac3e6467/original/Claude-3-Model-Card-October-Addendum.pdf" | base64 | tr -d '\n' > pdf_base64.txt
# Método 2: Codificar um arquivo PDF local
# base64 document.pdf | tr -d '\n' > pdf_base64.txt
# Criar um arquivo de solicitação JSON usando o conteúdo pdf_base64.txt
jq -n --rawfile PDF_BASE64 pdf_base64.txt '{
"model": "claude-sonnet-4-5",
"max_tokens": 1024,
"messages": [{
"role": "user",
"content": [{
"type": "document",
"source": {
"type": "base64",
"media_type": "application/pdf",
"data": $PDF_BASE64
}
},
{
"type": "text",
"text": "Quais são as principais descobertas neste documento?"
}]
}]
}' > request.json
# Enviar a solicitação da API usando o arquivo JSON
curl https://api.anthropic.com/v1/messages \
-H "content-type: application/json" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-d @request.json# Primeiro, faça upload do seu PDF para a API Files
curl -X POST https://api.anthropic.com/v1/files \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: files-api-2025-04-14" \
-F "[email protected]"
# Então use o file_id retornado na sua mensagem
curl https://api.anthropic.com/v1/messages \
-H "content-type: application/json" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: files-api-2025-04-14" \
-d '{
"model": "claude-sonnet-4-5",
"max_tokens": 1024,
"messages": [{
"role": "user",
"content": [{
"type": "document",
"source": {
"type": "file",
"file_id": "file_abc123"
}
},
{
"type": "text",
"text": "Quais são as principais descobertas neste documento?"
}]
}]
}'# Criar um arquivo de solicitação JSON usando o conteúdo pdf_base64.txt
jq -n --rawfile PDF_BASE64 pdf_base64.txt '{
"model": "claude-sonnet-4-5",
"max_tokens": 1024,
"messages": [{
"role": "user",
"content": [{
"type": "document",
"source": {
"type": "base64",
"media_type": "application/pdf",
"data": $PDF_BASE64
},
"cache_control": {
"type": "ephemeral"
}
},
{
"type": "text",
"text": "Qual modelo tem as maiores taxas de vitória de preferência humana em cada caso de uso?"
}]
}]
}' > request.json
# Então fazer a chamada da API usando o arquivo JSON
curl https://api.anthropic.com/v1/messages \
-H "content-type: application/json" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-d @request.json# Criar um arquivo de solicitação JSON usando o conteúdo pdf_base64.txt
jq -n --rawfile PDF_BASE64 pdf_base64.txt '
{
"requests": [
{
"custom_id": "my-first-request",
"params": {
"model": "claude-sonnet-4-5",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{
"type": "document",
"source": {
"type": "base64",
"media_type": "application/pdf",
"data": $PDF_BASE64
}
},
{
"type": "text",
"text": "Qual modelo tem as maiores taxas de vitória de preferência humana em cada caso de uso?"
}
]
}
]
}
},
{
"custom_id": "my-second-request",
"params": {
"model": "claude-sonnet-4-5",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{
"type": "document",
"source": {
"type": "base64",
"media_type": "application/pdf",
"data": $PDF_BASE64
}
},
{
"type": "text",
"text": "Extraia 5 insights principais deste documento."
}
]
}
]
}
}
]
}
' > request.json
# Então fazer a chamada da API usando o arquivo JSON
curl https://api.anthropic.com/v1/messages/batches \
-H "content-type: application/json" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-d @request.jsonExplore exemplos práticos de processamento de PDF em nossa receita de cookbook.