Was this page helpful?
Files API memungkinkan Anda mengunggah dan mengelola file untuk digunakan dengan Claude API tanpa perlu mengunggah ulang konten dengan setiap permintaan. Ini sangat berguna saat menggunakan alat eksekusi kode untuk menyediakan input (misalnya dataset dan dokumen) dan kemudian mengunduh output (misalnya bagan). Anda juga dapat menggunakan Files API untuk menghindari harus terus mengunggah ulang dokumen dan gambar yang sering digunakan di seluruh panggilan API. Anda dapat menjelajahi referensi API secara langsung, selain panduan ini.
Files API sedang dalam beta. Hubungi kami melalui formulir umpan balik untuk berbagi pengalaman Anda dengan Files API.
This feature is not eligible for Zero Data Retention (ZDR). Data is retained according to the feature's standard retention policy.
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 buat-sekali-gunakan-berkali-kali yang sederhana untuk bekerja dengan file:
file_id unikfile_id alih-alih 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 ke format PDF terlebih dahulu, 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 diunggah:
Ambil informasi tentang file tertentu:
Hapus file dari ruang kerja Anda:
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.
Messages aktif dan penggunaan alat terkaitFile yang diunggah melalui Files API disimpan sampai dihapus secara eksplisit menggunakan endpoint DELETE /v1/files/{file_id}. File disimpan untuk digunakan kembali di seluruh permintaan API.
Untuk kelayakan ZDR di semua fitur, lihat API dan retensi data.
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:
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)| Bervariasi |
container_upload |
| Analisis data, buat visualisasi |
import pandas as pd
# Contoh: Membaca file CSV
df = pd.read_csv("data.csv")
csv_content = df.to_string()
# Kirim sebagai teks biasa dalam pesan
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")