Loading...
    • 开发者指南
    • API 参考
    • MCP
    • 资源
    • 发布说明
    Search...
    ⌘K
    快速开始
    Claude 简介快速入门
    模型与定价
    模型概览选择模型Claude 4.5 新功能迁移到 Claude 4.5模型弃用定价
    使用 Claude 构建
    功能概览使用 Messages API上下文窗口提示词最佳实践
    能力
    提示词缓存上下文编辑扩展思考工作量流式消息批量处理引用多语言支持Token 计数嵌入视觉PDF 支持Files API搜索结果结构化输出
    工具
    概览如何实现工具使用细粒度工具流式传输Bash 工具代码执行工具程序化工具调用计算机使用工具文本编辑器工具Web 获取工具Web 搜索工具内存工具工具搜索工具
    Agent Skills
    概览快速入门最佳实践在 API 中使用 Skills
    Agent SDK
    概览快速入门TypeScript SDKTypeScript V2(预览版)Python SDK迁移指南
    API 中的 MCP
    MCP 连接器远程 MCP 服务器
    第三方平台上的 Claude
    Amazon BedrockMicrosoft FoundryVertex AI
    提示词工程
    概览提示词生成器使用提示词模板提示词改进器清晰直接使用示例(多轮提示)让 Claude 思考(CoT)使用 XML 标签给 Claude 一个角色(系统提示词)预填充 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
    能力

    文件 API

    使用文件 API 上传和管理文件,在 Claude API 中使用,无需在每次请求时重新上传内容。

    文件 API 让你上传和管理文件以供 Claude API 使用,无需在每次请求时重新上传内容。这在使用代码执行工具提供输入(例如数据集和文档)然后下载输出(例如图表)时特别有用。你也可以使用文件 API 来避免在多个 API 调用中不断重新上传常用的文档和图像。你可以直接探索 API 参考,除了本指南外。

    文件 API 目前处于测试版。请通过我们的反馈表单分享你对文件 API 的体验。

    支持的模型

    在 Messages 请求中引用 file_id 在所有支持给定文件类型的模型中都受支持。例如,图像在所有 Claude 3+ 模型中受支持,PDF 在所有 Claude 3.5+ 模型中受支持,以及各种其他文件类型用于 Claude Haiku 4.5 及所有 Claude 3.7+ 模型中的代码执行工具。

    文件 API 目前在 Amazon Bedrock 或 Google Vertex AI 上不受支持。

    文件 API 如何工作

    文件 API 提供了一种简单的一次上传、多次使用的方法来处理文件:

    • 上传文件到我们的安全存储并接收唯一的 file_id
    • 下载文件由技能或代码执行工具创建
    • 在 Messages 请求中引用文件,使用 file_id 而不是重新上传内容
    • 管理你的文件,包括列表、检索和删除操作

    如何使用文件 API

    要使用文件 API,你需要包含测试版功能头:anthropic-beta: files-api-2025-04-14。

    上传文件

    上传文件以在将来的 API 调用中引用:

    上传文件的响应将包括:

    {
      "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 引用文件:

    文件类型和内容块

    文件 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"
      }
    }

    管理文件

    列表文件

    检索你上传的文件列表:

    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"

    下载文件

    下载由技能或代码执行工具创建的文件:

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


    文件存储和限制

    存储限制

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

    文件生命周期

    • 文件的范围限制在 API 密钥的工作区内。其他 API 密钥可以使用由与同一工作区关联的任何其他 API 密钥创建的文件
    • 文件持续存在直到你删除它们
    • 删除的文件无法恢复
    • 删除后不久,文件将无法通过 API 访问,但它们可能会在活跃的 Messages API 调用和相关工具使用中持续存在
    • 用户删除的文件将根据我们的数据保留政策被删除。

    错误处理

    使用文件 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"
      }
    }

    使用和计费

    文件 API 操作是免费的:

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

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

    速率限制

    在测试版期间:

    • 文件相关的 API 调用限制为大约每分钟 100 个请求
    • 如果你的用例需要更高的限制,请联系我们
    • 文件 API 如何工作
    • 如何使用文件 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"
    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"
                }
              }
            ]
          }
        ]
      }'
    container_upload
    分析数据、创建可视化
    # 示例:读取文本文件并将其作为纯文本发送
    # 注意:对于包含特殊字符的文件,考虑 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
    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