L'API Files vous permet de télécharger et de gérer des fichiers à utiliser avec l'API Claude sans avoir à retélécharger le contenu à chaque demande. Ceci est particulièrement utile lors de l'utilisation de l'outil d'exécution de code pour fournir des entrées (par exemple, des ensembles de données et des documents) puis télécharger des sorties (par exemple, des graphiques). Vous pouvez également utiliser l'API Files pour éviter de devoir retélécharger continuellement des documents et des images fréquemment utilisés sur plusieurs appels API. Vous pouvez explorer la référence API directement, en plus de ce guide.
L'API Files est actuellement en version bêta. Veuillez nous contacter via notre formulaire de commentaires pour partager votre expérience avec l'API Files.
Le référencement d'un file_id dans une demande Messages est pris en charge dans tous les modèles qui prennent en charge le type de fichier donné. Par exemple, les images sont prises en charge dans tous les modèles Claude 3+, les PDF dans tous les modèles Claude 3.5+, et divers autres types de fichiers pour l'outil d'exécution de code dans Claude Haiku 4.5 plus tous les modèles Claude 3.7+.
L'API Files n'est actuellement pas prise en charge sur Amazon Bedrock ou Google Vertex AI.
L'API Files fournit une approche simple de création unique et d'utilisation multiple pour travailler avec des fichiers :
file_id uniquefile_id au lieu de retélécharger le contenuPour utiliser l'API Files, vous devez inclure l'en-tête de fonctionnalité bêta : anthropic-beta: files-api-2025-04-14.
Téléchargez un fichier à référencer dans les futurs appels API :
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=@/path/to/document.pdf"La réponse du téléchargement d'un fichier inclura :
{
"id": "file_011CNha8iCJcU1wXNR6q4V8w",
"type": "file",
"filename": "document.pdf",
"mime_type": "application/pdf",
"size_bytes": 1024000,
"created_at": "2025-01-01T00:00:00Z",
"downloadable": false
}Une fois téléchargé, référencez le fichier en utilisant son file_id :
curl -X POST https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: files-api-2025-04-14" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-4-5",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "Please summarize this document for me."
},
{
"type": "document",
"source": {
"type": "file",
"file_id": "file_011CNha8iCJcU1wXNR6q4V8w"
}
}
]
}
]
}'L'API Files prend en charge différents types de fichiers qui correspondent à différents types de blocs de contenu :
| Type de fichier | Type MIME | Type de bloc de contenu | Cas d'utilisation |
|---|---|---|---|
application/pdf | document | Analyse de texte, traitement de documents | |
| Texte brut | text/plain | document | Analyse de texte, traitement |
| Images | image/jpeg, image/png, image/gif, image/webp | image | Analyse d'images, tâches visuelles |
| Ensembles de données, autres | Varie | container_upload | Analyser les données, créer des visualisations |
Pour les types de fichiers qui ne sont pas pris en charge en tant que blocs document (.csv, .txt, .md, .docx, .xlsx), convertissez les fichiers en texte brut et incluez le contenu directement dans votre message :
# Exemple : Lecture d'un fichier texte et envoi en tant que texte brut
# Remarque : Pour les fichiers avec des caractères spéciaux, envisagez l'encodage base64
TEXT_CONTENT=$(cat document.txt | jq -Rs .)
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 @- <<EOF
{
"model": "claude-sonnet-4-5",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "Here's the document content:\n\n${TEXT_CONTENT}\n\nPlease summarize this document."
}
]
}
]
}
EOFPour les fichiers .docx contenant des images, convertissez-les d'abord au format PDF, puis utilisez le support PDF pour tirer parti de l'analyse d'images intégrée. Cela permet d'utiliser les citations du document PDF.
Pour les PDF et les fichiers texte, utilisez le bloc de contenu document :
{
"type": "document",
"source": {
"type": "file",
"file_id": "file_011CNha8iCJcU1wXNR6q4V8w"
},
"title": "Document Title", // Optionnel
"context": "Context about the document", // Optionnel
"citations": {"enabled": true} // Optionnel, active les citations
}Pour les images, utilisez le bloc de contenu image :
{
"type": "image",
"source": {
"type": "file",
"file_id": "file_011CPMxVD3fHLUhvTqtsQA5w"
}
}Récupérez une liste de vos fichiers téléchargés :
curl 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"Récupérez les informations sur un fichier spécifique :
curl https://api.anthropic.com/v1/files/file_011CNha8iCJcU1wXNR6q4V8w \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: files-api-2025-04-14"Supprimez un fichier de votre espace de travail :
curl -X DELETE https://api.anthropic.com/v1/files/file_011CNha8iCJcU1wXNR6q4V8w \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: files-api-2025-04-14"Téléchargez les fichiers qui ont été créés par des compétences ou l'outil d'exécution de code :
curl -X GET "https://api.anthropic.com/v1/files/file_011CNha8iCJcU1wXNR6q4V8w/content" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: files-api-2025-04-14" \
--output downloaded_file.txtVous ne pouvez télécharger que les fichiers qui ont été créés par des compétences ou l'outil d'exécution de code. Les fichiers que vous avez téléchargés ne peuvent pas être téléchargés.
Les erreurs courantes lors de l'utilisation de l'API Files incluent :
file_id spécifié n'existe pas ou vous n'y avez pas accès/v1/messages)<, >, :, ", |, ?, *, \, /, ou caractères unicode 0-31){
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "File not found: file_011CNha8iCJcU1wXNR6q4V8w"
}
}Les opérations de l'API Files sont gratuites :
Le contenu des fichiers utilisés dans les demandes Messages est facturé en tant que jetons d'entrée. Vous ne pouvez télécharger que les fichiers créés par des compétences ou l'outil d'exécution de code.
Pendant la période bêta :