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 兼容性。
响应示例:
{
"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:initializePOST /v1/files:uploadChunks
POST 请求到 /v1/files:uploadChunks 的 API 端点。
Method: POST
Path: /v1/files:uploadChunks