Was this page helpful?
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 requête. C'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 en bêta. Contactez-nous via le formulaire de commentaires pour partager votre expérience avec l'API Files.
This feature is not eligible for Zero Data Retention (ZDR). Data is retained according to the feature's standard retention policy.
Le référencement d'un file_id dans une requête 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 téléchargement une fois, utilisation plusieurs fois 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 appels API futurs :
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 :
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 |
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 :
Pour les fichiers .docx contenant des images, convertissez-les d'abord au format PDF, puis utilisez la prise en charge des 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", // Optional
"context": "Context about the document", // Optional
"citations": { "enabled": true } // Optional, enables 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 :
Récupérez les informations sur un fichier spécifique :
Supprimez un fichier de votre espace de travail :
Téléchargez des fichiers qui ont été créés par des compétences ou l'outil d'exécution de code :
Vous ne pouvez télécharger que les fichiers créés par les 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 fichiers téléchargés via l'API Files sont conservés jusqu'à ce qu'ils soient explicitement supprimés à l'aide du point de terminaison DELETE /v1/files/{file_id}. Les fichiers sont stockés pour être réutilisés sur plusieurs requêtes API.
Pour l'admissibilité ZDR sur toutes les fonctionnalités, consultez API et rétention des données.
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é dans les requêtes Messages est facturé en tant que jetons d'entrée. Vous ne pouvez télécharger que les fichiers créés par les compétences ou l'outil d'exécution de code.
Pendant la période bêta :
uploaded = client.beta.files.upload(
file=("document.pdf", open("/path/to/document.pdf", "rb"), "application/pdf"),
)response = client.beta.messages.create(
model="claude-opus-4-6",
max_tokens=1024,
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "Please summarize this document for me."},
{
"type": "document",
"source": {
"type": "file",
"file_id": file_id,
},
},
],
}
],
betas=["files-api-2025-04-14"],
)
print(response)| Varie |
container_upload |
| Analyser les données, créer des visualisations |
import pandas as pd
# Example: Reading a CSV file
df = pd.read_csv("data.csv")
csv_content = df.to_string()
# Send as plain text in the message
response = client.messages.create(
model="claude-opus-4-7",
max_tokens=1024,
messages=[
{
"role": "user",
"content": [
{
"type": "text",
"text": f"Here's the CSV data:\n\n{csv_content}\n\nPlease analyze this data.",
}
],
}
],
)
print(response.content[0].text)client = anthropic.Anthropic()
files = client.beta.files.list()file = client.beta.files.retrieve_metadata(file_id)result = client.beta.files.delete(file_id)file_content = client.beta.files.download(file_id)
# Save to file
file_content.write_to_file("downloaded_file.txt")