Claude Platform Docs
  • 消息
  • 托管智能体
  • 管理

Search...
⌘K
第一步
Claude 简介快速入门
使用 Claude 构建
功能概览使用 Messages API停止原因与回退拒绝与回退回退额度
模型能力
扩展思考自适应思考努力程度任务预算(测试版)快速模式(研究预览)结构化输出引用流式传输消息批量处理搜索结果流式传输拒绝多语言支持嵌入
工具
概览工具使用的工作原理教程:构建使用工具的智能体定义工具处理工具调用并行工具使用工具运行器(SDK)严格工具使用工具使用与提示缓存服务器工具故障排除网页搜索工具网页抓取工具代码执行工具顾问工具记忆工具Bash 工具计算机使用工具文本编辑器工具
工具基础设施
工具参考管理工具上下文工具组合工具搜索编程式工具调用细粒度工具流式传输
上下文管理
上下文窗口压缩上下文编辑提示缓存对话中系统消息构建编排模式缓存诊断(测试版)令牌计数
处理文件
Files APIPDF 支持图像与视觉
技能
概览快速入门最佳实践企业技能API 中的技能
MCP
远程 MCP 服务器MCP 连接器
云平台上的 Claude
Amazon BedrockAmazon Bedrock(旧版)AWS 上的 Claude PlatformMicrosoft FoundryVertex AI

Log in
Files API
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Claude Platform Docs

Solutions

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

Partners

  • Claude on AWS
  • Claude on Google Cloud

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 中使用,而无需在每次请求时重新上传内容。这在使用代码执行工具时特别有用,可以提供输入(例如数据集和文档),然后下载输出(例如图表)。您还可以使用 Files API 避免在多个 API 调用中反复重新上传常用的文档和图片。除了本指南外,您还可以直接查阅 API 参考文档。



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



此功能不符合零数据保留(ZDR)的条件。数据将根据该功能的标准保留策略进行保留。

支持的模型

在 Messages 请求中引用 file_id 的功能在所有支持相应文件类型的模型上均可用。图片在所有当前的 Claude 模型上均受支持。对于 PDF 和代码执行工具支持的其他文件类型,请参阅链接页面了解模型支持情况。

Files API 可在 Claude API、AWS 上的 Claude Platform 和 Microsoft Foundry 上使用。目前在 Amazon Bedrock 或 Vertex AI 上不可用。

Files API 的工作原理

Files API 提供了一种简单的"一次创建,多次使用"的文件处理方式:

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

如何使用 Files API



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

上传文件

上传文件以便在后续 API 调用中引用:

uploaded = client.beta.files.upload(
    file=("document.pdf", open("/path/to/document.pdf", "rb"), "application/pdf"),
)

上传文件的响应将包含:

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

response = client.beta.messages.create(
    model="claude-opus-4-8",
    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)

文件类型和内容块

Files API 支持不同的文件类型,对应不同的内容块类型:

文件类型MIME 类型内容块类型使用场景
PDFapplication/pdfdocument文本分析、文档处理
纯文本text/plaindocument文本分析、处理
图片image/jpeg、image/png、image/gif、image/webpimage图像分析、视觉任务
数据集及其他多种类型container_upload分析数据、创建可视化图表

处理其他文件格式

对于不支持作为 document 块的文件类型(.csv、.txt、.md、.docx、.xlsx),请将文件转换为纯文本,并将内容直接包含在您的消息中:

import pandas as pd
# ...
# 示例:读取 CSV 文件
df = pd.read_csv("data.csv")
csv_content = df.to_string()

# 作为纯文本在消息中发送
response = client.messages.create(
    model="claude-opus-4-8",
    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)


对于包含图片的 .docx 文件,请先将其转换为 PDF 格式,然后使用 PDF 支持以利用内置的图片解析功能。这样可以使用来自 PDF 文档的引用。

Document 块

对于 PDF 和文本文件,请使用 document 内容块:

{
  "type": "document",
  "source": {
    "type": "file",
    "file_id": "file_011CNha8iCJcU1wXNR6q4V8w"
  },
  "title": "Document Title", // Optional
  "context": "Context about the document", // Optional
  "citations": { "enabled": true } // Optional, enables citations
}

Image 块

对于图片,请使用 image 内容块:

{
  "type": "image",
  "source": {
    "type": "file",
    "file_id": "file_011CPMxVD3fHLUhvTqtsQA5w"
  }
}

管理文件

列出文件

检索您已上传文件的列表:

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")


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


文件存储和限制

存储限制

  • 最大文件大小: 每个文件 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): 文件类型与内容块类型不匹配(例如,在 document 块中使用图片文件)
  • 超出上下文窗口大小(400): 文件大于上下文窗口大小(例如,在 /v1/messages 请求中使用 500 MB 的纯文本文件)
  • 无效的文件名(400): 文件名不符合长度要求(1-255 个字符)或包含禁用字符(<、>、:、"、|、?、*、\、/ 或 Unicode 字符 0-31)
  • 文件过大(413): 文件超过 500 MB 限制
  • 超出存储限制(403): 您的组织已达到 500 GB 存储限制
Output
{
  "type": "error",
  "error": {
    "type": "invalid_request_error",
    "message": "File not found: file_011CNha8iCJcU1wXNR6q4V8w"
  }
}

使用和计费

文件 API 操作是免费的:

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

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

速率限制

在测试期间:

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

Was this page helpful?

  • 支持的模型
  • Files API 的工作原理
  • 如何使用 Files API
  • 上传文件
  • 在消息中使用文件
  • 文件类型和内容块
  • 处理其他文件格式
  • 管理文件
  • 下载文件
  • 文件存储和限制
  • 存储限制
  • 文件生命周期
  • 数据保留
  • 错误处理
  • 使用和计费
  • 速率限制