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:

  • Analisar relatórios financeiros e compreender gráficos/tabelas
  • Extrair informações-chave de documentos legais
  • Assistência de tradução para documentos
  • Converter informações de documentos em formatos estruturados

Antes de começar

Verificar requisitos de PDF

Claude funciona com qualquer PDF padrão. No entanto, você deve garantir que o tamanho da sua solicitação atenda a estes requisitos ao usar o suporte a PDF:

RequisitoLimite
Tamanho máximo da solicitação32MB
Máximo de páginas por solicitação100
FormatoPDF padrão (sem senhas/criptografia)

Por favor, note que ambos os limites são sobre toda a carga útil da solicitação, incluindo qualquer outro conteúdo enviado junto com 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.

Plataformas e modelos suportados

O suporte a PDF é atualmente suportado via acesso direto à API e Google Vertex AI em:

  • Claude Opus 4 (claude-opus-4-20250514)
  • Claude Sonnet 4 (claude-sonnet-4-20250514)
  • Claude Sonnet 3.7 (claude-3-7-sonnet-20250219)
  • Modelos Claude Sonnet 3.5 (claude-3-5-sonnet-20241022, claude-3-5-sonnet-20240620)
  • Claude Haiku 3.5 (claude-3-5-haiku-20241022)

Esta funcionalidade será suportada no Amazon Bedrock em breve.

Para arquivos não-PDF como .csv, .xlsx, .docx, .md, ou .txt, veja Trabalhando com outros formatos de arquivo.


Processar PDFs com Claude

Envie sua primeira solicitação de PDF

Vamos começar com um exemplo simples usando a API Messages. Você pode fornecer PDFs ao Claude de três maneiras:

  1. Como uma referência de URL para um PDF hospedado online
  2. Como um PDF codificado em base64 em blocos de conteúdo document
  3. Por um file_id da API Files

Opção 1: Documento PDF baseado em URL

A abordagem mais simples é referenciar um PDF diretamente de uma URL:

 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-opus-4-20250514",
     "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?"
         }]
     }]
 }'

Opção 2: Documento PDF codificado em base64

Se você precisar enviar PDFs do seu sistema local ou quando uma URL não estiver disponível:

# 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-opus-4-20250514",
    "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

Opção 3: API Files

Para PDFs que você usará repetidamente, ou quando quiser evitar sobrecarga de codificação, use a API Files:

# Primeiro, carregue 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 "file=@document.pdf"

# 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-opus-4-20250514", 
    "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?"
      }]
    }]
  }'

Como funciona o suporte a PDF

Quando você envia um PDF para Claude, os seguintes passos ocorrem:

1

O sistema extrai o conteúdo do documento.

  • O sistema converte cada página do documento em uma imagem.
  • O texto de cada página é extraído e fornecido junto com a imagem de cada página.
2

Claude analisa tanto o texto quanto as imagens para melhor compreender o documento.

  • Documentos são fornecidos como uma combinação de texto e imagens para análise.
  • Isso permite que os usuários peçam insights sobre elementos visuais de um PDF, como gráficos, diagramas e outro conteúdo não textual.
3

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:

  • Cache de prompt: Para melhorar o desempenho para análise repetida.
  • Processamento em lote: Para processamento de documentos de alto volume.
  • Uso de ferramentas: Para extrair informações específicas de documentos para uso como entradas de ferramentas.

Estime seus custos

A contagem de tokens de um arquivo PDF depende do texto total extraído do documento, bem como do número de páginas:

  • Custos de tokens de texto: Cada página normalmente usa 1.500-3.000 tokens por página dependendo da densidade do conteúdo. Preços padrão da API se aplicam sem taxas adicionais de PDF.
  • Custos de tokens de imagem: Como cada página é convertida em uma imagem, os mesmos cálculos de custo baseados em imagem são aplicados.

Você pode usar contagem de tokens para estimar custos para seus PDFs específicos.


Otimizar processamento de PDF

Melhorar desempenho

Siga essas melhores práticas para resultados ótimos:

  • Coloque PDFs antes do texto em suas solicitações
  • Use fontes padrão
  • Garanta que o texto seja claro e legível
  • Gire páginas para orientação vertical adequada
  • Use números de página lógicos (do visualizador de PDF) em prompts
  • Divida PDFs grandes em pedaços quando necessário
  • Habil cache de prompt para análise repetida

Escale sua implementação

Para processamento de alto volume, considere essas abordagens:

Use cache de prompt

Cache PDFs para melhorar o desempenho em consultas repetidas:

# Criar um arquivo de solicitação JSON usando o conteúdo pdf_base64.txt
jq -n --rawfile PDF_BASE64 pdf_base64.txt '{
    "model": "claude-opus-4-20250514",
    "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

Processar lotes de documentos

Use a API Message Batches para fluxos de trabalho de alto volume:

# 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-opus-4-20250514",
              "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-opus-4-20250514",
              "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-chave 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.json

Próximos passos