Loading...
    • 开发者指南
    • API 参考
    • MCP
    • 资源
    • 更新日志
    Search...
    ⌘K
    入门
    Claude 简介快速开始
    模型与定价
    模型概览选择模型Claude 4.6 新特性迁移指南模型弃用定价
    使用 Claude 构建
    功能概览使用 Messages API处理停止原因提示词最佳实践
    上下文管理
    上下文窗口压缩上下文编辑
    能力
    提示缓存扩展思考自适应思考推理力度流式消息批量处理引用多语言支持Token 计数嵌入视觉PDF 支持Files API搜索结果结构化输出
    工具
    概览如何实现工具使用细粒度工具流式传输Bash 工具代码执行工具程序化工具调用计算机使用工具文本编辑器工具网页抓取工具网页搜索工具记忆工具工具搜索工具
    Agent Skills
    概览快速开始最佳实践企业级 Skills通过 API 使用 Skills
    Agent SDK
    概览快速开始TypeScript SDKTypeScript V2(预览版)Python SDK迁移指南
    API 中的 MCP
    MCP 连接器远程 MCP 服务器
    第三方平台上的 Claude
    Amazon BedrockMicrosoft FoundryVertex AI
    提示工程
    概览提示词生成器使用提示词模板提示词优化器清晰直接使用示例(多样本提示)让 Claude 思考(思维链)使用 XML 标签赋予 Claude 角色(系统提示词)链式复杂提示长上下文技巧扩展思考技巧
    测试与评估
    定义成功标准开发测试用例使用评估工具降低延迟
    加强安全护栏
    减少幻觉提高输出一致性防范越狱攻击流式拒绝减少提示词泄露保持 Claude 角色设定
    管理与监控
    Admin API 概览数据驻留工作空间用量与成本 APIClaude Code Analytics API零数据留存
    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
    • Catalog
    • 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
    • Catalog
    • 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 配合使用,无需在每次请求时重新上传内容。

    Files API 允许您上传和管理文件,以便与 Claude API 配合使用,无需在每次请求时重新上传内容。这在使用代码执行工具提供输入(例如数据集和文档)然后下载输出(例如图表)时特别有用。您还可以使用 Files API 来避免在多次 API 调用中反复重新上传常用的文档和图像。除了本指南外,您还可以直接查看 API 参考。

    Files API 目前处于 beta 阶段。请通过我们的反馈表单分享您使用 Files API 的体验。

    支持的模型

    在 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 提供了一种简单的一次创建、多次使用的文件处理方式:

    • 上传文件到我们的安全存储并获得唯一的 file_id
    • 下载文件,这些文件由技能或代码执行工具创建
    • 在 Messages 请求中使用 file_id 引用文件,而无需重新上传内容
    • 通过列表、检索和删除操作管理您的文件

    如何使用 Files API

    要使用 Files API,您需要包含 beta 功能头: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-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_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-opus-4-6",
      "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

    您只能下载由技能或代码执行工具创建的文件。您上传的文件无法下载。


    文件存储和限制

    存储限制

    • **最大文件大小:**每个文件 500 MB
    • **总存储空间:**每个组织 100 GB

    文件生命周期

    • 文件的作用域为 API 密钥所属的工作区。其他 API 密钥可以使用同一工作区中任何其他 API 密钥创建的文件
    • 文件会持续存在直到您删除它们
    • 已删除的文件无法恢复
    • 文件在删除后不久即无法通过 API 访问,但它们可能在活跃的 Messages API 调用和相关工具使用中仍然存在
    • 用户删除的文件将根据我们的数据保留政策进行删除。

    错误处理

    使用 Files API 时的常见错误包括:

    • **文件未找到 (404):**指定的 file_id 不存在或您没有访问权限
    • **无效文件类型 (400):**文件类型与内容块类型不匹配(例如,在文档块中使用图像文件)
    • **超出上下文窗口大小 (400):**文件大于上下文窗口大小(例如,在 /v1/messages 请求中使用 500 MB 的纯文本文件)
    • **无效文件名 (400):**文件名不满足长度要求(1-255 个字符)或包含禁止字符(<、>、:、"、|、?、*、\、/ 或 unicode 字符 0-31)
    • **文件过大 (413):**文件超过 500 MB 限制
    • **存储限制已超出 (403):**您的组织已达到 100 GB 存储限制
    {
      "type": "error",
      "error": {
        "type": "invalid_request_error",
        "message": "File not found: file_011CNha8iCJcU1wXNR6q4V8w"
      }
    }

    使用和计费

    File API 操作是免费的:

    • 上传文件
    • 下载文件
    • 列出文件
    • 获取文件元数据
    • 删除文件

    在 Messages 请求中使用的文件内容按输入 token 计费。您只能下载由技能或代码执行工具创建的文件。

    速率限制

    在 beta 期间:

    • 文件相关的 API 调用限制为大约每分钟 100 个请求
    • 如果您的用例需要更高的限制,请联系我们

    Was this page helpful?

    • Files API 的工作原理
    • 如何使用 Files API