Files API
Files APIを使用すると、リクエストごとにコンテンツを再アップロードすることなく、Anthropic APIで使用するファイルをアップロードおよび管理できます。これは、コード実行ツールを使用して入力(データセットやドキュメントなど)を提供し、出力(チャートなど)をダウンロードする場合に特に便利です。また、Files APIを使用して、複数のAPI呼び出しで頻繁に使用されるドキュメントや画像を継続的に再アップロードする必要がなくなります。
Files APIは現在ベータ版です。Files APIの使用体験について、フィードバックフォームからご意見をお寄せください。
サポートされているモデル
Messagesリクエストでfile_id
を参照することは、特定のファイルタイプをサポートするすべてのモデルでサポートされています。例えば、画像はすべてのClaude 3以降のモデルで、PDFはすべてのClaude 3.5以降のモデルで、コード実行ツール用のその他の様々なファイルタイプはClaude 3.5 HaikuおよびすべてのClaude 3.7以降のモデルでサポートされています。
Files APIは現在、Amazon BedrockやGoogle Vertex AIではサポートされていません。
Files APIの仕組み
Files APIは、ファイルを扱うための一度作成して何度も使用できるシンプルなアプローチを提供します:
- ファイルを安全なストレージにアップロードし、一意の
file_id
を受け取る - コード実行ツールから作成されたファイルをダウンロードする
- コンテンツを再アップロードする代わりに、
file_id
を使用してMessagesリクエストでファイルを参照する - リスト、取得、削除操作でファイルを管理する
Files APIの使用方法
Files APIを使用するには、ベータ機能ヘッダーを含める必要があります:anthropic-beta: files-api-2025-04-14
ファイルのアップロード
将来のAPI呼び出しで参照するためにファイルをアップロードします:
ファイルタイプとコンテンツブロック
Files APIは、異なるコンテンツブロックタイプに対応する異なるファイルタイプをサポートしています:
ファイルタイプ | MIMEタイプ | コンテンツブロックタイプ | ユースケース |
---|---|---|---|
application/pdf | document | テキスト分析、ドキュメント処理 | |
プレーンテキスト | text/plain | document | テキスト分析、処理 |
画像 | image/jpeg , image/png , image/gif , image/webp | image | 画像分析、視覚的タスク |
データセット、その他 | 様々 | container_upload | データ分析、可視化の作成 |
ドキュメントブロック
PDFとテキストファイルには、document
コンテンツブロックを使用します:
画像ブロック
画像には、image
コンテンツブロックを使用します:
ファイルの管理
ファイル一覧の取得
アップロードしたファイルのリストを取得します:
ファイルメタデータの取得
特定のファイルに関する情報を取得します:
ファイルの削除
ワークスペースからファイルを削除します:
ファイルのダウンロード
コード実行ツールによって作成されたファイルをダウンロードします:
コード実行ツールによって作成されたファイルのみダウンロードできます。アップロードしたファイルはダウンロードできません。
ファイルストレージと制限
ストレージ制限
- 最大ファイルサイズ: ファイルあたり32 MB
- 総ストレージ: 組織あたり100 GB
ファイルのライフサイクル
- ファイルはAPIキーのワークスペースにスコープされます。同じワークスペースに関連付けられた他のAPIキーは、他のAPIキーによって作成されたファイルを使用できます
- ファイルは削除するまで保持されます
- 削除されたファイルは復元できません
- ファイルは削除後すぐにAPIからアクセスできなくなりますが、アクティブな
Messages
API呼び出しと関連するツールの使用では引き続き存在する場合があります
エラー処理
Files API使用時の一般的なエラーには以下が含まれます:
- ファイルが見つかりません(404): 指定された
file_id
が存在しないか、アクセス権がありません - 無効なファイルタイプ(400): ファイルタイプがコンテンツブロックタイプと一致しません(例:ドキュメントブロックで画像ファイルを使用)
- ファイルが大きすぎます(413): ファイルが500 MBの制限を超えています
- ストレージ制限を超えました(403): 組織が100 GBのストレージ制限に達しました
- 無効なファイル名(400): ファイル名が長さの要件(1〜255文字)を満たしていないか、禁止文字(
<
、>
、:
、"
、|
、?
、*
、\
、/
、またはUnicode文字0-31)が含まれています
使用量と課金
File API操作は無料です:
- ファイルのアップロード
- ファイルのダウンロード
- ファイル一覧の取得
- ファイルメタデータの取得
- ファイルの削除
Messages
リクエストで使用されるファイルコンテンツは入力トークンとして課金されます。コード実行ツールによって作成されたファイルのみダウンロードできます。
レート制限
ベータ期間中:
- ファイル関連のAPI呼び出しは、約1分あたり100リクエストに制限されています
- ユースケースに応じてより高い制限が必要な場合は、お問い合わせください