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 mencegah harus terus mengunggah ulang dokumen dan gambar yang sering digunakan di berbagai 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 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 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 yang 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 list, retrieve, dan delete

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"

Menggunakan file dalam pesan

Setelah diunggah, referensikan file menggunakan file_id-nya:

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-20250514",
    "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"
            }
          }
        ]
      }
    ]
  }'

Jenis file dan blok konten

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

Jenis FileJenis MIMEJenis 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_uploadAnalisis data, buat visualisasi

Bekerja dengan format file 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:

# Contoh: Membaca file teks dan mengirimnya sebagai teks biasa
# Catatan: Untuk file dengan karakter khusus, pertimbangkan encoding 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-20250514",
  "max_tokens": 1024,
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "Here's the document content:\n\n${TEXT_CONTENT}\n\nPlease summarize this document."
        }
      ]
    }
  ]
}
EOF

Untuk file .docx yang berisi gambar, konversi terlebih dahulu ke format PDF, kemudian gunakan dukungan PDF untuk memanfaatkan parsing gambar bawaan. Ini memungkinkan penggunaan kutipan dari dokumen PDF.

Blok dokumen

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
}

Blok gambar

Untuk gambar, gunakan blok konten image:

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

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"

Dapatkan metadata file

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

Hapus file dari workspace 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"

Mengunduh file

Unduh file yang telah dibuat oleh alat eksekusi kode:

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.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: 500 MB per file
  • Total penyimpanan: 100 GB per organisasi

Siklus hidup file

  • File dicakup ke workspace dari kunci API. Kunci API lain dapat menggunakan file yang dibuat oleh kunci API lain yang terkait dengan workspace yang sama
  • File bertahan sampai Anda menghapusnya
  • File yang dihapus tidak dapat dipulihkan
  • File tidak dapat diakses melalui API segera setelah penghapusan, tetapi mereka mungkin bertahan 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)
  • Melebihi ukuran jendela konteks (400): File lebih besar dari ukuran jendela konteks (misalnya menggunakan file teks biasa 500 MB dalam permintaan /v1/messages)
  • Nama file tidak valid (400): Nama file tidak memenuhi persyaratan panjang (1-255 karakter) atau berisi karakter terlarang (<, >, :, ", |, ?, *, \, /, atau karakter unicode 0-31)
  • File terlalu besar (413): File melebihi batas 500 MB
  • Batas penyimpanan terlampaui (403): Organisasi Anda telah mencapai batas penyimpanan 100 GB
{
  "type": "error",
  "error": {
    "type": "invalid_request_error",
    "message": "File not found: file_011CNha8iCJcU1wXNR6q4V8w"
  }
}

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 dikenakan harga sebagai token input. Anda hanya dapat mengunduh file yang dibuat oleh alat eksekusi kode.

Batas laju

Selama periode beta:

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