Grok Imagine 视频生成
更新时间:2026-06-03
本文说明如何在本站调用 Grok Imagine 视频模型。用户只需要使用本站稳定模型名和 OpenAI 兼容视频任务接口。
1. 可用模型
| 模型 | 适用场景 | 计费口径 |
|---|---|---|
grok-imagine | 文生视频、图生视频、多参考图生视频、视频编辑、视频续写 | 按能力类型、清晰度、输入/输出视频秒数等组件计费;图生视频输入图片不单独加价 |
新接入统一使用 grok-imagine,用输入形态和 extra_body.operation 表达具体能力。未在本站模型列表中展示的旧模型名不要直接调用。
2. 接口概览
2.1 推荐:OpenAI 兼容视频任务接口
POST /v1/videos
GET /v1/videos/{task_id}
GET /v1/videos/{task_id}/content
POST /v1/videos 提交任务,返回视频任务 ID。客户端轮询 GET /v1/videos/{task_id} 获取状态。任务完成后,可以读取响应里的 URL,也可以通过 /v1/videos/{task_id}/content 代理获取视频文件流。
2.2 兼容:旧视频任务接口
POST /v1/videos/generations
GET /v1/videos/generations/{task_id}
POST /v1/video/generations
GET /v1/video/generations/{task_id}
旧接口仍可用,但新接入推荐 /v1/videos。
2.3 认证
Authorization: Bearer sk-***
Content-Type: application/json
3. 快速选型
| 你想做什么 | 推荐模型 | 关键输入 | 能力标识 |
|---|---|---|---|
| 根据提示词生成视频 | grok-imagine | prompt + duration | 自动推断 |
| 让一张图片动起来 | grok-imagine | prompt + image + duration | 自动推断 |
| 多张参考图生成视频 | grok-imagine | prompt + images + duration | 自动推断 |
| 编辑已有视频 | grok-imagine | prompt + video + extra_body.operation=edit_video,建议带 extra_body.input_video_seconds | edit_video |
| 续写已有视频 | grok-imagine | prompt + video + duration + extra_body.operation=video_extend,建议带 extra_body.input_video_seconds | video_extend |
说明:extra_body.operation 是本站稳定能力提示。输入形态明确时平台会自动推断;视频编辑和续写都传 video,建议显式传 extra_body.operation 消歧。
4. 参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 固定传 grok-imagine |
prompt | string | 是 | 视频生成、编辑或续写提示词 |
image | string/object | 图生视频必填 | 单张图片 URL;也支持 { "url": "..." } |
images | string[] | 多参考图必填 | 多张参考图片 URL |
image_url / image_urls | string/string[] | 否 | 图片输入兼容字段 |
video | string/object | 编辑/续写必填 | 源视频 URL;也支持 { "url": "..." } |
videos | string[] | 否 | 参考视频 URL 数组,适合参考视频类能力 |
size | string | 否 | 清晰度,常用 480p、720p;视频续写可能不支持该参数 |
aspect_ratio | string | 否 | 输出比例;文生视频常用 16:9、1:1、9:16,单图生视频可用 auto |
duration | integer/string | 条件必填 | 输出秒数。文生、图生、多参考图和续写使用;视频编辑不要传该字段 |
seconds | string | 条件必填 | OpenAI 兼容秒数字段;未传 duration 时可传 seconds,不要和 duration 同时传 |
extra_body.operation | string | 否 | 稳定能力提示:text_to_video、image_to_video、reference_to_video、edit_video、video_extend |
extra_body.input_video_seconds | integer | 编辑/续写建议传 | 源视频可计费秒数提示,传正整数秒。知道源视频秒数时建议传;未传时平台会探测或使用兜底值 |
5. 秒数规则
文生、图生、多参考图和续写都要传输出秒数。视频编辑不要传输出秒数。
| 场景 | 输出秒数字段 | 支持取值 | 输入视频秒数 |
|---|---|---|---|
| 文生视频 | duration 或 seconds | 1-15 的整数秒 | 不需要 |
| 单图生视频 | duration 或 seconds | 1-15 的整数秒 | 不需要 |
| 多参考图生视频 | duration 或 seconds | 1-10 的整数秒 | 不需要 |
| 视频编辑 | 不传 duration / seconds | 不适用 | 建议传 extra_body.input_video_seconds |
| 视频续写 | duration 或 seconds | 2-10 的整数秒 | 建议传 extra_body.input_video_seconds |
说明:
- 推荐使用
duration,例如"duration": 6。 - 如果客户端只能使用 OpenAI 兼容字段,可以传
seconds,例如"seconds": "6"。 duration和seconds二选一,不要同时传。- 视频编辑和续写的
extra_body.input_video_seconds是源视频秒数提示,不是输出秒数。 - 如果不确定源视频秒数,可以不传
extra_body.input_video_seconds;平台会探测输入视频时长,并在计费记录里展示秒数来源。 - 计费最终不会只信任用户传参,而是按任务结算记录中的输入/输出秒数来源结算。
6. 能力标识选择规则
大多数情况下不需要手动传 extra_body.operation:
- 没有图片和视频:文生视频。
- 有一张
image:图生视频。 - 有多张
images:参考图生视频。 - 有
video:建议显式传edit_video或video_extend。
当你要编辑已有视频:
{
"extra_body": {
"operation": "edit_video",
"input_video_seconds": 8
}
}
当你要续写已有视频:
{
"duration": 6,
"extra_body": {
"operation": "video_extend",
"input_video_seconds": 8
}
}
7. 完整请求示例
7.1 文生视频
curl -X POST "{BASE_URL}/v1/videos" \
-H "Authorization: Bearer sk-***" \
-H "Content-Type: application/json" \
-d '{
"model": "grok-imagine",
"prompt": "电影感手持镜头,一名记者站在暴雪中的时代广场,路人撑伞快速走过,雪花不断打在镜头前,皮肤纹理真实,整体色调克制。",
"size": "720p",
"aspect_ratio": "16:9",
"duration": 6
}'
典型提交响应:
{
"id": "task_xxx",
"task_id": "task_xxx",
"object": "video",
"model": "grok-imagine",
"status": "queued",
"progress": 0,
"created_at": 1773980459,
"seconds": "6"
}
7.2 单图生视频
curl -X POST "{BASE_URL}/v1/videos" \
-H "Authorization: Bearer sk-***" \
-H "Content-Type: application/json" \
-d '{
"model": "grok-imagine",
"prompt": "人物缓慢转头看向镜头,头发随风轻微摆动,电影级布光,镜头有细微推进。",
"image": "https://example.com/portrait.png",
"size": "480p",
"aspect_ratio": "auto",
"duration": 10
}'
7.3 多参考图生视频
curl -X POST "{BASE_URL}/v1/videos" \
-H "Authorization: Bearer sk-***" \
-H "Content-Type: application/json" \
-d '{
"model": "grok-imagine",
"prompt": "让 @Image1 中的人物走进 @Image2 的霓虹街景,保持人物身份一致,镜头缓慢推进。",
"images": [
"https://example.com/person.png",
"https://example.com/street.png"
],
"size": "720p",
"aspect_ratio": "4:3",
"duration": 10
}'
7.4 视频编辑
curl -X POST "{BASE_URL}/v1/videos" \
-H "Authorization: Bearer sk-***" \
-H "Content-Type: application/json" \
-d '{
"model": "grok-imagine",
"prompt": "把这段视频改成电影感动漫风,同时保留原本动作节奏和构图。",
"video": "https://example.com/source.mp4",
"size": "720p",
"extra_body": {
"operation": "edit_video",
"input_video_seconds": 8
}
}'
视频编辑不要传 duration / seconds。如果知道源视频秒数,建议传 extra_body.input_video_seconds,这样预估和日志更清楚;未传时平台会探测或使用兜底值。
7.5 视频续写
curl -X POST "{BASE_URL}/v1/videos" \
-H "Authorization: Bearer sk-***" \
-H "Content-Type: application/json" \
-d '{
"model": "grok-imagine",
"prompt": "延续镜头运动,逐渐露出远处城市天际线,保持原视频色调和运动方向。",
"video": "https://example.com/source.mp4",
"duration": 6,
"extra_body": {
"operation": "video_extend",
"input_video_seconds": 8
}
}'
视频续写的 duration 表示输出续写秒数,支持 2-10 秒。如果知道源视频秒数,建议同时传 extra_body.input_video_seconds。
8. 查询任务和获取视频
8.1 查询状态
curl "{BASE_URL}/v1/videos/task_xxx" \
-H "Authorization: Bearer sk-***"
处理中:
{
"id": "task_xxx",
"task_id": "task_xxx",
"object": "video",
"model": "grok-imagine",
"status": "in_progress",
"progress": 45,
"created_at": 1773980459,
"seconds": "6"
}
完成:
{
"id": "task_xxx",
"task_id": "task_xxx",
"object": "video",
"model": "grok-imagine",
"status": "completed",
"progress": 100,
"created_at": 1773980459,
"completed_at": 1773980519,
"seconds": "6",
"size": "720p",
"metadata": {
"url": "https://example.com/result.mp4"
}
}
失败:
{
"id": "task_xxx",
"object": "video",
"model": "grok-imagine",
"status": "failed",
"progress": 100,
"created_at": 1773980459,
"error": {
"code": "task_failed",
"message": "request rejected"
}
}
建议客户端每 2-5 秒轮询一次,直到 status 为 completed 或 failed。
8.2 代理获取视频文件
curl "{BASE_URL}/v1/videos/task_xxx/content" \
-H "Authorization: Bearer sk-***" \
-o result.mp4
该接口返回 video/mp4 文件流。也可以直接使用查询响应中的 metadata.url。
9. 计费说明
Grok 视频在本站使用组件式计费,公开价格以模型广场展示为准。
| 场景 | 主要计费项 |
|---|---|
| 文生视频 | 清晰度档、输出视频秒数 |
| 单图生视频 | 清晰度档、输出视频秒数 |
| 多参考图生视频 | 清晰度档、输出视频秒数 |
| 视频编辑 | 清晰度档、输入视频秒数、输出视频秒数 |
| 视频续写 | 输入视频秒数、输出视频秒数 |
公开展示会显示“按实际参数计算”和组件单价,例如:
- 输入视频:按秒
- 输出视频 480P:按秒
- 输出视频 720P:按秒
图生视频和多参考图生视频中的输入图片数量可能出现在结算 facts 里,但第一版 Grok 视频规则不应把它配置成单独收费组件。
提交时可能有预扣。预扣用于任务提交阶段的余额锁定,不是把某个最大值当成单次公开售价。
10. 常见错误
把视频模型发到图片接口
grok-imagine 应调用 /v1/videos,不要发到 /v1/images/generations。
编辑和续写都只传了 video
这会产生歧义。编辑传: