Support des fichiers PDF
Sur cette page
Claude lit directement les fichiers PDF : texte, tableaux, graphiques et mise en page compris. Le code est presque celui des images ; ce qui change, c’est la façon dont le document est traité, et donc ce qu’il coûte.
Envoyer un PDF
Un PDF se place dans un bloc document :
import base64
with open("earth.pdf", "rb") as f:
file_data = base64.standard_b64encode(f.read()).decode("utf-8")
messages = []
add_user_message(messages, [
{"type": "document", "source": {"type": "base64", "media_type": "application/pdf", "data": file_data}},
{"type": "text", "text": "Résume ce document en une phrase."},
])
response = chat(messages)
Par rapport à une image, trois choses changent : le type du bloc (document au lieu de image), le type de média (application/pdf), et le nom de la variable, pour la clarté. Comme pour les images, le PDF peut aussi être cité par URL ({"type": "url", "url": adresse_publique}) ou par la Files API ({"type": "file", "file_id": "…"}), et se place avant la question.
Comment Claude lit un PDF
L’API convertit chaque page en image, et en extrait aussi le texte, fourni à côté de l’image de la page. Claude analyse les deux à la fois. C’est ce qui lui permet de commenter un graphique, de lire un tableau sur deux colonnes, ou d’exploiter une page scannée sans couche de texte, là où une simple extraction de texte perdrait tout ce qui n’est pas du texte.
Les limites
| Limite | Valeur |
|---|---|
| Taille de la requête | 128 Mo sur la Claude API (selon la plateforme ailleurs) |
| Pages par requête | 600, ou 100 si la fenêtre de contexte de la requête est inférieure à un million de jetons |
| Format | PDF standard, sans mot de passe ni chiffrement |
Un PDF dense (petits caractères, tableaux complexes, graphiques nombreux) peut remplir la fenêtre de contexte avant d’atteindre la limite de pages : découpez-le alors en plusieurs parties.
Ce que coûte un PDF
Chaque page coûte deux fois : son texte, en général 1 500 à 3 000 jetons selon la densité, et son image, au même tarif que les images de la leçon 57. Il n’y a pas de frais spécifiques aux PDF. Pour une estimation précise, comptez les jetons avant d’envoyer, avec l’endpoint de comptage de jetons.
Les bonnes pratiques
La documentation en recommande plusieurs :
- placer le PDF avant le texte de la question ;
- utiliser des polices standard, un texte net, des pages à l’endroit ;
- dans les questions, citer les numéros de page tels que les affiche un lecteur de PDF ;
- découper les gros documents ;
- activer la mise en cache des prompts (leçons 60 à 62) quand on pose plusieurs questions sur le même document.
Et les autres formats ?
Les fichiers texte (.txt, .md, .csv) peuvent aller dans un bloc document comme texte brut, par exemple après un téléversement dans la Files API avec le type text/plain. Les formats binaires comme .docx ou .xlsx ne sont pas acceptés : convertissez-les d’abord en texte ou en PDF.
À vous de jouer
Interroger un rapport. Prenez un PDF qui contient au moins un tableau et un graphique. Demandez un résumé en une phrase, puis l’extraction du tableau en JSON, puis la tendance que montre le graphique. Comparez usage.input_tokens avec le nombre de pages, et vérifiez chaque chiffre extrait dans le document.
Sources officielles : PDF support (Claude Academy) · PDF support (documentation Claude : traitement, limites, coûts, bonnes pratiques)
Points clés à retenir
- Un PDF se place dans un bloc
document, en base64, par URL ou parfile_id, avant la question. - Chaque page est lue à la fois comme image et comme texte extrait : graphiques, tableaux et scans restent exploitables.
- Jusqu’à 600 pages et 128 Mo par requête sur la Claude API, sans mot de passe.
- Une page coûte son texte (1 500 à 3 000 jetons environ) plus son image.
- Mettez en cache un document que vous interrogez plusieurs fois.