Was this page helpful?
This feature is eligible for Zero Data Retention (ZDR). When your organization has a ZDR arrangement, data sent through this feature is not stored after the API response is returned.
提供するPDFのテキスト、画像、チャート、表について、Claudeに質問することができます。いくつかのサンプルユースケース:
Claudeは標準的なPDFで動作します。リクエストサイズがこれらの要件を満たしていることを確認してください:
| 要件 | 制限 |
|---|---|
| 最大リクエストサイズ | 32 MB (プラットフォームによって異なります) |
| リクエストあたりの最大ページ数 | 600(200kトークンコンテキストウィンドウを持つモデルの場合は100) |
| 形式 | 標準PDF(パスワード/暗号化なし) |
両方の制限は、PDFと一緒に送信される他のコンテンツを含む、リクエスト全体のペイロードに対するものです。大きなPDFの場合、Files APIでアップロードし、file_idで参照することでリクエストペイロードを小さく保つことを検討してください。
密集したPDF(多くの小さいフォントのページ、複雑な表、または重いグラフィックス)は、ページ制限に達する前にコンテキストウィンドウを満たす可能性があります。大きなPDFを含むリクエストは、Files APIを使用している場合でも、ページ制限に達する前に失敗する可能性があります。ドキュメントをセクションに分割することを試してください。大きなファイルの場合、各ページが画像として処理されるため、埋め込み画像のダウンサンプリングも役立つ可能性があります。
PDFサポートはClaudeのビジョン機能に依存しているため、他のビジョンタスクと同じ制限と考慮事項の対象となります。
PDFサポートは現在、直接API アクセスとGoogle Vertex AIを通じてサポートされています。すべてのアクティブなモデルがPDF処理をサポートしています。
PDFサポートはAmazon Bedrockで利用可能になりました。以下の考慮事項があります:
Amazon BedrockのConverse APIを通じてPDFサポートを使用する場合、2つの異なるドキュメント処理モードがあります:
重要: Converse APIでClaudeの完全なビジュアルPDF理解機能にアクセスするには、引用を有効にする必要があります。引用が有効になっていない場合、APIは基本的なテキスト抽出のみにフォールバックします。引用の使用の詳細をご覧ください。
Converse Document Chat(元のモード - テキスト抽出のみ)
Claude PDF Chat(新しいモード - 完全なビジュアル理解)
顧客がConverse APIを使用する場合、ClaudeがPDF内の画像またはチャートを見ていないと報告している場合、引用フラグを有効にする必要がある可能性があります。それなしでは、Converseは基本的なテキスト抽出のみにフォールバックします。
これはConverse APIの既知の制約です。引用なしでビジュアルPDF分析が必要なアプリケーションの場合は、代わりにInvokeModel APIの使用を検討してください。
.csv、.xlsx、.docx、.md、.txtファイルなどのPDF以外のファイルについては、他のファイル形式の使用を参照してください。
Messages APIを使用した簡単な例から始めましょう。3つの方法でPDFをClaudeに提供できます:
documentコンテンツブロック内のbase64エンコードされたPDFとしてfile_idによって最も簡単なアプローチは、URLからPDFを直接参照することです:
ローカルシステムからPDFを送信する必要がある場合、またはURLが利用できない場合:
繰り返し使用するPDF、またはエンコーディングオーバーヘッドを回避したい場合は、Files APIを使用してください:
PDFをClaudeに送信すると、次の手順が実行されます:
システムはドキュメントの内容を抽出します。
Claudeはテキストと画像の両方を分析してドキュメントをより良く理解します。
Claudeは応答し、関連する場合はPDFのコンテンツを参照します。
Claudeは応答時にテキストとビジュアルコンテンツの両方を参照できます。PDFサポートを以下と統合することで、パフォーマンスをさらに向上させることができます:
PDFファイルのトークン数は、ドキュメントから抽出されたテキスト全体とページ数に依存します:
トークンカウントを使用して、特定のPDFのコストを見積もることができます。
最適な結果を得るために、これらのベストプラクティスに従ってください:
大量処理の場合は、以下のアプローチを検討してください:
繰り返しクエリのパフォーマンスを向上させるためにPDFをキャッシュします:
大量ワークフローにはMessage Batches APIを使用します:
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-opus-4-6",
"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-opus-4-6",
"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-opus-4-6",
"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-opus-4-6",
"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-opus-4-6",
"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-opus-4-6",
"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.jsonPDFサポートの完全なAPIドキュメントを参照してください。