Seedance 视频生成

本文说明火山 Seedance 视频生成模型的异步任务调用方式,包括文生视频、图生视频和任务查询。

一、Seedance 视频生成

适用模型:

  • doubao-seedance-2.0
    doubao-seedance-2.0
  • doubao-seedance-2.0-fast
    doubao-seedance-2.0-fast
  • doubao-seedance-1.5-pro
    doubao-seedance-1.5-pro
  • doubao-seedance-1.0-pro
    doubao-seedance-1.0-pro
  • doubao-seedance-1.0-pro-fast
    doubao-seedance-1.0-pro-fast

Seedance 使用异步任务接口。

POST https://cn-shanghai-alicloud-aimesh.api.clickzetta.com/gateway/api/v3/contents/generations/tasks

文生视频

curl -X POST "$AI_GATEWAY_VOLC_BASE_URL/contents/generations/tasks" \ -H "Authorization: Bearer $API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "doubao-seedance-2.0", "content": [ { "type": "text", "text": "生成一段 5 秒视频:夜晚城市中,数据流从不同系统汇聚到 AI Gateway,画面专业、干净、科技感。" } ], "ratio": "16:9", "duration": 5, "resolution": "720p", "watermark": false }'

图生视频

curl -X POST "$AI_GATEWAY_VOLC_BASE_URL/contents/generations/tasks" \ -H "Authorization: Bearer $API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "doubao-seedance-2.0", "content": [ { "type": "text", "text": "让图片中的产品缓慢旋转,背景保持干净,镜头轻微推进。" }, { "type": "image_url", "image_url": { "url": "https://example.com/first-frame.png" } } ], "ratio": "adaptive", "duration": 5, "resolution": "720p", "watermark": false }'

视频生成请求字段

字段类型必填说明
model
model
stringSeedance 模型名称。
content
content
array多模态输入数组,常见元素包括文本和图片。
content[].type
content[].type
string内容类型,例如
text
text
image_url
image_url
。Seedance 2.0 可能支持更多模态,取决于模型详情页。
content[].text
content[].text
string条件必填文本提示词。
content[].image_url.url
content[].image_url.url
string条件必填图片 URL。
ratio
ratio
string画面比例,例如
16:9
16:9
9:16
9:16
1:1
1:1
4:3
4:3
3:4
3:4
21:9
21:9
adaptive
adaptive
duration
duration
integer视频时长,单位秒。支持范围取决于模型版本。
resolution
resolution
string分辨率,例如
480p
480p
720p
720p
1080p
1080p
seed
seed
integer随机种子。
watermark
watermark
boolean是否添加水印。
generate_audio
generate_audio
boolean是否生成音频。是否支持取决于模型版本。
camera_fixed
camera_fixed
boolean是否固定镜头。是否支持取决于模型版本。
return_last_frame
return_last_frame
boolean是否返回最后一帧。是否支持取决于模型版本。
callback_url
callback_url
string任务完成后的回调地址。是否支持取决于接入点能力。

创建任务响应

{ "id": "cgt-xxxxxxxxxxxxxxxx", "model": "doubao-seedance-2.0", "status": "queued", "created_at": 1710000000 }

字段说明:

字段说明
id
id
视频生成任务 ID。
status
status
任务状态。
created_at
created_at
创建时间。

查询任务结果

curl -X GET "$AI_GATEWAY_VOLC_BASE_URL/contents/generations/tasks/<TASK_ID>" \ -H "Authorization: Bearer $API_KEY"

常见任务状态:

状态说明
queued
queued
/
PENDING
PENDING
排队中
running
running
/
RUNNING
RUNNING
处理中
succeeded
succeeded
/
SUCCEEDED
SUCCEEDED
成功
failed
failed
/
FAILED
FAILED
失败
cancelled
cancelled
/
CANCELED
CANCELED
已取消
expired
expired
已过期

成功响应通常包含视频 URL:

{ "id": "cgt-xxxxxxxxxxxxxxxx", "status": "succeeded", "content": { "video_url": "https://example.com/generated.mp4" }, "usage": { "duration": 5 } }

注意:

  • 火山官方视频任务通常仅支持查询最近 7 天的任务记录。
  • 视频 URL 通常有有效期,常见为 24 小时,请生成成功后及时下载或转存。
  • 轮询间隔建议 5 到 15 秒,避免高频查询。
  • 创建任务前建议做幂等控制,避免用户重复点击导致重复计费。

Python 轮询示例:

import time import requests api_key = "<your-api-key>" base_url = "https://cn-shanghai-alicloud-aimesh.api.clickzetta.com/gateway/api/v3" headers = { "Authorization": f"Bearer {api_key}", "Content-Type": "application/json", } payload = { "model": "doubao-seedance-2.0", "content": [ { "type": "text", "text": "生成一段 5 秒 AI Gateway 产品演示视频。" } ], "ratio": "16:9", "duration": 5, "resolution": "720p", "watermark": False, } create_resp = requests.post( f"{base_url}/contents/generations/tasks", headers=headers, json=payload, timeout=60, ) create_resp.raise_for_status() task_id = create_resp.json()["id"] for _ in range(120): query_resp = requests.get( f"{base_url}/contents/generations/tasks/{task_id}", headers={"Authorization": f"Bearer {api_key}"}, timeout=30, ) query_resp.raise_for_status() task = query_resp.json() status = task.get("status") if status in ("succeeded", "SUCCEEDED"): print(task.get("content", {}).get("video_url")) break if status in ("failed", "FAILED"): raise RuntimeError(task) time.sleep(5) else: raise TimeoutError("video generation task timeout")

联系我们
预约咨询
微信咨询
电话咨询
邮件咨询