L'API Files ti consente di caricare e gestire file da utilizzare con l'API Claude senza ricaricare il contenuto ad ogni richiesta. Questo è particolarmente utile quando si utilizza lo strumento di esecuzione del codice per fornire input (ad es. dataset e documenti) e quindi scaricare output (ad es. grafici). Puoi anche utilizzare l'API Files per evitare di dover ricaricare continuamente documenti e immagini frequentemente utilizzati in più chiamate API. Puoi esplorare il riferimento API direttamente, oltre a questa guida.
L'API Files è attualmente in beta. Ti invitiamo a contattarci tramite il nostro modulo di feedback per condividere la tua esperienza con l'API Files.
Il riferimento a un file_id in una richiesta Messages è supportato in tutti i modelli che supportano il tipo di file specificato. Ad esempio, le immagini sono supportate in tutti i modelli Claude 3+, i PDF in tutti i modelli Claude 3.5+, e vari altri tipi di file per lo strumento di esecuzione del codice in Claude Haiku 4.5 più tutti i modelli Claude 3.7+.
L'API Files non è attualmente supportata su Amazon Bedrock o Google Vertex AI.
L'API Files fornisce un semplice approccio crea-una-volta-usa-molte-volte per lavorare con i file:
file_id univocofile_id invece di ricaricare il contenutoPer utilizzare l'API Files, dovrai includere l'intestazione della funzione beta: anthropic-beta: files-api-2025-04-14.
Carica un file da referenziare nelle future chiamate API:
La risposta dal caricamento di un file includerà:
{
"id": "file_011CNha8iCJcU1wXNR6q4V8w",
"type": "file",
"filename": "document.pdf",
"mime_type": "application/pdf",
"size_bytes": 1024000,
"created_at": "2025-01-01T00:00:00Z",
"downloadable": false
}Una volta caricato, fai riferimento al file utilizzando il suo file_id:
L'API Files supporta diversi tipi di file che corrispondono a diversi tipi di blocchi di contenuto:
| Tipo di file | Tipo MIME | Tipo di blocco di contenuto | Caso d'uso |
|---|---|---|---|
application/pdf | document | Analisi del testo, elaborazione di documenti | |
| Testo semplice | text/plain | document | Analisi del testo, elaborazione |
| Immagini | image/jpeg, image/png, image/gif, image/webp | image | Analisi delle immagini, attività visive |
| Dataset, altri |
Per i tipi di file non supportati come blocchi document (.csv, .txt, .md, .docx, .xlsx), converti i file in testo semplice e includi il contenuto direttamente nel tuo messaggio:
Per i file .docx contenenti immagini, convertili prima in formato PDF, quindi utilizza il supporto PDF per sfruttare l'analisi delle immagini integrata. Questo consente di utilizzare le citazioni dal documento PDF.
Per i PDF e i file di testo, utilizza il blocco di contenuto document:
{
"type": "document",
"source": {
"type": "file",
"file_id": "file_011CNha8iCJcU1wXNR6q4V8w"
},
"title": "Document Title", // Opzionale
"context": "Context about the document", // Opzionale
"citations": {"enabled": true} // Opzionale, abilita le citazioni
}Per le immagini, utilizza il blocco di contenuto image:
{
"type": "image",
"source": {
"type": "file",
"file_id": "file_011CPMxVD3fHLUhvTqtsQA5w"
}
}Recupera un elenco dei tuoi file caricati:
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"Recupera informazioni su un file specifico:
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"Rimuovi un file dal tuo workspace:
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"Scarica file che sono stati creati da skill o dallo strumento di esecuzione del codice:
Puoi scaricare solo i file che sono stati creati da skill o dallo strumento di esecuzione del codice. I file che hai caricato non possono essere scaricati.
Gli errori comuni quando si utilizza l'API Files includono:
file_id specificato non esiste o non hai accesso ad esso/v1/messages)<, >, :, ", |, ?, *, \, /, o caratteri unicode 0-31){
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "File not found: file_011CNha8iCJcU1wXNR6q4V8w"
}
}Le operazioni dell'API Files sono gratuite:
Il contenuto del file utilizzato nelle richieste Messages viene addebitato come token di input. Puoi scaricare solo i file creati da skill o dallo strumento di esecuzione del codice.
Durante il periodo beta:
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"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"
}
}
]
}
]
}'| Varia |
container_upload |
| Analizzare dati, creare visualizzazioni |
# Esempio: Lettura di un file di testo e invio come testo semplice
# Nota: Per i file con caratteri speciali, considera la codifica 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."
}
]
}
]
}
EOFcurl -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.txt