CokeAPI
视频生成系列

Grok Imagine · 文生视频 / 图生视频

POST /v1/video/generations · CokeAPI 当前主力视频通道,xAI Grok Imagine,720p / 1080p 双档,6 / 10 秒时长,文 + 图双输入。

CokeAPI 当前主力视频模型,后端走 GROK 账号池调度。异步任务:POST 创建拿到 task_id,GET 轮询直到 completed

模型 ID 别名互通:grok-imagine-video / vid-v1 / vid-i2v

调用示例

curl https://api.cokeapi.com/v1/video/generations \
  -H "Authorization: Bearer sk-coke-xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "grok-imagine-video",
    "prompt": "在雨夜霓虹中漫步的猫,电影质感,8k",
    "aspect_ratio": "16:9",
    "quality": "hd",
    "duration": 6
  }'
curl https://api.cokeapi.com/v1/video/generations \
  -H "Authorization: Bearer sk-coke-xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "vid-i2v",
    "prompt": "镜头缓慢拉远,猫向镜头眨眼",
    "ref_image_url": "https://cdn.cokeapi.com/img/01HX....png",
    "aspect_ratio": "16:9",
    "quality": "hd",
    "duration": 6
  }'
TASK_ID="video_01HX..."
curl https://api.cokeapi.com/v1/video/generations/$TASK_ID \
  -H "Authorization: Bearer sk-coke-xxxxxxxx"
import httpx, time

BASE = "https://api.cokeapi.com/v1"
HEADERS = {"Authorization": "Bearer sk-coke-xxxxxxxx"}

# 1. 创建任务
r = httpx.post(
    f"{BASE}/video/generations",
    headers=HEADERS,
    json={
        "model": "grok-imagine-video",
        "prompt": "在雨夜霓虹中漫步的猫",
        "aspect_ratio": "16:9",
        "quality": "hd",
        "duration": 6,
    },
    timeout=60,
)
task_id = r.json()["id"]

# 2. 轮询
while True:
    r = httpx.get(f"{BASE}/video/generations/{task_id}", headers=HEADERS, timeout=30)
    data = r.json()
    if data["status"] in ("completed", "failed"):
        print(data)
        break
    time.sleep(5)
import httpx

r = httpx.post(
    "https://api.cokeapi.com/v1/video/generations",
    headers={"Authorization": "Bearer sk-coke-xxxxxxxx"},
    json={
        "model": "vid-i2v",
        "prompt": "镜头缓慢拉远,主体向左转头",
        "ref_image_url": "https://cdn.cokeapi.com/img/01HX....png",
        "aspect_ratio": "9:16",
        "quality": "hd",
        "duration": 6,
        "callback_url": "https://your.app/webhooks/video",  # 可选,完成后回调
    },
    timeout=60,
)
print(r.json())
const BASE = "https://api.cokeapi.com/v1";
const KEY = process.env.COKEAPI_KEY;

const create = await fetch(`${BASE}/video/generations`, {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    model: "grok-imagine-video",
    prompt: "在雨夜霓虹中漫步的猫",
    aspect_ratio: "16:9",
    quality: "hd",
    duration: 6,
  }),
});
const { id: taskId } = await create.json();

while (true) {
  const poll = await fetch(`${BASE}/video/generations/${taskId}`, {
    headers: { "Authorization": `Bearer ${KEY}` },
  });
  const data = await poll.json();
  if (data.status === "completed" || data.status === "failed") {
    console.log(data);
    break;
  }
  await new Promise((r) => setTimeout(r, 5000));
}
const r = await fetch("https://api.cokeapi.com/v1/video/generations", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.COKEAPI_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    model: "vid-i2v",
    prompt: "镜头缓慢拉远,主体向左转头",
    ref_image_url: "https://cdn.cokeapi.com/img/01HX....png",
    aspect_ratio: "9:16",
    quality: "hd",
    duration: 6,
  }),
});
console.log(await r.json());

请求参数

Prop

Type

分辨率档位

quality16:99:161:1
standard (720p)1280×720720×1280720×720
hd (1080p,默认)1920×10801080×19201080×1080

响应

创建任务 (POST)

{
  "id": "video_01HX...",
  "object": "video.generation",
  "status": "queued",
  "created": 1714200000
}

查询任务 (GET /v1/video/generations/{id})

进行中:

{
  "id": "video_01HX...",
  "object": "video.generation",
  "status": "running",
  "progress": 35,
  "created": 1714200000
}

完成后:

{
  "id": "video_01HX...",
  "object": "video.generation",
  "status": "completed",
  "video_url": "https://cdn.cokeapi.com/v/01HX....mp4",
  "thumbnail_url": "https://cdn.cokeapi.com/v/01HX....jpg",
  "duration_ms": 6000,
  "size": "1920x1080",
  "created": 1714200000,
  "completed": 1714200070
}

视频任务 p95 ~70 秒。推荐每 5 秒轮询一次;或在创建时传 callback_url,任务完成后主动 POST 推送结果。

取消任务

DELETE https://api.cokeapi.com/v1/video/generations/{task_id}

pending / running 任务可取消;已 completed 的扣点不退还。

计费

duration × 分辨率单价 扣点。完整单价见 模型与价格 → Grok Imagine

注意事项

  • 任务最长保留 24 小时,超过会被清理。需要长期存储请下载到自有 OSS。
  • 国内宽带下载 1080p mp4 视频走 CDN 边缘,无需特殊配置。
  • 图生视频参考图最大 5 MB;过大会自动压缩,可能影响细节还原。
  • 失败的任务 (上游 502 / 内容审核拦截) 不计费,会自动返还预扣点数。

On this page