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 di uso frequente 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.
This feature is in beta and is not covered by Zero Data Retention (ZDR) arrangements. Beta features are excluded from ZDR.
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 carica 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 utilizzare nelle future chiamate 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 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:
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-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_011CNha8iCJcU1wXNR6q4V8w"
}
}
]
}
]
}'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 | Varia | container_upload | Analizzare i dati, creare visualizzazioni |
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:
# 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-opus-4-6",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "Here's the document content:\n\n${TEXT_CONTENT}\n\nPlease summarize this document."
}
]
}
]
}
EOFPer 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", // Facoltativo
"context": "Context about the document", // Facoltativo
"citations": {"enabled": true} // Facoltativo, 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 creati da skill o dallo strumento di esecuzione del codice:
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.txtPuoi scaricare solo i file 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 dei 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:
Was this page helpful?