C
Claude Academy
Files API

Files API でファイルを扱う

約 10 分 · クイズ 3 問 · 演習 1 問
重要キーワード (3 語)
Files API (ファイルAPI) — PDF・画像などをアップロードして再利用するためのエンドポイント
file_id (ファイルID) — アップロード後に発行される識別子
PDF Vision (PDF視覚理解) — Claude が PDF をそのまま画像 + テキストとして読む機能

Files API

長いドキュメント・画像などを 再利用しながらメッセージに添付 したいときは Files API を使います。アップロードすると file_id が発行され、 以降は ID で参照できるためトークンとネットワーク帯域を節約できます。

用途

  • PDF を一度アップして何度も質問する
  • 同じ参考画像を別の会話セッションで使う
  • バッチ処理で同一資料を複数のリクエストに添付

アップロード

from anthropic import Anthropic
client = Anthropic()

with open("report.pdf", "rb") as f:
    file = client.files.create(
        file=("report.pdf", f, "application/pdf")
    )
print(file.id)  # 'file_01ABCD...'

メッセージに添付

msg = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[{
        "role": "user",
        "content": [
            {"type": "document", "source": {"type": "file", "file_id": file.id}},
            {"type": "text", "text": "この PDF の要点を 5 つにまとめてください。"},
        ],
    }],
)

PDF は Claude Vision によりテキスト+レイアウト+画像として理解されます。 スキャン PDF (画像のみ) でもある程度読み取れますが、品質は元の解像度次第。

サポートされる主な形式

  • application/pdf
  • image/png / image/jpeg / image/gif / image/webp
  • text/plain, text/csv, text/markdown

ファイルの管理

# 一覧
for f in client.files.list():
    print(f.id, f.filename, f.size_bytes)

# 削除
client.files.delete(file.id)

コストの考え方

  • アップロード自体は基本無料 (帯域による)。
  • 各メッセージで添付するときに その都度トークン換算で課金 される。
  • 同じファイルを毎回送るより、Prompt Caching と組み合わせると劇的に安くなる (第4章)。

Tip: 巨大 PDF はチャンク戦略を併用

200 ページ超の文書だと、毎回フルで添付するとコストが膨らみます。 - 目次 → 必要な章だけテキスト抽出 → 渡す - もしくは RAG (第8章) と組み合わせる

試してみよう (Web 上)

API なしでも、claude.ai に PDF を添付するだけで同じ体験ができます。 コーディング前に Web で挙動を試すのが効率的です。

▶ 添付なしでもイメージ
一般的な企業の四半期決算 PDF を添付したと仮定して、Claude にどんな質問を投げると有用な要約が得られますか?5 つ提案してください。

Hands-on 演習

演習 1: PDF 要約スクリプトを書く

ローカルの PDF を Files API でアップロードし、3 行で要約させる Python スクリプトを書いてください。 - CLI: python summarize.py path/to/file.pdf - 結果はコンソール出力 - 終了時に file を削除 (掃除)

▶ Playground を開いて実行
💡 ヒント

with open(path, 'rb') as f でバイナリ読み込み。client.files.delete(file.id)try/finally で確実に呼ぶと安全です。

進捗保存にはログインが必要 クイズに挑戦 (3問)

💬 このレッスンへの質問 (0)

全質問を見る →
質問の投稿には ログイン が必要です。閲覧は誰でも可能です。

まだ質問はありません。最初の 1 件を投稿してみましょう。