Anda sekarang dapat bertanya kepada Claude tentang teks, gambar, grafik, dan tabel apa pun dalam PDF yang Anda berikan. Beberapa contoh kasus penggunaan:
Claude bekerja dengan PDF standar apa pun. Namun, Anda harus memastikan ukuran permintaan Anda memenuhi persyaratan ini saat menggunakan dukungan PDF:
| Persyaratan | Batas |
|---|---|
| Ukuran permintaan maksimum | 32MB |
| Halaman maksimum per permintaan | 100 |
| Format | PDF standar (tanpa kata sandi/enkripsi) |
Harap dicatat bahwa kedua batas tersebut berlaku untuk seluruh payload permintaan, termasuk konten lain yang dikirim bersama PDF.
Karena dukungan PDF bergantung pada kemampuan visi Claude, ini tunduk pada keterbatasan dan pertimbangan yang sama seperti tugas visi lainnya.
Dukungan PDF saat ini didukung melalui akses API langsung dan Google Vertex AI. Semua model aktif mendukung pemrosesan PDF.
Dukungan PDF sekarang tersedia di Amazon Bedrock dengan pertimbangan berikut:
Saat menggunakan dukungan PDF melalui Converse API Amazon Bedrock, ada dua mode pemrosesan dokumen yang berbeda:
Penting: Untuk mengakses kemampuan pemahaman PDF visual penuh Claude di Converse API, Anda harus mengaktifkan kutipan. Tanpa kutipan yang diaktifkan, API kembali ke ekstraksi teks dasar saja. Pelajari lebih lanjut tentang bekerja dengan kutipan.
Converse Document Chat (Mode asli - Ekstraksi teks saja)
Claude PDF Chat (Mode baru - Pemahaman visual penuh)
Jika pelanggan melaporkan bahwa Claude tidak melihat gambar atau grafik dalam PDF mereka saat menggunakan Converse API, mereka kemungkinan perlu mengaktifkan flag kutipan. Tanpa itu, Converse kembali ke ekstraksi teks dasar saja.
Ini adalah kendala yang diketahui dengan Converse API yang sedang kami kerjakan untuk diatasi. Untuk aplikasi yang memerlukan analisis PDF visual tanpa kutipan, pertimbangkan menggunakan InvokeModel API sebagai gantinya.
Untuk file non-PDF seperti .csv, .xlsx, .docx, .md, atau .txt, lihat Bekerja dengan format file lain.
Mari mulai dengan contoh sederhana menggunakan Messages API. Anda dapat menyediakan PDF kepada Claude dengan tiga cara:
documentfile_id dari Files APIPendekatan paling sederhana adalah mereferensikan PDF langsung dari URL:
Jika Anda perlu mengirim PDF dari sistem lokal Anda atau ketika URL tidak tersedia:
Untuk PDF yang akan Anda gunakan berulang kali, atau ketika Anda ingin menghindari overhead encoding, gunakan Files API:
Ketika Anda mengirim PDF ke Claude, langkah-langkah berikut terjadi:
Sistem mengekstrak konten dokumen.
Claude menganalisis teks dan gambar untuk memahami dokumen dengan lebih baik.
Claude merespons, mereferensikan konten PDF jika relevan.
Claude dapat mereferensikan konten tekstual dan visual saat merespons. Anda dapat lebih meningkatkan kinerja dengan mengintegrasikan dukungan PDF dengan:
Jumlah token file PDF tergantung pada total teks yang diekstrak dari dokumen serta jumlah halaman:
Anda dapat menggunakan penghitungan token untuk memperkirakan biaya untuk PDF spesifik Anda.
Ikuti praktik terbaik ini untuk hasil optimal:
Untuk pemrosesan volume tinggi, pertimbangkan pendekatan ini:
Cache PDF untuk meningkatkan kinerja pada kueri berulang:
Gunakan Message Batches API untuk alur kerja volume tinggi:
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 '{
"model": "claude-sonnet-4-5",
"max_tokens": 1024,
"messages": [{
"role": "user",
"content": [{
"type": "document",
"source": {
"type": "url",
"url": "https://assets.anthropic.com/m/1cd9d098ac3e6467/original/Claude-3-Model-Card-October-Addendum.pdf"
}
},
{
"type": "text",
"text": "What are the key findings in this document?"
}]
}]
}'# Method 1: Fetch and encode a remote PDF
curl -s "https://assets.anthropic.com/m/1cd9d098ac3e6467/original/Claude-3-Model-Card-October-Addendum.pdf" | base64 | tr -d '\n' > pdf_base64.txt
# Method 2: Encode a local PDF file
# base64 document.pdf | tr -d '\n' > pdf_base64.txt
# Create a JSON request file using the pdf_base64.txt content
jq -n --rawfile PDF_BASE64 pdf_base64.txt '{
"model": "claude-sonnet-4-5",
"max_tokens": 1024,
"messages": [{
"role": "user",
"content": [{
"type": "document",
"source": {
"type": "base64",
"media_type": "application/pdf",
"data": $PDF_BASE64
}
},
{
"type": "text",
"text": "What are the key findings in this document?"
}]
}]
}' > request.json
# Send the API request using the JSON file
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 @request.json# First, upload your PDF to the Files API
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 "[email protected]"
# Then use the returned file_id in your message
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" \
-H "anthropic-beta: files-api-2025-04-14" \
-d '{
"model": "claude-sonnet-4-5",
"max_tokens": 1024,
"messages": [{
"role": "user",
"content": [{
"type": "document",
"source": {
"type": "file",
"file_id": "file_abc123"
}
},
{
"type": "text",
"text": "What are the key findings in this document?"
}]
}]
}'# Create a JSON request file using the pdf_base64.txt content
jq -n --rawfile PDF_BASE64 pdf_base64.txt '{
"model": "claude-sonnet-4-5",
"max_tokens": 1024,
"messages": [{
"role": "user",
"content": [{
"type": "document",
"source": {
"type": "base64",
"media_type": "application/pdf",
"data": $PDF_BASE64
},
"cache_control": {
"type": "ephemeral"
}
},
{
"type": "text",
"text": "Which model has the highest human preference win rates across each use-case?"
}]
}]
}' > request.json
# Then make the API call using the JSON file
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 @request.json# Create a JSON request file using the pdf_base64.txt content
jq -n --rawfile PDF_BASE64 pdf_base64.txt '
{
"requests": [
{
"custom_id": "my-first-request",
"params": {
"model": "claude-sonnet-4-5",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{
"type": "document",
"source": {
"type": "base64",
"media_type": "application/pdf",
"data": $PDF_BASE64
}
},
{
"type": "text",
"text": "Which model has the highest human preference win rates across each use-case?"
}
]
}
]
}
},
{
"custom_id": "my-second-request",
"params": {
"model": "claude-sonnet-4-5",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{
"type": "document",
"source": {
"type": "base64",
"media_type": "application/pdf",
"data": $PDF_BASE64
}
},
{
"type": "text",
"text": "Extract 5 key insights from this document."
}
]
}
]
}
}
]
}
' > request.json
# Then make the API call using the JSON file
curl https://api.anthropic.com/v1/messages/batches \
-H "content-type: application/json" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-d @request.jsonJelajahi contoh praktis pemrosesan PDF dalam resep cookbook kami.