Ahora puedes preguntarle a Claude sobre cualquier texto, imágenes, gráficos y tablas en los PDFs que proporciones. Algunos casos de uso de ejemplo:

  • Analizar informes financieros y comprender gráficos/tablas
  • Extraer información clave de documentos legales
  • Asistencia de traducción para documentos
  • Convertir información de documentos a formatos estructurados

Antes de comenzar

Verificar requisitos de PDF

Claude funciona con cualquier PDF estándar. Sin embargo, debes asegurarte de que el tamaño de tu solicitud cumpla con estos requisitos al usar el soporte para PDF:

RequisitoLímite
Tamaño máximo de solicitud32MB
Páginas máximas por solicitud100
FormatoPDF estándar (sin contraseñas/encriptación)

Ten en cuenta que ambos límites se aplican a toda la carga útil de la solicitud, incluyendo cualquier otro contenido enviado junto con los PDFs.

Dado que el soporte para PDF depende de las capacidades de visión de Claude, está sujeto a las mismas limitaciones y consideraciones que otras tareas de visión.

Plataformas y modelos compatibles

El soporte para PDF está actualmente disponible a través del acceso directo a la API y Google Vertex AI en:

  • 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)

El soporte para PDF ya está disponible en Amazon Bedrock con las siguientes consideraciones:

Soporte para PDF en Amazon Bedrock

Al usar el soporte para PDF a través de la API Converse de Amazon Bedrock, hay dos modos distintos de procesamiento de documentos:

Importante: Para acceder a las capacidades completas de comprensión visual de PDF de Claude en la API Converse, debes habilitar las citas. Sin las citas habilitadas, la API recurre únicamente a la extracción básica de texto. Aprende más sobre trabajar con citas.

Modos de Procesamiento de Documentos

  1. Chat de Documentos Converse (Modo original - Solo extracción de texto)

    • Proporciona extracción básica de texto de PDFs
    • No puede analizar imágenes, gráficos o diseños visuales dentro de PDFs
    • Usa aproximadamente 1,000 tokens para un PDF de 3 páginas
    • Se usa automáticamente cuando las citas no están habilitadas
  2. Chat de PDF Claude (Modo nuevo - Comprensión visual completa)

    • Proporciona análisis visual completo de PDFs
    • Puede entender y analizar gráficos, diagramas, imágenes y diseños visuales
    • Procesa cada página como texto e imagen para una comprensión integral
    • Usa aproximadamente 7,000 tokens para un PDF de 3 páginas
    • Requiere que las citas estén habilitadas en la API Converse

Limitaciones Clave

  • API Converse: El análisis visual de PDF requiere que las citas estén habilitadas. Actualmente no hay opción para usar análisis visual sin citas (a diferencia de la API InvokeModel).
  • API InvokeModel: Proporciona control completo sobre el procesamiento de PDF sin citas forzadas.

Problemas Comunes

Si los clientes reportan que Claude no está viendo imágenes o gráficos en sus PDFs al usar la API Converse, probablemente necesiten habilitar la bandera de citas. Sin ella, Converse recurre únicamente a la extracción básica de texto.

Esta es una restricción conocida con la API Converse que estamos trabajando para abordar. Para aplicaciones que requieren análisis visual de PDF sin citas, considera usar la API InvokeModel en su lugar.

Para archivos que no son PDF como .csv, .xlsx, .docx, .md, o .txt, consulta Trabajar con otros formatos de archivo.


Procesar PDFs con Claude

Envía tu primera solicitud de PDF

Comencemos con un ejemplo simple usando la API de Mensajes. Puedes proporcionar PDFs a Claude de tres maneras:

  1. Como una referencia URL a un PDF alojado en línea
  2. Como un PDF codificado en base64 en bloques de contenido document
  3. Por un file_id de la API de Archivos

Opción 1: Documento PDF basado en URL

El enfoque más simple es referenciar un PDF directamente desde una 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": "¿Cuáles son los hallazgos clave en este documento?"
         }]
     }]
 }'

Opción 2: Documento PDF codificado en base64

Si necesitas enviar PDFs desde tu sistema local o cuando una URL no está disponible:

# Método 1: Obtener y codificar un 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 un archivo PDF local
# base64 document.pdf | tr -d '\n' > pdf_base64.txt

# Crear un archivo de solicitud JSON usando el contenido de 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": "¿Cuáles son los hallazgos clave en este documento?"
        }]
    }]
}' > request.json

# Enviar la solicitud de API usando el archivo 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

Opción 3: API de Archivos

Para PDFs que usarás repetidamente, o cuando quieras evitar la sobrecarga de codificación, usa la API de Archivos:

# Primero, sube tu PDF a la API de Archivos
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"

# Luego usa el file_id devuelto en tu mensaje
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": "¿Cuáles son los hallazgos clave en este documento?"
      }]
    }]
  }'

Cómo funciona el soporte para PDF

Cuando envías un PDF a Claude, ocurren los siguientes pasos:

1

El sistema extrae el contenido del documento.

  • El sistema convierte cada página del documento en una imagen.
  • El texto de cada página se extrae y se proporciona junto con la imagen de cada página.
2

Claude analiza tanto el texto como las imágenes para comprender mejor el documento.

  • Los documentos se proporcionan como una combinación de texto e imágenes para análisis.
  • Esto permite a los usuarios pedir información sobre elementos visuales de un PDF, como gráficos, diagramas y otro contenido no textual.
3

Claude responde, haciendo referencia al contenido del PDF si es relevante.

Claude puede referenciar tanto contenido textual como visual cuando responde. Puedes mejorar aún más el rendimiento integrando el soporte para PDF con:

  • Caché de prompts: Para mejorar el rendimiento en análisis repetidos.
  • Procesamiento por lotes: Para procesamiento de documentos de alto volumen.
  • Uso de herramientas: Para extraer información específica de documentos para usar como entradas de herramientas.

Estima tus costos

El conteo de tokens de un archivo PDF depende del texto total extraído del documento así como del número de páginas:

  • Costos de tokens de texto: Cada página típicamente usa 1,500-3,000 tokens por página dependiendo de la densidad del contenido. Se aplican precios estándar de API sin tarifas adicionales por PDF.
  • Costos de tokens de imagen: Dado que cada página se convierte en una imagen, se aplican los mismos cálculos de costo basados en imagen.

Puedes usar conteo de tokens para estimar costos para tus PDFs específicos.


Optimizar el procesamiento de PDF

Mejorar el rendimiento

Sigue estas mejores prácticas para obtener resultados óptimos:

  • Coloca los PDFs antes del texto en tus solicitudes
  • Usa fuentes estándar
  • Asegúrate de que el texto sea claro y legible
  • Rota las páginas a la orientación vertical correcta
  • Usa números de página lógicos (del visor de PDF) en los prompts
  • Divide PDFs grandes en fragmentos cuando sea necesario
  • Habilita el caché de prompts para análisis repetidos

Escala tu implementación

Para procesamiento de alto volumen, considera estos enfoques:

Usar caché de prompts

Almacena en caché los PDFs para mejorar el rendimiento en consultas repetidas:

# Crear un archivo de solicitud JSON usando el contenido de 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": "¿Qué modelo tiene las tasas de preferencia humana más altas en cada caso de uso?"
        }]
    }]
}' > request.json

# Luego hacer la llamada a la API usando el archivo 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

Procesar lotes de documentos

Usa la API de Lotes de Mensajes para flujos de trabajo de alto volumen:

# Crear un archivo de solicitud JSON usando el contenido de 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": "¿Qué modelo tiene las tasas de preferencia humana más altas en 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": "Extrae 5 ideas clave de este documento."
                        }
                    ]
                }
              ]
          }
      }
  ]
}
' > request.json

# Luego hacer la llamada a la API usando el archivo 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 pasos