Loading...
    • 構築
    • 管理
    • モデルと価格
    • クライアントSDK
    • APIリファレンス
    Search...
    ⌘K
    最初のステップ
    Claudeの紹介クイックスタート
    Claudeで構築
    機能概要Messages APIの使用Claude APIスキル停止理由の処理
    モデル機能
    拡張思考適応的思考努力タスク予算(ベータ版)高速モード(ベータ版:研究プレビュー)構造化出力引用ストリーミングメッセージバッチ処理検索結果ストリーミング拒否多言語サポート埋め込み
    ツール
    概要ツール使用の仕組みウェブ検索ツールウェブ取得ツールコード実行ツールアドバイザーツールメモリツールBashツールコンピュータ使用ツールテキストエディタツール
    ツールインフラストラクチャ
    ツールリファレンスツール検索プログラマティックツール呼び出し細粒度ツールストリーミング
    コンテキスト管理
    コンテキストウィンドウ圧縮コンテキスト編集プロンプトキャッシングトークンカウント
    ファイルの操作
    Files APIPDFサポート画像とビジョン
    スキル
    概要クイックスタートベストプラクティスエンタープライズ向けスキルAPI内のスキル
    MCP
    リモートMCPサーバーMCPコネクタ
    プロンプトエンジニアリング
    概要プロンプティングのベストプラクティスConsoleプロンプティングツール
    テストと評価
    成功を定義して評価を構築ConsoleでEvaluation Toolを使用レイテンシの削減
    ガードレールの強化
    幻覚の削減出力の一貫性向上ジェイルブレイク対策プロンプトリークの削減
    リソース
    用語集
    リリースノート
    Claude Platform
    Console
    Log in
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...

    Solutions

    • AI agents
    • Code modernization
    • Coding
    • Customer support
    • Education
    • Financial services
    • Government
    • Life sciences

    Partners

    • Amazon Bedrock
    • Google Cloud's Vertex AI

    Learn

    • Blog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Company

    • Anthropic
    • Careers
    • Economic Futures
    • Research
    • News
    • Responsible Scaling Policy
    • Security and compliance
    • Transparency

    Learn

    • Blog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Help and security

    • Availability
    • Status
    • Support
    • Discord

    Terms and policies

    • Privacy policy
    • Responsible disclosure policy
    • Terms of service: Commercial
    • Terms of service: Consumer
    • Usage policy
    ファイルの操作

    Files API

    Files APIを使用してファイルをアップロードおよび管理し、リクエストごとにコンテンツを再アップロードすることなくClaude APIで使用できます。

    Was this page helpful?

    • Files APIの仕組み
    • Files APIの使用方法

    Files APIを使用すると、リクエストごとにコンテンツを再アップロードすることなく、Claude APIで使用するファイルをアップロードおよび管理できます。これは、コード実行ツールを使用して入力(例:データセットとドキュメント)を提供し、出力(例:チャート)をダウンロードする場合に特に便利です。Files APIを使用して、複数のAPI呼び出しで頻繁に使用されるドキュメントと画像を継続的に再アップロードする必要がないようにすることもできます。このガイドに加えて、APIリファレンスを直接探索することもできます。

    Files APIはベータ版です。フィードバックフォームを通じてFiles APIの使用経験を共有してください。

    This feature is not eligible for Zero Data Retention (ZDR). Data is retained according to the feature's standard retention policy.

    サポートされているモデル

    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の仕組み

    Files APIは、ファイルを操作するためのシンプルな「一度アップロード、何度も使用」アプローチを提供します:

    • ファイルをアップロードしてAnthropicのセキュアストレージに保存し、一意の file_id を受け取ります
    • ファイルをダウンロードしてスキルまたはコード実行ツールから作成されます
    • ファイルを参照してMessagesリクエストで file_id を使用し、コンテンツを再アップロードする代わりに使用します
    • ファイルを管理してリスト、取得、削除操作を実行します

    Files APIの使用方法

    Files APIを使用するには、ベータ機能ヘッダーを含める必要があります:anthropic-beta: files-api-2025-04-14。

    ファイルのアップロード

    将来のAPI呼び出しで参照するためにファイルをアップロードします:

    ファイルをアップロードしたときのレスポンスには以下が含まれます:

    Output
    {
      "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 を使用してファイルを参照します:

    ファイルタイプとコンテンツブロック

    Files APIは、異なるコンテンツブロックタイプに対応する異なるファイルタイプをサポートしています:

    ファイルタイプMIMEタイプコンテンツブロックタイプユースケース
    PDFapplication/pdfdocumentテキスト分析、ドキュメント処理
    プレーンテキストtext/plaindocumentテキスト分析、処理
    画像image/jpeg, image/png, image/gif, image/webpimage画像分析、ビジュアルタスク
    データセット、その他

    その他のファイル形式の操作

    document ブロックとしてサポートされていないファイルタイプ(.csv、.txt、.md、.docx、.xlsx)の場合、ファイルをプレーンテキストに変換し、コンテンツをメッセージに直接含めます:

    画像を含む.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"
      }
    }

    ファイルの管理

    ファイルをリストする

    アップロードされたファイルのリストを取得します:

    ファイルメタデータを取得する

    特定のファイルに関する情報を取得します:

    ファイルを削除する

    ワークスペースからファイルを削除します:

    ファイルのダウンロード

    スキルまたはコード実行ツールによって作成されたファイルをダウンロードします:

    ダウンロードできるのは、スキルまたはコード実行ツール](/docs/ja/agents-and-tools/tool-use/code-execution-tool)によって作成されたファイルのみです。アップロードしたファイルはダウンロードできません。


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

    ストレージ制限

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

    ファイルライフサイクル

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

    データ保持

    Files APIを通じてアップロードされたファイルは、DELETE /v1/files/{file_id} エンドポイントを使用して明示的に削除されるまで保持されます。ファイルは複数のAPI要求全体で再利用するために保存されます。

    すべての機能にわたるZDR適格性については、APIとデータ保持を参照してください。

    エラーハンドリング

    Files APIを使用する場合の一般的なエラーには以下が含まれます:

    • ファイルが見つかりません(404): 指定された file_id が存在しないか、アクセス権がありません
    • 無効なファイルタイプ(400): ファイルタイプがコンテンツブロックタイプと一致しません(例:ドキュメントブロックで画像ファイルを使用)
    • コンテキストウィンドウサイズを超過(400): ファイルがコンテキストウィンドウサイズより大きい(例:/v1/messages リクエストで500 MBのプレーンテキストファイルを使用)
    • 無効なファイル名(400): ファイル名が長さ要件(1~255文字)を満たしていないか、禁止文字(<、>、:、"、|、?、*、\、/、またはユニコード文字0~31)を含んでいます
    • ファイルが大きすぎます(413): ファイルが500 MBの制限を超えています
    • 組織が500 GBのストレージ制限に達しています
    Output
    {
      "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)によって作成されたファイルのみです。

    レート制限

    ベータ期間中:

    • ファイル関連のAPI呼び出しは1分あたり約100リクエストに制限されています
    • ユースケースに対してより高い制限が必要な場合は、お問い合わせください
    uploaded = client.beta.files.upload(
        file=("document.pdf", open("/path/to/document.pdf", "rb"), "application/pdf"),
    )
    response = client.beta.messages.create(
        model="claude-opus-4-6",
        max_tokens=1024,
        messages=[
            {
                "role": "user",
                "content": [
                    {"type": "text", "text": "Please summarize this document for me."},
                    {
                        "type": "document",
                        "source": {
                            "type": "file",
                            "file_id": file_id,
                        },
                    },
                ],
            }
        ],
        betas=["files-api-2025-04-14"],
    )
    print(response)
    異なる
    container_upload
    データ分析、ビジュアライゼーション作成
    import pandas as pd
    # ...
    # 例:CSVファイルを読み込む
    df = pd.read_csv("data.csv")
    csv_content = df.to_string()
    
    # メッセージ内でプレーンテキストとして送信
    response = client.messages.create(
        model="claude-opus-4-7",
        max_tokens=1024,
        messages=[
            {
                "role": "user",
                "content": [
                    {
                        "type": "text",
                        "text": f"Here's the CSV data:\n\n{csv_content}\n\nPlease analyze this data.",
                    }
                ],
            }
        ],
    )
    
    print(response.content[0].text)
    client = anthropic.Anthropic()
    files = client.beta.files.list()
    file = client.beta.files.retrieve_metadata(file_id)
    result = client.beta.files.delete(file_id)
    file_content = client.beta.files.download(file_id)
    
    # Save to file
    file_content.write_to_file("downloaded_file.txt")
    ストレージ制限を超過(403):