Seedance
字节 Seedance 三个型号的差异:2.5 一口价 30 秒、2.0 系列的参考图 / 视频 / 音频与画面比例
POST /v1/videos,model 为 seedance-2.5 / seedance-2.0 / seedance-2.0-i2v。一口价计费,与时长无关,见视频生成。本页结论来自对本网关的真实调用,最后验证:2026-09-05。
基本调用
# 1. 提交
curl https://www.vibeapi.cn/v1/videos \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.5",
"prompt": "中国水墨动画。鲲化为鹏,自暴风怒海中腾空而起,双翼横贯画面,翼尖化入云雾。大量留白,湿笔在宣纸上缓缓洇开,单色水墨仅带一点淡赭",
"duration": 30,
"size": "1280x720"
}'
# 2. 轮询(每 10~15 秒一次)
curl "https://www.vibeapi.cn/v1/videos/$TASK_ID" -H "Authorization: Bearer $API_KEY"
# 3. 取片
curl -L "https://www.vibeapi.cn/v1/videos/$TASK_ID/content" \
-H "Authorization: Bearer $API_KEY" -o output.mp4import time, requests
BASE = "https://www.vibeapi.cn/v1"
H = {"Authorization": "Bearer YOUR_API_KEY"}
task = requests.post(f"{BASE}/videos", headers=H, json={
"model": "seedance-2.5",,
"prompt": "中国水墨动画。鲲化为鹏,自暴风怒海中腾空而起,双翼横贯画面,翼尖化入云雾。大量留白,湿笔在宣纸上缓缓洇开,单色水墨仅带一点淡赭",,
"duration": 30,,
"size": "1280x720",
}).json()
while True:
s = requests.get(f"{BASE}/videos/{task['id']}", headers=H).json()
if s["status"] in ("completed", "failed"):
break
time.sleep(12)
if s["status"] == "completed":
url = s.get("metadata", {}).get("url") or f"{BASE}/videos/{task['id']}/content"
open("output.mp4", "wb").write(requests.get(url, headers=H).content)import fs from "fs";
const BASE = "https://www.vibeapi.cn/v1";
const H = { Authorization: "Bearer YOUR_API_KEY", "Content-Type": "application/json" };
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
const task = await (await fetch(`${BASE}/videos`, {
method: "POST",
headers: H,
body: JSON.stringify({
model: "seedance-2.5",,
prompt: "中国水墨动画。鲲化为鹏,自暴风怒海中腾空而起,双翼横贯画面,翼尖化入云雾。大量留白,湿笔在宣纸上缓缓洇开,单色水墨仅带一点淡赭",,
duration: 30,,
size: "1280x720",
}),
})).json();
let s;
while (true) {
s = await (await fetch(`${BASE}/videos/${task.id}`, { headers: H })).json();
if (s.status === "completed" || s.status === "failed") break;
await sleep(12_000);
}
if (s.status === "completed") {
const url = s.metadata?.url ?? `${BASE}/videos/${task.id}/content`;
fs.writeFileSync("output.mp4", Buffer.from(await (await fetch(url, { headers: H })).arrayBuffer()));
}三个型号
一口价系列,最大特点是单次能出 30 秒(seedance-2.5)。代价是分辨率固定
1280×720,且画面会主动避开清晰人脸——拍风景、山水、抽象画面最划算,
要人物主体用 seedance-2.0 系列或 wan3.0。
三个型号的能力并不一样,别按系列一概而论:
seedance-2.5 | seedance-2.0 | seedance-2.0-i2v | |
|---|---|---|---|
| 时长 | 固定 30 秒 | 4–15 秒 | 5–15 秒 |
| 画面比例 | 全比例 | 16:9 9:16 1:1 4:3 | 16:9 9:16 1:1 |
| 分辨率 | 固定 1280×720 | 固定 864×496 | resolution 选 720p / 1080p |
| 参考图 | 最多 9 张 | 最多 9 张 | 必填,1–9 张 |
| 参考视频 | 不收 | 最多 3 条 | 最多 3 条 |
| 参考音频 | 不收 | 最多 3 个 | 最多 3 个 |
比例用 aspect_ratio 传,取值超出该型号支持范围会被归一。
参考素材放在 image_urls / video_urls / audio_urls 数组里,
顺序即编号——提示词里的 @Image1 对应数组第一项,依次类推。
seedance-2.5 固定 30 秒,duration 传别的值也按 30 秒处理,价钱不变。
引用参考图时在提示词里用 @Image1 到 @Image9。
seedance-2.5 日产能有限,请按可能需要重试来设计。 失败自动全额退款。