Claude APIAnthropic の機能

FEATURE

Files API

Files API は、Claude API で使うファイルをアップロードして管理する機能です。

提供中公式発表と照合済み
初出未調査
ページ更新
提供状態提供中
公式の記載で確認できた環境API
提供を確認できたプラン公式に記載なし
目次 CONTENTS
  1. できること
  2. 機能解説
  3. 使い方
  4. 利用シーン
  5. ChatGPT・OpenAI の対応する機能
  6. これまでの変更
  7. 出典
CAN DO

できること

POINT 01

ファイルを一度送り再利用

ファイルを Anthropic の secure storage にアップロードすると、固有の file_id が返ります。以後の Messages リクエストでは、内容を送り直す代わりにこの file_id で参照できます。

POINT 02

保存したファイルの管理

アップロード済みのファイルは、list・retrieve・delete の操作で管理できます。一覧取得では、ページネーションと、最大 100 件の ID を指定する ids[] を使えます。

POINT 03

生成ファイルの取得

skills やコード実行ツールが作成したファイルをダウンロードできます。自分でアップロードしたファイルはダウンロードできません。

GUIDE

機能解説

概要

リクエストのたびに同じ内容を送り直す必要はありません。アップロードしたファイルは file_id で Messages リクエストから参照します。コード実行ツールと組み合わせると、データセットや文書を入力として渡し、グラフなどの出力をダウンロードできます。

Files API でアップロードしたファイルは、file_id を使って Messages リクエストから参照します。リクエストごとに内容を送り直す必要はありません。

ファイルの種類によって、対応する content block が異なります。

  • PDF とプレーンテキスト: document content block
  • 画像: image content block
  • データセットなどその他のファイル: container_upload content block

保存したファイルは、list・retrieve・delete の操作で管理します。

有効期限とファイルのライフサイクル

ファイルは、DELETE /v1/files/{file_id} エンドポイントで削除するか、expires_at に達するまで保持されます。削除したファイルは復元できません。

  • アップロード後にファイルを変更したり、名前を変えたりすることはできません。内容を変えるには、新しいファイルをアップロードし、古いファイルを削除します。
  • 自動で失効させるには、アップロード時に expires_in_seconds のフォームフィールド (3,600 から 7,776,000 までの整数) を含めます。ファイルオブジェクトは expires_at を返します。
  • 有効期限はアップロード時に一度だけ設定でき、後から変更できません。
  • expires_at に達したファイルを参照する Messages リクエストは、推論の前に失敗します。

一覧の取得とダウンロード

ファイル一覧のエンドポイントはページネーションに対応しており、1 回のリクエストで limit 件 (既定は 20 件、最大 1,000 件) までを新しい順に返します。ページの移動には page と next_page を使います。

特定のファイル群をまとめて確認するときは、最大 100 件のファイル ID を ids[] クエリパラメーターとして渡せます。ids[] は page や limit と組み合わせられません。

コード実行ツールが生成したファイルの file_id は、それを作成した Messages 応答の bash_code_execution_tool_result content block に含まれます。この file_id を使い、GET /v1/files/$FILE_ID/content または ant files download --file-id "$FILE_ID" --output downloaded_file.txt でダウンロードします。Claude API では、コード実行ツールで Claude が生成した対応形式の画像・動画・音声ファイル (skills が作成したファイルを含む) に、ダウンロード時に署名付きの C2PA Content Credentials が付きます。

管理者・導入時に確認したい点

  • アップロードしたファイルは、エンドユーザー・会話・セッション単位で区切られません。ワークスペースにアクセスできる API キーであれば、そのワークスペースにアップロードされたどのファイルにもアクセスできます。
  • 組織で Compliance API を有効にしている場合、Activity Feed には Files API のアップロード、内容のダウンロード、削除が記録されます。ファイル一覧の取得とメタデータの取得は記録されません。
  • 削除したファイルは復元できません。
HOW TO USE

使い方

  1. POST https://api.anthropic.com/v1/files にファイルを送ってアップロードします。CLI では ant files upload --file /path/to/document.pdf も使えます。
  2. アップロードの応答に含まれる id を file_id として content block (たとえば source type が file の document block) に渡し、Messages リクエストからファイルを参照します。
公式ヘルプを開く ↗
USE CASES

利用シーン

CASE 01

コード実行ツールにデータセットや文書を渡し、生成されたグラフなどを受け取る分析作業に向いています。

CASE 02

同じ PDF や文書を複数のリクエストで繰り返し参照する用途に使えます。

CASE 03

一時的に使う資料を、expires_in_seconds で有効期限を付けて置いておく場面に使えます。

COMPARISON

ChatGPT・OpenAI の対応する機能

公式リリースノートでは、対応する発表を確認できていません (2026-11-03 時点)。 これは、対応する機能が存在しないことを示すものではありません。

TIMELINE

これまでの変更

  1. Python SDK 1.2.0、TypeScript SDK 0.122.0、Go SDK 1.68.0、Java SDK 2.59.0、Ruby SDK 1.67.0、C# SDK 12.44.0 で、client.beta.files は files-api-2025-04-14 ベータヘッダーを送らなくなり、client.files と同じ形式を返すようになりました。ベータヘッダーを送り続けるリクエストは、ベータの形式を受け取り続けます。

  2. Files API が Claude API でベータを終了しました。/v1/files エンドポイントへのリクエストと、アップロード済みファイルを参照する Messages API リクエストに、files-api-2025-04-14 ベータヘッダーは不要になりました。ヘッダーなしのリクエストは現行のレスポンス形式となり、expires_in_seconds による有効期限の指定、ファイル一覧での page・next_page のページネーションと ids[] フィルターが使えます。ベータヘッダーを送り続ける /v1/files リクエストも動作し、以前のレスポンス形式を返します。

ベータ版から移行する手順は次のとおりです。

1. リクエストから anthropic-beta: files-api-2025-04-14 ヘッダーを外します。

2. after_id/before_id によるループを page/next_page のカーソルに置き換えるか、SDK の自動ページネーション機能を使います。

3. expires_at フィールドを読み取ります。このフィールドはベータヘッダーなしの場合だけ現れ、null は有効期限が無いことを示します。

SOURCES

出典

出典 3 件を表示