跳转到内容

Files API

上传


POST /v1/files

将文件上传到 xAI 的存储中。返回文件的元数据。任何接受 `file_id` 的地方都可以通过 ID 引用文件(例如聊天附件)。最大文件大小:50 MB。文件会被一直保留,直到您删除它们,或者在上传时设置了 `expires_after` 且该时间已过期。

请求体

  • expires_after (integer | null) — 可选的 TTL(以秒为单位)(从上传时间开始计算)。必须在 3600(1小时)和 2592000(30天)之间。如果未设置,文件将不会过期。

    可以接受纯整数形式,或者 OpenAI SDK 的 deepObject 形式(`expires_after[anchor]=created_at` + `expires_after[seconds]=N`)作为单独的多部分字段。anchor+seconds 形式必须先于 `file` 部分到达。

  • file (string, required) — 要上传的文件。多部分中 `Content-Disposition: filename=` 头部中的文件名会被记录为文件的 `filename`。

  • purpose (string | null) — 可选的目的标签,为兼容 OpenAI SDK 而接受。xAI 不强制执行或不解释此字段。设置 `"assistants"` 是常规选择。

响应体

  • bytes (integer, required) — 文件大小,以字节为单位。

  • created_at (integer, required) — 文件创建时间的 Unix 时间戳(以秒为单位)。

  • expires_at (integer | null) — 文件过期时间的 Unix 时间戳(以秒为单位)。如果文件不过期,则为 null。

  • filename (string, required) — 文件名。

  • id (string, required) — 文件标识符,可用于其他 API 请求中。

  • object (string, required) — 对象类型,始终为 `file`。仅包含用于兼容性。

  • public_url (string | null) — 文件的公共 URL。仅在文件有活动的公共 URL 时存在。

  • public_url_expires_at (integer | null) — 公共 URL 过期的 Unix 时间戳(秒)。仅在公共 URL 有独立的过期时间时存在。

  • purpose (string) — 上传文件的预期目的。仅包含用于 OAI 兼容性。

响应示例:

json
{
  "id": "file_a128090d-f0c9-4873-bd84-e499777e7417",
  "object": "file",
  "bytes": 12345,
  "created_at": 1762345678,
  "expires_at": 1762432078,
  "filename": "document.pdf",
  "purpose": ""
}

POST /v1/files:initialize

POST 请求到 /v1/files:initialize 的 API 端点。

Method: POST
Path: /v1/files:initialize

POST /v1/files:uploadChunks

POST 请求到 /v1/files:uploadChunks 的 API 端点。

Method: POST
Path: /v1/files:uploadChunks

本文档为 docs.x.ai 全站中文翻译,由 AI 自动翻译生成。代码示例请以原文为准。