Files APIを使用すると、リクエストごとにコンテンツを再アップロードすることなく、Claude APIで使用するファイルをアップロードおよび管理できます。これは、コード実行ツールを使用して入力(例:データセットとドキュメント)を提供し、出力(例:チャート)をダウンロードする場合に特に便利です。Files APIを使用して、複数のAPI呼び出しで頻繁に使用されるドキュメントと画像を継続的に再アップロードする必要がなくなります。このガイドに加えて、APIリファレンスを直接探索することもできます。
Files APIは現在ベータ版です。フィードバックフォームを通じてFiles APIの使用体験を共有してください。
Messages リクエストで file_id を参照することは、指定されたファイルタイプをサポートするすべてのモデルでサポートされています。例えば、画像はすべてのClaude 3+モデルでサポートされており、PDFはすべてのClaude 3.5+モデルでサポートされており、その他の様々なファイルタイプはClaude Haiku 4.5およびすべてのClaude 3.7+モデルのコード実行ツールでサポートされています。
Files APIは現在、Amazon BedrockおよびGoogle Vertex AIではサポートされていません。
Files APIは、ファイルを操作するためのシンプルな「一度アップロード、何度も使用」アプローチを提供します:
file_id を受け取りますfile_id を使用し、コンテンツを再アップロードする代わりに使用しますFiles APIを使用するには、ベータ機能ヘッダーを含める必要があります:anthropic-beta: files-api-2025-04-14。
将来の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 "file=@/path/to/document.pdf"ファイルをアップロードしたときのレスポンスには以下が含まれます:
{
"id": "file_011CNha8iCJcU1wXNR6q4V8w",
"type": "file",
"filename": "document.pdf",
"mime_type": "application/pdf",
"size_bytes": 1024000,
"created_at": "2025-01-01T00:00:00Z",
"downloadable": false
}アップロード後、file_id を使用してファイルを参照します:
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-5",
"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"
}
}
]
}
]
}'Files APIは、異なるコンテンツブロックタイプに対応する異なるファイルタイプをサポートしています:
| ファイルタイプ | MIMEタイプ | コンテンツブロックタイプ | ユースケース |
|---|---|---|---|
application/pdf | document | テキスト分析、ドキュメント処理 | |
| プレーンテキスト | text/plain | document | テキスト分析、処理 |
| 画像 | image/jpeg, image/png, image/gif, image/webp | image | 画像分析、ビジュアルタスク |
| データセット、その他 | 様々 | container_upload | データ分析、ビジュアライゼーション作成 |
document ブロックとしてサポートされていないファイルタイプ(.csv、.txt、.md、.docx、.xlsx)の場合、ファイルをプレーンテキストに変換し、コンテンツをメッセージに直接含めます:
# 例:テキストファイルを読み込んでプレーンテキストとして送信
# 注:特殊文字を含むファイルの場合、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-5",
"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画像を含む.docxファイルの場合、まずPDF形式に変換してから、PDFサポートを使用して組み込みの画像解析を活用します。これにより、PDFドキュメントからの引用を使用できます。
PDFおよびテキストファイルの場合、document コンテンツブロックを使用します:
{
"type": "document",
"source": {
"type": "file",
"file_id": "file_011CNha8iCJcU1wXNR6q4V8w"
},
"title": "Document Title", // オプション
"context": "Context about the document", // オプション
"citations": {"enabled": true} // オプション、引用を有効にします
}画像の場合、image コンテンツブロックを使用します:
{
"type": "image",
"source": {
"type": "file",
"file_id": "file_011CPMxVD3fHLUhvTqtsQA5w"
}
}アップロードされたファイルのリストを取得します:
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"特定のファイルに関する情報を取得します:
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"ワークスペースからファイルを削除します:
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"スキルまたはコード実行ツールによって作成されたファイルをダウンロードします:
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ダウンロードできるのは、スキルまたはコード実行ツール](/docs/ja/agents-and-tools/tool-use/code-execution-tool)によって作成されたファイルのみです。アップロードしたファイルはダウンロードできません。
Messages API呼び出しと関連するツール使用に保持される場合がありますFiles APIを使用する場合の一般的なエラーには以下が含まれます:
file_id が存在しないか、アクセス権限がありません/v1/messages リクエストで500 MBのプレーンテキストファイルを使用)<、>、:、"、|、?、*、\、/、またはユニコード文字0~31)を含んでいます{
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "File not found: file_011CNha8iCJcU1wXNR6q4V8w"
}
}File API操作は無料です:
Messages リクエストで使用されるファイルコンテンツは入力トークンとして課金されます。ダウンロードできるのは、スキルまたはコード実行ツール](/docs/ja/agents-and-tools/tool-use/code-execution-tool)によって作成されたファイルのみです。
ベータ期間中: