视频生成
支持文生视频与图生视频。由于渲染需要数分钟,视频生成是一个异步任务:提交提示词后会收到一个 task_id,轮询至任务完成,然后下载 MP4。示例模型包括 veo-3.1-lite-generate-001、veo-3.1-fast-generate-001、dreamina-seedance-2-0-fast 和 doubao-seedance-1-5-pro-251215 —— 完整列表与价格请查看模型广场。
三步流程
1. POST 提交任务 → 获得 task_id。2. GET 轮询任务直到 status 变为 SUCCESS → 读取 result_url。3. GET 内容地址 → 下载 video/mp4。
第 1 步 · 提交任务
POST
https://apicdn.xyc.ai/v1/video/generations
curl https://apicdn.xyc.ai/v1/video/generations \
-H "Authorization: Bearer sk-xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "veo-3.1-lite-generate-001",
"prompt": "A golden retriever puppy running on grass, 4 seconds"
}'
import requests
base = "https://apicdn.xyc.ai"
key = "sk-xxxxxxxx"
headers = {"Authorization": f"Bearer {key}"}
resp = requests.post(
f"{base}/v1/video/generations",
headers=headers,
json={
"model": "veo-3.1-lite-generate-001",
"prompt": "A golden retriever puppy running on grass, 4 seconds",
},
)
task_id = resp.json()["task_id"]
print(task_id)
响应会立即返回一个已排队的任务:
{
"id": "task_UrufFh4Ww57Q6XWZ7trGZJajiHGw88Md",
"task_id": "task_UrufFh4Ww57Q6XWZ7trGZJajiHGw88Md",
"object": "video",
"model": "veo-3.1-lite-generate-001",
"status": "queued",
"progress": 0
}
请求参数
| 参数 | 类型 | 说明 |
|---|---|---|
model | string | 必填。视频模型名称,例如 veo-3.1-lite-generate-001 |
prompt | string | 必填。视频的文字描述 |
image | string | 可选。用于图生视频的图片 URL 或 base64(取决于模型) |
第 2 步 · 轮询状态
GET
https://apicdn.xyc.ai/v1/video/generations/{task_id}
建议每 5–10 秒轮询一次。status 会依次经过 queued → IN_PROGRESS → SUCCESS(或 FAILURE)。当变为 SUCCESS 时,响应中会携带 result_url。
curl https://apicdn.xyc.ai/v1/video/generations/task_UrufFh4Ww57Q6XWZ7trGZJajiHGw88Md \
-H "Authorization: Bearer sk-xxxxxxxx"
完成后的响应(已省略部分字段):
{
"code": "success",
"data": {
"task_id": "task_UrufFh4Ww57Q6XWZ7trGZJajiHGw88Md",
"status": "SUCCESS",
"progress": "100%",
"result_url": "https://apicdn.xyc.ai/v1/videos/task_UrufFh4Ww57Q6XWZ7trGZJajiHGw88Md/content"
}
}
第 3 步 · 下载视频
GET
https://apicdn.xyc.ai/v1/videos/{task_id}/content
请求 result_url(或根据 task_id 拼出内容地址),即可下载渲染完成的 video/mp4。
curl -L https://apicdn.xyc.ai/v1/videos/task_UrufFh4Ww57Q6XWZ7trGZJajiHGw88Md/content \
-H "Authorization: Bearer sk-xxxxxxxx" \
-o output.mp4
完整 Python 示例
import time, requests
base = "https://apicdn.xyc.ai"
headers = {"Authorization": "Bearer sk-xxxxxxxx"}
# 1. 提交任务
task_id = requests.post(
f"{base}/v1/video/generations", headers=headers,
json={"model": "veo-3.1-lite-generate-001",
"prompt": "A puppy running on grass, 4 seconds"},
).json()["task_id"]
# 2. 轮询状态
while True:
data = requests.get(f"{base}/v1/video/generations/{task_id}", headers=headers).json()["data"]
if data["status"] == "SUCCESS":
break
if data["status"] == "FAILURE":
raise RuntimeError(data.get("fail_reason"))
time.sleep(8)
# 3. 下载视频
mp4 = requests.get(data["result_url"], headers=headers).content
open("output.mp4", "wb").write(mp4)
计费说明
Veo 系列模型按任务计费(按时长)。Seedance / Dreamina 系列模型按上游官方费率以 token 计费。您账户的厂商折扣会自动生效。当前价格请查看模型广场。