Vous pouvez maintenant interroger Claude sur tout texte, images, graphiques et tableaux dans les PDF que vous fournissez. Quelques exemples de cas d’usage :

  • Analyser des rapports financiers et comprendre les graphiques/tableaux
  • Extraire des informations clés de documents juridiques
  • Assistance à la traduction de documents
  • Convertir les informations de documents en formats structurés

Avant de commencer

Vérifier les exigences PDF

Claude fonctionne avec tout PDF standard. Cependant, vous devez vous assurer que la taille de votre requête respecte ces exigences lors de l’utilisation du support PDF :

ExigenceLimite
Taille maximale de requête32MB
Pages maximales par requête100
FormatPDF standard (pas de mots de passe/chiffrement)

Veuillez noter que les deux limites s’appliquent à l’ensemble de la charge utile de la requête, y compris tout autre contenu envoyé avec les PDF.

Étant donné que le support PDF s’appuie sur les capacités de vision de Claude, il est soumis aux mêmes limitations et considérations que les autres tâches de vision.

Plateformes et modèles supportés

Le support PDF est actuellement supporté via l’accès direct à l’API et Google Vertex AI sur :

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

Cette fonctionnalité sera bientôt supportée sur Amazon Bedrock.

Pour les fichiers non-PDF comme .csv, .xlsx, .docx, .md, ou .txt, voir Travailler avec d’autres formats de fichiers.


Traiter des PDF avec Claude

Envoyer votre première requête PDF

Commençons par un exemple simple utilisant l’API Messages. Vous pouvez fournir des PDF à Claude de trois façons :

  1. Comme une référence URL vers un PDF hébergé en ligne
  2. Comme un PDF encodé en base64 dans des blocs de contenu document
  3. Par un file_id de l’API Files

Option 1 : Document PDF basé sur URL

L’approche la plus simple est de référencer un PDF directement depuis une 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": "Quelles sont les principales conclusions de ce document ?"
         }]
     }]
 }'

Option 2 : Document PDF encodé en base64

Si vous devez envoyer des PDF depuis votre système local ou quand une URL n’est pas disponible :

# Méthode 1 : Récupérer et encoder un PDF distant
curl -s "https://assets.anthropic.com/m/1cd9d098ac3e6467/original/Claude-3-Model-Card-October-Addendum.pdf" | base64 | tr -d '\n' > pdf_base64.txt

# Méthode 2 : Encoder un fichier PDF local
# base64 document.pdf | tr -d '\n' > pdf_base64.txt

# Créer un fichier de requête JSON en utilisant le contenu 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": "Quelles sont les principales conclusions de ce document ?"
        }]
    }]
}' > request.json

# Envoyer la requête API en utilisant le fichier 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

Option 3 : API Files

Pour les PDF que vous utiliserez de manière répétée, ou quand vous voulez éviter la surcharge d’encodage, utilisez l’API Files :

# D'abord, téléchargez votre PDF vers l'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"

# Puis utilisez le file_id retourné dans votre message
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": "Quelles sont les principales conclusions de ce document ?"
      }]
    }]
  }'

Comment fonctionne le support PDF

Quand vous envoyez un PDF à Claude, les étapes suivantes se produisent :

1

Le système extrait le contenu du document.

  • Le système convertit chaque page du document en image.
  • Le texte de chaque page est extrait et fourni avec l’image de chaque page.
2

Claude analyse à la fois le texte et les images pour mieux comprendre le document.

  • Les documents sont fournis comme une combinaison de texte et d’images pour l’analyse.
  • Cela permet aux utilisateurs de demander des insights sur les éléments visuels d’un PDF, tels que les graphiques, diagrammes et autre contenu non textuel.
3

Claude répond, en référençant le contenu du PDF si pertinent.

Claude peut référencer à la fois le contenu textuel et visuel quand il répond. Vous pouvez améliorer davantage les performances en intégrant le support PDF avec :

  • Mise en cache des prompts : Pour améliorer les performances pour l’analyse répétée.
  • Traitement par lots : Pour le traitement de documents à haut volume.
  • Utilisation d’outils : Pour extraire des informations spécifiques des documents à utiliser comme entrées d’outils.

Estimer vos coûts

Le nombre de tokens d’un fichier PDF dépend du texte total extrait du document ainsi que du nombre de pages :

  • Coûts des tokens de texte : Chaque page utilise généralement 1 500-3 000 tokens par page selon la densité du contenu. La tarification API standard s’applique sans frais PDF supplémentaires.
  • Coûts des tokens d’image : Puisque chaque page est convertie en image, les mêmes calculs de coût basés sur l’image sont appliqués.

Vous pouvez utiliser le comptage de tokens pour estimer les coûts pour vos PDF spécifiques.


Optimiser le traitement PDF

Améliorer les performances

Suivez ces meilleures pratiques pour des résultats optimaux :

  • Placez les PDF avant le texte dans vos requêtes
  • Utilisez des polices standard
  • Assurez-vous que le texte est clair et lisible
  • Faites pivoter les pages vers l’orientation verticale appropriée
  • Utilisez des numéros de page logiques (du visualiseur PDF) dans les prompts
  • Divisez les gros PDF en morceaux si nécessaire
  • Activez la mise en cache des prompts pour l’analyse répétée

Mettre à l’échelle votre implémentation

Pour le traitement à haut volume, considérez ces approches :

Utiliser la mise en cache des prompts

Mettez en cache les PDF pour améliorer les performances sur les requêtes répétées :

# Créer un fichier de requête JSON en utilisant le contenu 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": "Quel modèle a les taux de victoire de préférence humaine les plus élevés dans chaque cas d'usage ?"
        }]
    }]
}' > request.json

# Puis faire l'appel API en utilisant le fichier 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

Traiter les lots de documents

Utilisez l’API Message Batches pour les flux de travail à haut volume :

# Créer un fichier de requête JSON en utilisant le contenu 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": "Quel modèle a les taux de victoire de préférence humaine les plus élevés dans chaque cas d'usage ?"
                        }
                    ]
                }
              ]
          }
      },
      {
          "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": "Extrayez 5 insights clés de ce document."
                        }
                    ]
                }
              ]
          }
      }
  ]
}
' > request.json

# Puis faire l'appel API en utilisant le fichier 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

Prochaines étapes