切换日光/暗黑模式
原生透传层
扩展视频
从源视频的最后一帧接着往下生成,输出是原片加新增部分拼接成的一条完整视频。请求体原样转发给 Grok,报错是官方原文。
POST
/xai/v1/videos/extensions端点
http
POST /xai/v1/videos/extensions
GET /xai/v1/videos/{request_id} # 轮询,见「查询视频任务」同一能力在 OpenAI 兼容层的写法见 扩展视频(OpenAI 兼容)。
请求
必填 model、prompt、video;duration 可选:
bash
curl -X POST https://api.wxiai.com/xai/v1/videos/extensions \
-H "Authorization: Bearer $WXIAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "grok-imagine-video",
"prompt": "镜头转向窗外,天色逐渐变暗",
"video": {"url": "https://example.com/source.mp4"},
"duration": 6
}'video 的三种给法(公网 URL / base64 data URI / file_id)和编辑视频一致。
请求参数
| 参数 | 必填 | 说明 |
|---|---|---|
model | 是 | 视频模型,扩展用 grok-imagine-video |
prompt | 是 | 接下来发生什么 |
video | 是 | 源视频对象 |
duration | 否 | 新增部分的时长(秒),2–10,不传默认 6 |
storage_options | 否 | 把产物存进 xAI 文件服务,见总览 |
duration 是「新增部分」的长度,不是总长
源视频 10 秒 + duration: 6 → 输出 16 秒(10 秒原片 + 6 秒新增)。
这一点最容易搞错——很多人以为 duration 是总时长。
返回
提交时返回 request_id:
json
{
"request_id": "d97415a1-5796-b7ec-379f-4e6819e08fdf"
}| 字段 | 说明 |
|---|---|
request_id | 原生层的任务 ID,查结果时要用它 |
| 其他字段 | 提交响应只有这一个字段,任务进度与结果都在查询接口返回 |
video.duration 是拼接后的总时长(原片 + 新增),不是只算新增那一段。
接下来:用 GET 查结果
本页只负责启动任务。提交成功后拿到的 request_id 就是查结果的凭据,交给:
http
GET /xai/v1/videos/{request_id}状态值、失败错误码、下载方式全部在 查询视频任务 一处说明,不用在本页找。
这一层的注意点
duration范围是 2–10 秒,和生成视频的 1–15 秒不是同一套规则。duration是增量不是总时长,但返回的video.duration是总时长——两者含义不同。- 源视频必须带
.mp4后缀。 - 扩展能力挑模型:报
failed_precondition就换模型。
相关页
- 视频生成总览 —— 扩展模式的参数边界与轮询状态机
- 扩展视频(OpenAI 兼容) —— 同一能力的另一条路径
- 查询视频任务(原生透传)
- 生成视频(原生透传) · 编辑视频(原生透传)
