You need to enable JavaScript to run this app.
导航
Files API 教程
最近更新时间:2025.12.01 16:54:05首次发布时间:2025.12.01 16:54:05
复制全文
我的收藏
有用
有用
无用
无用

Files API 作为文件管理接口,提供文件的上传、检索、列表查询及删除能力。
在多模态理解场景中,Files API 与 Responses API 结合使用,具备以下优势:

  • 大文件适配:支持最大 512 MB 文件的上传,满足大文件处理需求。
  • 重复使用:支持通过 File ID 在多次请求中重复使用文件,避免重复上传,节省公网下载时延。
  • 缩短推理时长:解耦数据预处理与模型推理环节,避免每次请求时重新上传内容,减少预处理导致的时延。

前提条件

获取 API Key

查看 API 文档

Files API 参考

Files API 使用示例

上传文件

使用 Files API 可上传多种类型的文件,上传成功后将返回 File ID,File ID 支持在多次请求中重复使用,而不需要重新上传内容,节省公网下载时延。如果文件大于50 MB,或者要在多个请求中重复使用该文件,需使用 Files API 上传文件,然后在 Responses API 中使用 File ID 发起请求。

curl https://ark.cn-beijing.volces.com/api/v3/files \
-H "Authorization: Bearer $ARK_API_KEY" \
-F 'purpose=user_data' \
-F 'file=@/Users/doc/demo.mp4' \
-F 'preprocess_configs[video][fps]=0.3'

响应参数如下:

{
    "object": "file",
    "id": "file-20251018114827-6zgrb",
    "purpose": "user_data",
    "filename": "demo.mp4",
    "bytes": 695110,
    "mime_type": "video/mp4",
    "created_at": 1760759307,
    "expire_at": 1761364107,
    "status": "processing",
    "preprocess_configs": {
        "video": {
            "fps": 0.3
        }
    }
}

文件存储限制

  • 单文件大小:512 MB。
  • 总存储容量:20 GB。
  • 文件存储时间:默认存储7天,可以通过 expire_at 参数自定义存储有效期,取值范围为1-30天。

文件预处理

使用 Files API 上传文件时,接口会根据上传的文件类型进行预处理。

  • 视频文件:默认会按1帧/秒(FPS)的速率提取选段,可通过 preprocess_configs.video.fps 设置自定义帧速率。长视频且画面变化较小时,可设置较低的 FPS 值;需精细捕捉画面变化时,可设置较高的 FPS 值。文件预处理后,在 Response API 中使用 File ID,可以缩短推理时长。
  • PDF文件:会分页来处理成多图,在预处理时不会对拆分的图片做分辨率缩放,以确保图片能够完整且清晰地保留 PDF 文件中的原始信息。

文件类型

Files API 支持多种文件类型,具体如下。

文件类型

文件格式

MIME类型

图片

.jpg、.jpeg、.png、.gif、.webp、.bmp、.tiff、.ico、.icns、.sgi、.jp2、.heic、.heif

image/jpegimage/pngimage/gifimage/webpimage/bmpimage/tiffimage/x-iconimage/icnsimage/sgiimage/jp2image/heicimage/heif

视频

.mp4、.avi、.mov

video/mp4video/avivideo/mov

PDF

.pdf

application/pdf

检索文件

通过 File ID 检索文件信息,如文件大小、过期时间、MIME类型及文件处理状态等信息。

文件处理状态为active时,才可以在 Responses API 中作为模型输入使用。

curl https://ark.cn-beijing.volces.com/api/v3/files/file-20251014**** \
-H "Authorization: Bearer $ARK_API_KEY"

查询文件列表

通过 Files API 查询上传的文件列表。

curl https://ark.cn-beijing.volces.com/api/v3/files \
-H "Authorization: Bearer $ARK_API_KEY"

删除文件

上传成功的文件默认存储7天,可以通过 expire_at 参数自定义存储有效期,取值范围为1-30天。文件超过存储有效期后会自动删除,参数设置请参见上传文件
同时支持通过 Files API 删除已上传的文件,使用示例如下:

curl https://ark.cn-beijing.volces.com/api/v3/files/file-20251014**** \
-X DELETE \
-H "Authorization: Bearer $ARK_API_KEY"

使用 File ID 实现多模态理解

针对文件较大或需在多次请求中重复使用该文件的场景,建议通过 Files API 上传文件,然后在 Responses API 中使用 File ID 的方式实现多模态理解。具体示例参见 视频理解图片理解文档理解
上传文件后,需等待文件处理完成后(即 status 为 active 时)才能在 Responses API 中使用对应的 File ID 进行分析。下面是视频理解的示例代码。

  1. 上传视频文件获取File ID。

    curl https://ark.cn-beijing.volces.com/api/v3/files \
    -H "Authorization: Bearer $ARK_API_KEY" \
    -F 'purpose=user_data' \
    -F 'file=@/Users/doc/demo.mp4' \
    -F 'preprocess_configs[video][fps]=0.3'
    
  2. 在Responses API中引用File ID。

    curl https://ark.cn-beijing.volces.com/api/v3/responses \
    -H "Authorization: Bearer $ARK_API_KEY" \
    -H 'Content-Type: application/json' \
    -d '{
        "model": "doubao-seed-1-6-251015",
        "input": [
            {
                "role": "user",
                "content": [
                    {
                        "type": "input_file",
                        "file_id": "file-20251018****"
                    },
                    {
                        "type": "input_text",
                        "text": "请你描述下视频中的人物的一系列动作,以JSON格式输出开始时间(start_time)、结束时间(end_time)、事件(event)、是否危险(danger),请使用HH:mm:ss表示时间戳。"
                    }
                ]
            }
        ]
    }'
    

计费说明

每个账户有 20 GB 免费存储额度,超出后无法上传文件,删除文件释放存储空间可继续上传文件。

使用限制及错误码

  • Files API QPS限流及带宽限制如下。如果需要提升限流值,请提交申请工单
    • 上传文件:20 QPS、100 Mbps带宽
    • 检索文件:20 QPS
    • 查询文件列表:20 QPS
    • 删除文件:20 QPS
  • 错误码:单击错误码,获取相关信息。