Skip to main content
文件接口有两条任务主线:
  1. 让已有文件供会话使用:上传文件,保存返回的 file_id,再在创建会话时绑定,或在会话运行期间添加。
  2. 获取会话文件:列出会话文件,再下载所需文件。
上传文件不会自动绑定到会话。 上传文件通过 /v1/files 管理,会话文件通过 /v1/sessions/{session_id}/filesystem 浏览和下载。
/v1/files* 接口的响应格式由 kimi-api-version 请求头决定:携带 2026-09-01-beta 时返回 Hosted Agents 格式(上传成功 201、删除成功 204、FileMetadata 响应模型);不带该头时返回开放平台兼容格式(上传 200、删除 200、FileObject 模型),其他非空取值返回 400。两套格式的成功码与字段命名均不一致,客户端应按固定一种格式接入,解析逻辑不能混用。建议每个请求都携带 kimi-api-version: 2026-09-01-beta:格式固定,且只有该格式下 file_ 前缀 ID 的文件才能绑定到会话。

上传文件并绑定到会话

上传文件

POST /v1/files 发送 multipart/form-data 请求。 file 部分必填,文件名可以由 file 部分提供,也可以通过 filename 表单部分指定。 purpose 可指定文件的处理方式:file-extractimagevideobatchpurpose=batch 的文件只能由其上传者读取内容或删除,且不能绑定到会话。 单个文件大小上限为 100 MiB,上传后不能更新。 调用 /v1/files* 接口时携带 kimi-api-version: 2026-09-01-beta 请求头,以使用当前 API 版本。 下面的命令把上传响应中的 id 保存到 FILE_ID,后续请求都使用这个变量。
成功时返回 HTTP 201 和文件对象。 FILE_ID 来自上传响应中的 id,可用于后续绑定、查看、读取内容和删除操作。
extract_status 表示文件的解析状态:ready 表示文件可用,error 表示解析失败。 解析失败的文件也可以绑定到会话,但会话只能拿到原始文件,没有解析出的文本。 同一作用域内上传同名文件时,服务端会为文件名添加后缀,以避免文件名冲突。

创建会话时绑定文件

创建会话时,在请求体的 resources 中加入 typefile 的会话资源对象,并使用上一步保存的 FILE_ID。 创建会话的完整请求示例请参阅 会话文档

会话运行期间添加文件

会话创建后,可以通过 POST /v1/sessions/{session_id}/resources 添加文件资源。 SESSION_ID 来自创建会话响应中的 id,详见 会话文档。 只有文件资源可以在会话创建后添加,凭据库(Vault)和记忆库(Memory Store)必须在创建会话时绑定。
请求成功时返回 HTTP 201 和会话资源对象,其中的 id 是该绑定关系的 ID。
只有 file_ 前缀的文件 ID 才能绑定到会话。从旧开放平台同步过来的旧格式 ID(无 file_ 前缀)不能绑定,绑定时会返回错误。

管理上传文件

GET /v1/files 的读取范围随版本头分层:携带 2026-09-01-beta 时列出当前项目的文件;不带版本头时列出整个组织的文件。 列表按上传时间倒序返回,最新上传的文件排在前面。两种格式都支持 page_size(1–1000)与 page_token 分页,不带参数时返回完整列表;托管智能体格式用响应中的 next_page_token 接续下一页(没有下一页时不返回该字段),模型推理 API 兼容格式用 has_more 判断是否还有下一页。 要查看某个会话绑定的上传文件,使用 GET /v1/sessions/{session_id}/filesystem?prefix=upload/ 列出该会话 upload/ 目录下的文件。 查看 FILE_ID 对应的文件元数据:
读取 FILE_ID 对应文件的内容。 该接口按 purpose 返回内容:file-extract 文件返回一个 JSON 对象,解析出的 Markdown 在 content 字段中;batch 文件返回上传的文件内容,文件在上传时会被解析和规范化,返回的字节可能与原始上传不同。 imagevideo 文件和解析失败的文件没有解析内容,请求会返回 400 failed_precondition_error 下面的命令读取 FILE_ID 的内容,用 jq 把响应 content 字段中的 Markdown 写入 report.md
删除 FILE_ID 对应的上传文件,成功时返回 HTTP 204:
这些命令中的 FILE_ID 都来自上传响应。

两种响应格式对照

/v1/files* 的两种响应格式同时存在:不带 kimi-api-version 请求头时按模型推理 API 兼容格式响应,携带 2026-09-01-beta 时按托管智能体格式响应。从旧开放平台同步过来的文件与新上传的文件在同一个列表中返回。 两种格式的文件模型字段对照:

获取会话文件

列出会话文件

会话运行期间产生或保存的文件保存在会话下,通过 GET /v1/sessions/{session_id}/filesystem 列出。 接口按目录逐层返回内容:省略 prefix 时返回根目录,传入目录前缀时返回该目录下的一层文件和目录。
列出会话文件时,接口返回 SessionFSNode 条目。
响应一次返回所请求目录的全部直接子项,不分页。 会话绑定的上传文件位于 upload/ 目录下,传入 prefix=upload/ 即可列出。

下载会话文件

使用列表返回条目的 path 调用 GET /v1/sessions/{session_id}/filesystem/raw 下载文件。
会话文件不保证完全持久化:智能体结束后仍在运行的后台进程写出的文件可能丢失或不完整,文件列表也可能滞后于最近的写入。需要持久保存、带版本管理的产出时,应通过 save_artifact 交付为产物,产物由独立的产物接口管理。

下一步

会话

了解会话的生命周期、创建方式与消息收发。