Files API memungkinkan Anda mengunggah dan mengelola file untuk digunakan dengan Claude API tanpa perlu mengunggah ulang konten pada setiap permintaan. Ini sangat berguna saat menggunakan code execution tool untuk menyediakan input (misalnya dataset dan dokumen) lalu mengunduh output (misalnya grafik). Anda juga dapat menggunakan Files API untuk menghindari keharusan mengunggah ulang dokumen dan gambar yang sering digunakan secara terus-menerus di berbagai panggilan API. Anda dapat menjelajahi referensi API secara langsung, selain panduan ini.
Files API masih dalam tahap beta. Sampaikan pengalaman Anda dengan Files API melalui formulir umpan balik.
Fitur ini tidak memenuhi syarat untuk Zero Data Retention (ZDR). Data disimpan sesuai dengan kebijakan retensi standar fitur ini.
Mereferensikan file_id dalam permintaan Messages didukung pada semua model yang mendukung tipe file tersebut. Gambar didukung pada semua model Claude saat ini. Untuk PDF dan tipe file lainnya dengan code execution tool, lihat halaman tertaut untuk dukungan model.
Files API tersedia di Claude API, Claude Platform on AWS, dan Microsoft Foundry. Di Microsoft Foundry, Files API memerlukan deployment Hosted on Anthropic. Saat ini belum tersedia di Amazon Bedrock atau Google Cloud.
Files API menyediakan pendekatan sederhana buat-sekali, gunakan-berkali-kali 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 berikutnya:
uploaded = client.beta.files.upload(
file=("document.pdf", open("/path/to/document.pdf", "rb"), "application/pdf"),
)Respons dari pengunggahan 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:
response = client.beta.messages.create(
model="claude-opus-4-8",
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)Files API mendukung berbagai tipe file yang sesuai dengan tipe blok konten yang berbeda:
| Tipe File | MIME Type | Tipe 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 | Bervariasi | container_upload | Menganalisis data, membuat visualisasi |
Untuk tipe file yang tidak didukung sebagai blok document (.csv, .txt, .md, .docx, .xlsx), konversikan file ke teks biasa, dan sertakan konten langsung dalam pesan Anda:
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-8",
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)Untuk file .docx yang berisi gambar, konversikan terlebih dahulu ke format PDF, lalu gunakan dukungan PDF untuk memanfaatkan parsing gambar bawaan. Ini memungkinkan penggunaan sitasi dari dokumen PDF.
Untuk PDF dan file teks, gunakan blok konten 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
}Untuk gambar, gunakan blok konten image:
{
"type": "image",
"source": {
"type": "file",
"file_id": "file_011CPMxVD3fHLUhvTqtsQA5w"
}
}Ambil daftar file yang telah Anda unggah:
client = anthropic.Anthropic()
files = client.beta.files.list()Ambil informasi tentang file tertentu:
file = client.beta.files.retrieve_metadata(file_id)Hapus file dari workspace Anda:
result = client.beta.files.delete(file_id)Unduh file yang telah dibuat oleh skills atau code execution tool:
file_content = client.beta.files.download(file_id)
# Simpan ke file
file_content.write_to_file("downloaded_file.txt")Anda hanya dapat mengunduh file yang dibuat oleh skills atau code execution tool. File yang Anda unggah tidak dapat diunduh.
Messages yang aktif dan penggunaan alat terkaitFile yang diunggah melalui Files API disimpan hingga dihapus secara eksplisit menggunakan endpoint DELETE /v1/files/{file_id}. File disimpan untuk digunakan kembali di berbagai permintaan API.
Untuk kelayakan ZDR di semua fitur, lihat API dan retensi data.
Error 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 bersifat gratis:
Konten file yang digunakan dalam permintaan Messages dikenakan biaya sebagai token input. Anda hanya dapat mengunduh file yang dibuat oleh skills atau code execution tool.
Selama periode beta:
Was this page helpful?