Files API memungkinkan Anda mengunggah dan mengelola file untuk digunakan dengan Anthropic API tanpa perlu mengunggah ulang konten pada 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-menerus mengunggah ulang dokumen dan gambar yang sering digunakan di beberapa panggilan API.

Files API saat ini dalam tahap beta. Silakan hubungi kami melalui formulir umpan balik untuk berbagi pengalaman Anda dengan Files API.

Model yang didukung

Mereferensikan file_id dalam permintaan Messages didukung di semua model yang mendukung jenis file tersebut. 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 3.5 Haiku plus semua model Claude 3.7+.

Files API saat ini tidak didukung di Amazon Bedrock atau Google Vertex AI.

Cara kerja Files API

Files API menyediakan pendekatan buat-sekali, gunakan-berkali-kali yang sederhana untuk bekerja dengan file:

  • Unggah file ke penyimpanan aman kami dan terima file_id unik
  • Unduh file yang dibuat dari alat eksekusi kode
  • Referensikan file dalam permintaan Messages menggunakan file_id alih-alih mengunggah ulang konten
  • Kelola file Anda dengan operasi daftar, ambil, dan hapus

Cara menggunakan Files API

Untuk menggunakan Files API, Anda perlu menyertakan header fitur beta: anthropic-beta: files-api-2025-04-14.

Mengunggah file

Unggah file untuk direferensikan dalam panggilan API di masa mendatang:

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"

Jenis file dan blok konten

Files API mendukung berbagai jenis file yang sesuai dengan jenis blok konten yang berbeda:

Jenis FileMIME TypeJenis Blok KontenKasus Penggunaan
PDFapplication/pdfdocumentAnalisis teks, pemrosesan dokumen
Teks biasatext/plaindocumentAnalisis teks, pemrosesan
Gambarimage/jpeg, image/png, image/gif, image/webpimageAnalisis gambar, tugas visual
Dataset, lainnyaBervariasicontainer_uploadMenganalisis data, membuat visualisasi

Blok dokumen

Untuk PDF dan file teks, gunakan blok konten document:

{
  "type": "document",
  "source": {
    "type": "file",
    "file_id": "file_abc123"
  },
  "title": "Document Title", // Opsional
  "context": "Context about the document", // Opsional  
  "citations": {"enabled": true} // Opsional, mengaktifkan kutipan
}

Blok gambar

Untuk gambar, gunakan blok konten image:

{
  "type": "image",
  "source": {
    "type": "file",
    "file_id": "file_xyz789"
  }
}

Mengelola file

Daftar file

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"

Mendapatkan metadata file

Ambil informasi tentang file tertentu:

curl https://api.anthropic.com/v1/files/file_abc123 \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "anthropic-beta: files-api-2025-04-14"

Menghapus file

Hapus file dari workspace Anda:

curl -X DELETE https://api.anthropic.com/v1/files/file_abc123 \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "anthropic-beta: files-api-2025-04-14"

Mengunduh file

Unduh file yang telah dibuat oleh alat eksekusi kode:

curl -X GET "https://api.anthropic.com/v1/files/file_abc123/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

Anda hanya dapat mengunduh file yang dibuat oleh alat eksekusi kode. File yang Anda unggah tidak dapat diunduh.


Penyimpanan file dan batasan

Batasan penyimpanan

  • Ukuran file maksimum: 32 MB per file
  • Total penyimpanan: 100 GB per organisasi

Siklus hidup file

  • File dibatasi pada workspace dari API key. API key lain dapat menggunakan file yang dibuat oleh API key lain yang terkait dengan workspace yang sama
  • File tetap ada sampai Anda menghapusnya
  • File yang dihapus tidak dapat dipulihkan
  • File tidak dapat diakses melalui API segera setelah penghapusan, tetapi mungkin tetap ada dalam panggilan API Messages yang aktif dan penggunaan alat terkait

Penanganan kesalahan

Kesalahan umum saat menggunakan Files API meliputi:

  • File tidak ditemukan (404): file_id yang ditentukan tidak ada atau Anda tidak memiliki akses ke file tersebut
  • Jenis file tidak valid (400): Jenis file tidak cocok dengan jenis blok konten (misalnya, menggunakan file gambar dalam blok dokumen)
  • File terlalu besar (413): File melebihi batas 500 MB
  • Batas penyimpanan terlampaui (403): Organisasi Anda telah mencapai batas penyimpanan 100 GB
  • Nama file tidak valid (400): Nama file tidak memenuhi persyaratan panjang (1-255 karakter) atau berisi karakter terlarang (<, >, :, ", |, ?, *, \, /, atau karakter unicode 0-31)
{
  "type": "error",
  "error": {
    "type": "invalid_request_error",
    "message": "File not found: file_abc123"
  }
}

Penggunaan dan penagihan

Operasi File API gratis:

  • Mengunggah file
  • Mengunduh file
  • Mendaftar file
  • Mendapatkan metadata file
  • Menghapus file

Konten file yang digunakan dalam permintaan Messages dihargai sebagai token input. Anda hanya dapat mengunduh file yang dibuat oleh alat eksekusi kode.

Batas rate

Selama periode beta:

  • Panggilan API terkait file dibatasi sekitar 100 permintaan per menit
  • Hubungi kami jika Anda membutuhkan batas yang lebih tinggi untuk kasus penggunaan Anda