Skip to content
curl -X POST https://api.wxiai.com/xai/v1/videos/edits \
  -H "Authorization: Bearer $WXIAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "grok-imagine-video",
    "prompt": "给画面里的人戴一顶黑色宽檐帽",
    "video": {"url": "https://example.com/source.mp4"}
  }'
{
  "request_id": "d97415a1-5796-b7ec-379f-4e6819e08fdf"
}
原生透传层

编辑视频

用提示词修改一个已有视频,只改你要求的部分,其余画面保持不变。请求体原样转发给 Grok,报错是官方原文。

POST/xai/v1/videos/edits

端点 ​

http
POST /xai/v1/videos/edits
GET  /xai/v1/videos/{request_id}   # 轮询,见「查询视频任务」

同一能力在 OpenAI 兼容层的写法见 编辑视频(OpenAI 兼容)。

请求 ​

必填 model、prompt、video 三个字段:

bash
curl -X POST https://api.wxiai.com/xai/v1/videos/edits \
  -H "Authorization: Bearer $WXIAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "grok-imagine-video",
    "prompt": "给画面里的人戴一顶黑色宽檐帽",
    "video": {"url": "https://example.com/source.mp4"}
  }'

video 支持三种给法,和图片一样:

形式例子
公网 URL{"url": "https://example.com/source.mp4"}
base64 data URI{"url": "data:video/mp4;base64,..."}
xAI 文件 ID{"file_id": "file-abc123"}

源视频必须是 .mp4

链接要带 .mp4 后缀,编码用 H.265 / H.264 / AV1 等 mp4 支持的编码。

请求参数 ​

参数必填说明
model是视频模型,编辑用 grok-imagine-video
prompt是要改成什么样
video是源视频对象
storage_options否把产物存进 xAI 文件服务,见总览
user否你自己终端用户的标识

这三个参数传了也不会生效

参数实际行为
duration忽略,输出时长继承源视频(上限 8.7 秒)
aspect_ratio忽略,输出比例继承源视频
resolution忽略,输出分辨率继承源视频,上限 720p(1080p 输入会被降到 720p)

原生层不做本地校验,所以传了不会报错,只会被 Grok 忽略——别靠「没报错」判断参数生效了。

返回 ​

提交时返回 request_id:

json
{
  "request_id": "d97415a1-5796-b7ec-379f-4e6819e08fdf"
}
字段说明
request_id原生层的任务 ID,查结果时要用它
其他字段提交响应只有这一个字段,任务进度与结果都在查询接口返回

字段含义、状态机与失败错误码见 查询视频任务(原生透传)。

接下来:用 GET 查结果 ​

本页只负责启动任务。提交成功后拿到的 request_id 就是查结果的凭据,交给:

http
GET /xai/v1/videos/{request_id}

状态值、失败错误码、下载方式全部在 查询视频任务 一处说明,不用在本页找。

这一层的注意点 ​

  • 别调 duration:编辑不支持自定义时长,输出时长永远继承源视频。
  • 源视频必须带 .mp4 后缀。
  • 分辨率会被压到 720p。
  • 编辑能力挑模型:报 failed_precondition 就换 grok-imagine-video。

相关页 ​

基于 Apache-2.0 许可发布