メインコンテンツへスキップ
Files APIを使用すると、Claude APIで使用するファイルをアップロードして管理できます。リクエストのたびにコンテンツを再度アップロードする必要がありません。これは、コード実行ツールを使用して入力(データセットやドキュメントなど)を提供し、出力(チャートなど)をダウンロードする場合に特に便利です。Files APIを使用して、複数の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 を受け取ります
  • ファイルをダウンロードして、スキルまたはコード実行ツールから作成されたファイルを取得します
  • ファイルを参照して、Messagesリクエストで file_id を使用し、コンテンツを再度アップロードする代わりに使用します
  • ファイルを管理して、リスト、取得、削除操作を実行します

Files APIの使用方法

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タイプコンテンツブロックタイプユースケース
PDFapplication/pdfdocumentテキスト分析、ドキュメント処理
プレーンテキストtext/plaindocumentテキスト分析、処理
画像image/jpeg, image/png, image/gif, image/webpimage画像分析、ビジュアルタスク
データセット、その他異なる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
ダウンロードできるのは、スキルまたはコード実行ツール](/ja/docs/agents-and-tools/tool-use/code-execution-tool)によって作成されたファイルのみです。アップロードしたファイルはダウンロードできません。

ファイルストレージと制限

ストレージ制限

  • 最大ファイルサイズ: ファイルあたり500 MB
  • 総ストレージ: 組織あたり100 GB

ファイルのライフサイクル

  • ファイルはAPIキーのワークスペースにスコープされます。他のAPIキーは、同じワークスペースに関連付けられた他のAPIキーによって作成されたファイルを使用できます
  • ファイルは削除するまで保持されます
  • 削除されたファイルは復旧できません
  • ファイルはAPI経由で削除後すぐにアクセスできなくなりますが、アクティブな Messages API呼び出しと関連するツール使用に保持される場合があります
  • ユーザーが削除したファイルは、データ保持ポリシーに従って削除されます。

エラーハンドリング

Files APIを使用する場合の一般的なエラーには、以下が含まれます:
  • ファイルが見つかりません(404): 指定された file_id が存在しないか、アクセス権がありません
  • 無効なファイルタイプ(400): ファイルタイプがコンテンツブロックタイプと一致しません(例:ドキュメントブロックで画像ファイルを使用)
  • コンテキストウィンドウサイズを超過(400): ファイルがコンテキストウィンドウサイズより大きい(例:/v1/messages リクエストで500 MBのプレーンテキストファイルを使用)
  • 無効なファイル名(400): ファイル名が長さ要件(1~255文字)を満たしていないか、禁止文字(<>:"|?*\/、またはユニコード文字0~31)を含んでいます
  • ファイルが大きすぎます(413): ファイルが500 MBの制限を超えています
  • ストレージ制限を超過(403): 組織が100 GBのストレージ制限に達しています
{
  "type": "error",
  "error": {
    "type": "invalid_request_error",
    "message": "File not found: file_011CNha8iCJcU1wXNR6q4V8w"
  }
}

使用とビリング

File API操作は無料です:
  • ファイルのアップロード
  • ファイルのダウンロード
  • ファイルのリスト
  • ファイルメタデータの取得
  • ファイルの削除
Messages リクエストで使用されるファイルコンテンツは、入力トークンとして課金されます。ダウンロードできるのは、スキルまたはコード実行ツール](/ja/docs/agents-and-tools/tool-use/code-execution-tool)によって作成されたファイルのみです。

レート制限

ベータ期間中:
  • ファイル関連のAPI呼び出しは、1分あたり約100リクエストに制限されています
  • ユースケースに対してより高い制限が必要な場合は、お問い合わせください