Files API memungkinkan Anda mengunggah dan mengelola file untuk digunakan dengan Claude API tanpa perlu mengunggah ulang konten dengan setiap permintaan. Ini sangat berguna ketika menggunakan alat eksekusi kode untuk menyediakan input (misalnya dataset dan dokumen) dan kemudian mengunduh output (misalnya grafik). Anda juga dapat menggunakan Files API untuk menghindari harus terus mengunggah ulang dokumen dan gambar yang sering digunakan di berbagai panggilan API. Anda dapat menjelajahi referensi API secara langsung, selain panduan ini.
Files API saat ini dalam beta. Silakan hubungi kami melalui formulir umpan balik kami untuk berbagi pengalaman Anda dengan Files API.
Mereferensikan file_id dalam permintaan Messages didukung di semua model yang mendukung jenis file yang diberikan. Misalnya, gambar didukung di semua model Claude 3+, PDF di semua model Claude 3.5+, dan berbagai jenis file lainnya untuk alat eksekusi kode di Claude Haiku 4.5 plus semua model Claude 3.7+.
Files API saat ini tidak didukung di Amazon Bedrock atau Google Vertex AI.
Files API menyediakan pendekatan create-once, use-many-times yang sederhana untuk bekerja dengan file:
file_id unikfile_id daripada mengunggah ulang kontenUntuk menggunakan Files API, Anda perlu menyertakan header fitur beta: anthropic-beta: files-api-2025-04-14.
Unggah file untuk direferensikan dalam panggilan API di masa depan:
Respons dari mengunggah file akan mencakup:
{
"id": "file_011CNha8iCJcU1wXNR6q4V8w",
"type": "file",
"filename": "document.pdf",
"mime_type": "application/pdf",
"size_bytes": 1024000,
"created_at": "2025-01-01T00:00:00Z",
"downloadable": false
}Setelah diunggah, referensikan file menggunakan file_id-nya:
Files API mendukung berbagai jenis file yang sesuai dengan jenis blok konten yang berbeda:
| Jenis File | Tipe MIME | Jenis Blok Konten | Kasus Penggunaan |
|---|---|---|---|
application/pdf | document | Analisis teks, pemrosesan dokumen | |
| Teks biasa | text/plain | document | Analisis teks, pemrosesan |
| Gambar | image/jpeg, image/png, image/gif, image/webp | image | Analisis gambar, tugas visual |
| Dataset, lainnya |
Untuk jenis file yang tidak didukung sebagai blok document (.csv, .txt, .md, .docx, .xlsx), konversi file ke teks biasa, dan sertakan konten langsung dalam pesan Anda:
Untuk file .docx yang berisi gambar, konversi terlebih dahulu ke format PDF, kemudian gunakan dukungan PDF untuk memanfaatkan penguraian gambar bawaan. Ini memungkinkan penggunaan kutipan dari dokumen PDF.
Untuk PDF dan file teks, gunakan blok konten document:
{
"type": "document",
"source": {
"type": "file",
"file_id": "file_011CNha8iCJcU1wXNR6q4V8w"
},
"title": "Document Title", // Opsional
"context": "Context about the document", // Opsional
"citations": {"enabled": true} // Opsional, mengaktifkan kutipan
}Untuk gambar, gunakan blok konten image:
{
"type": "image",
"source": {
"type": "file",
"file_id": "file_011CPMxVD3fHLUhvTqtsQA5w"
}
}Ambil daftar file yang telah Anda unggah:
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"Ambil informasi tentang file tertentu:
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"Hapus file dari ruang kerja Anda:
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"Unduh file yang telah dibuat oleh skill atau alat eksekusi kode:
Anda hanya dapat mengunduh file yang dibuat oleh skill atau alat eksekusi kode. File yang Anda unggah tidak dapat diunduh.
Kesalahan umum saat menggunakan Files API meliputi:
file_id yang ditentukan tidak ada atau Anda tidak memiliki akses ke file tersebut/v1/messages)<, >, :, ", |, ?, *, \, /, atau karakter unicode 0-31){
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "File not found: file_011CNha8iCJcU1wXNR6q4V8w"
}
}Operasi File API gratis:
Konten file yang digunakan dalam permintaan Messages ditagih sebagai token input. Anda hanya dapat mengunduh file yang dibuat oleh skill atau alat eksekusi kode.
Selama periode 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"
}
}
]
}
]
}'| Bervariasi |
container_upload |
| Analisis data, buat visualisasi |
# Contoh: Membaca file teks dan mengirimnya sebagai teks biasa
# Catatan: Untuk file dengan karakter khusus, pertimbangkan pengkodean 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