跳转到主要内容
POST
/
v1
/
tasks
Grok Imagine Video 系列
curl --request POST \
  --url https://www.qingbo.dev/v1/tasks \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "<string>",
  "action": "<string>",
  "prompt": "<string>",
  "aspect_ratio": "<string>",
  "resolution": "<string>",
  "duration": 123,
  "image_urls": [
    "<string>"
  ],
  "callback_url": "<string>",
  "callback_events": [
    "<string>"
  ]
}
'
import requests

url = "https://www.qingbo.dev/v1/tasks"

payload = {
"model": "<string>",
"action": "<string>",
"prompt": "<string>",
"aspect_ratio": "<string>",
"resolution": "<string>",
"duration": 123,
"image_urls": ["<string>"],
"callback_url": "<string>",
"callback_events": ["<string>"]
}
headers = {"Content-Type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
model: '<string>',
action: '<string>',
prompt: '<string>',
aspect_ratio: '<string>',
resolution: '<string>',
duration: 123,
image_urls: ['<string>'],
callback_url: '<string>',
callback_events: ['<string>']
})
};

fetch('https://www.qingbo.dev/v1/tasks', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://www.qingbo.dev/v1/tasks"

payload := strings.NewReader("{\n \"model\": \"<string>\",\n \"action\": \"<string>\",\n \"prompt\": \"<string>\",\n \"aspect_ratio\": \"<string>\",\n \"resolution\": \"<string>\",\n \"duration\": 123,\n \"image_urls\": [\n \"<string>\"\n ],\n \"callback_url\": \"<string>\",\n \"callback_events\": [\n \"<string>\"\n ]\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://www.qingbo.dev/v1/tasks")
.header("Content-Type", "application/json")
.body("{\n \"model\": \"<string>\",\n \"action\": \"<string>\",\n \"prompt\": \"<string>\",\n \"aspect_ratio\": \"<string>\",\n \"resolution\": \"<string>\",\n \"duration\": 123,\n \"image_urls\": [\n \"<string>\"\n ],\n \"callback_url\": \"<string>\",\n \"callback_events\": [\n \"<string>\"\n ]\n}")
.asString();
{
  "task_id": "task-wave1775285160b950328499",
  "model": "grok-imagine-1.0-video",
  "action": "generate",
  "status": "queued",
  "created_at": 1775285160040,
  "progress": 0
}
xAI Grok Imagine 视频生成模型,Grok 多模态家族中的视频档。 两档可选grok-imagine-1.0-video(1.0 基础档)、grok-imagine-1.5-video(1.5 升级档)。两档能力一致:文生视频(T2V)/ 图生视频(I2V),480p / 720p,6-30 秒任意整数。 字段简洁、参数门槛低,适合社交媒体短视频、快速概念演示、低成本内容生产线。
Grok Imagine 系列分图像档视频档两条线。图像生成请见 Grok Imagine 图像;本页只覆盖视频档。

定价

视频时长计费,全分辨率统一单价:$0.007875 / 秒(两档同价)。实际费用 = $0.007875 × duration
时长单次费用
6 秒$0.04725
10 秒$0.07875
30 秒(上限)$0.23625

调用示例

curl -X POST https://www.qingbo.dev/v1/tasks \
  -H "Authorization: Bearer $WAVE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "grok-imagine-1.0-video",
    "prompt": "霓虹灯下的雨夜街道,赛博朋克氛围,镜头缓慢推进",
    "duration": 6,
    "aspect_ratio": "16:9",
    "resolution": "480p"
  }'
curl -X POST https://www.qingbo.dev/v1/tasks \
  -H "Authorization: Bearer $WAVE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "grok-imagine-1.0-video",
    "prompt": "人物缓缓转头看向镜头",
    "image_urls": ["https://cdn.example.com/portrait.jpg"],
    "duration": 10,
    "resolution": "720p"
  }'
curl -X POST https://www.qingbo.dev/v1/tasks \
  -H "Authorization: Bearer $WAVE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "grok-imagine-1.0-video",
    "prompt": "保持角色一致,在森林中奔跑",
    "image_urls": [
      "https://cdn.example.com/ref-1.jpg",
      "https://cdn.example.com/ref-2.jpg",
      "https://cdn.example.com/ref-3.jpg",
      "https://cdn.example.com/ref-4.jpg",
      "https://cdn.example.com/ref-5.jpg",
      "https://cdn.example.com/ref-6.jpg",
      "https://cdn.example.com/ref-7.jpg"
    ],
    "duration": 8,
    "resolution": "720p"
  }'
curl -X POST https://www.qingbo.dev/v1/tasks \
  -H "Authorization: Bearer $WAVE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "grok-imagine-1.5-video",
    "prompt": "极光下的雪原,镜头缓慢横移",
    "duration": 10,
    "aspect_ratio": "16:9",
    "resolution": "720p"
  }'
{
  "task_id": "task-wave1775285160b950328499",
  "model": "grok-imagine-1.0-video",
  "action": "generate",
  "status": "queued",
  "created_at": 1775285160040,
  "progress": 0
}
提交后用 GET /v1/tasks/{task_id} 轮询状态,详见 任务系统

可用模型

模型 ID分辨率时长(秒)Actions说明
grok-imagine-1.0-video480p / 720p6-30generate基础档,T2V / I2V
grok-imagine-1.5-video480p / 720p6-30generate升级档,T2V / I2V,与 1.0 同价

通用参数

model
string
必填
模型 ID,可选值:
  • grok-imagine-1.0-video
  • grok-imagine-1.5-video
action
string
默认值:"generate"
操作类型,固定为 generate。传入 image_urls 即自动走 图生视频(I2V),否则为文生视频(T2V)
prompt
string
必填
视频描述文本。T2V 模式必填;I2V 模式可作为运动 / 风格引导
aspect_ratio
string
默认值:"16:9"
画面宽高比,仅 T2V 生效;I2V 模式自动跟随参考图比例。可选值:
  • 16:9 — 横版宽屏
  • 9:16 — 竖版长屏
  • 1:1 — 正方形
resolution
string
默认值:"480p"
输出分辨率,可选值:
  • 480p
  • 720p
duration
integer
默认值:"6"
视频时长(秒),范围 6-30 任意整数。注意:30 秒为上限,跟其他常见 video model(多为 5/10/15)不同
image_urls
string[]
参考图片 URL 数组,最多 7 张。传入即触发 I2V 模式,系统会自动匹配参考图的宽高比
callback_url
string
Webhook 回调地址,任务终态时调用。详见 回调机制
callback_events
string[]
回调事件订阅列表,默认仅终态推送

注意事项

  • 图生模式比例自动匹配 — 传入 image_urls 后,aspect_ratio 字段会被忽略,输出比例跟随首张参考图。
  • duration 范围特殊6-30 秒,跟仓内多数 video model(5/10/15 三档)不同,业务侧表单做枚举校验时记得放开整段区间。
  • 可用性受配额影响 — xAI / Grok 配额可能波动,建议生产环境配 callback_url 异步推送、不要纯轮询。

资源限制

项目限制
参考图片最多 7 张,JPG/PNG/WEBP
时长6-30 秒
分辨率480p / 720p
输出MP4,链接 24 小时有效

相关文档