参考生视频 API
reference-to-video 是 Seedance 2.0 最强大的模式。它允许你在一次请求中同时提供最多 9 张参考图片 + 3 段参考视频 + 3 段参考音频,让模型综合这些素材合成新视频。
典型场景:
- 风格参考 — 用几张带有特定美术风格的图片,让新视频复现该风格
- 角色 / 商品参考 — 让同一个虚拟角色或产品出现在新的场景和动作中
- 镜头语言参考 — 用一段示范视频传达你想要的运镜节奏
- 配乐驱动 — 用一段参考音频驱动节奏和情绪
- 视频编辑 / 延展 — 在现有视频的基础上延续、扩展或改写
端点
POST https://api.evolink.ai/v1/videos/generations
Model ID: seedance-2.0-reference-to-video
对应的 Fast 版本是
seedance-2.0-fast-reference-to-video,参数结构完全一致。
请求参数
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
model | string | 是 | — | 固定为 seedance-2.0-reference-to-video |
prompt | string | 是 | — | 视频描述。用自然语言说明每份素材的作用,例如"使用视频 1 的第一人称视角,以音频 1 作为全程背景音乐"。中文 ≤ 500 字符,英文 ≤ 1000 单词 |
image_urls | array<string> | 否 | — | 0–9 张参考图片 URL |
video_urls | array<string> | 否 | — | 0–3 段参考视频 URL |
audio_urls | array<string> | 否 | — | 0–3 段参考音频 URL |
duration | integer | 否 | 5 | 视频时长(秒),4–15 |
quality | string | 否 | 720p | 480p 或 720p |
aspect_ratio | string | 否 | 16:9 | 16:9、9:16、1:1、4:3、3:4、21:9、adaptive |
generate_audio | boolean | 否 | true | 是否生成同步音频 |
callback_url | string | 否 | — | 任务完成回调的 HTTPS URL |
关键约束:
image_urls、video_urls、audio_urls可以全部不传(等价于纯文生视频),但不允许只传audio_urls。只要提供了音频,就必须同时提供至少 1 张图或 1 段视频作为视觉锚点。
如何用 prompt 指定素材作用
本模型 没有标签语法(不存在 @Image1、@Video1 这类语法)。你用自然语言描述每份素材扮演的角色,模型会根据数组顺序理解"图 1 / 视频 1 / 音频 1"的指向。
常见表达模板:
| 想表达的意图 | 推荐 prompt 写法 |
|---|---|
| 把图 1 当作首帧 | "以图片 1 作为视频的第一帧" |
| 让视频 1 提供运镜 | "参考视频 1 的镜头运动和节奏" |
| 让音频 1 作为 BGM | "以音频 1 作为整段视频的背景音乐" |
| 保持图 1 中的角色一致 | "视频中的人物外观与图片 1 中的角色保持一致" |
| 图 2 的美术风格迁移 | "整体美术风格参考图片 2 的用色与质感" |
你可以在一段 prompt 中自由组合上述句式。素材的顺序不会影响合法性,但会影响模型对"图 1 / 图 2"的理解,保持顺序稳定有利于结果复现。
输入素材限制
图片
| 项 | 限制 |
|---|---|
| 数量 | 0 – 9 张 |
| 格式 | .jpeg、.png、.webp |
| 尺寸 | 单边 300–6000 像素 |
| 宽高比 | 0.4 – 2.5 |
| 单张大小 | ≤ 30 MB |
视频
| 项 | 限制 |
|---|---|
| 数量 | 0 – 3 段 |
| 格式 | .mp4、.mov |
| 单段时长 | 2 – 15 秒 |
| 合计时长 | ≤ 15 秒 |
| 分辨率 | 480p – 720p |
| 帧率 | 24 – 60 FPS |
| 单段大小 | ≤ 50 MB |
音频
| 项 | 限制 |
|---|---|
| 数量 | 0 – 3 段 |
| 格式 | .wav、.mp3 |
| 单段时长 | 2 – 15 秒 |
| 合计时长 | ≤ 15 秒 |
| 单段大小 | ≤ 15 MB |
整体
| 项 | 限制 |
|---|---|
| 请求体合计 | ≤ 64 MB(不支持 Base64 内联) |
| 必须至少 | 1 张图片 或 1 段视频(不允许只传音频) |
请求示例
cURL — 图 + 视频 + 音频三模态合成
curl -X POST https://api.evolink.ai/v1/videos/generations \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.0-reference-to-video",
"prompt": "参考视频 1 的第一人称视角和镜头节奏;以音频 1 作为整段背景音乐。内容:年轻骑手穿越雨后的城市街道,霓虹反射在湿漉漉的路面上。",
"image_urls": ["https://example.com/rider-style.jpg"],
"video_urls": ["https://example.com/pov-reference.mp4"],
"audio_urls": ["https://example.com/synthwave-bgm.mp3"],
"duration": 10,
"quality": "720p",
"aspect_ratio": "16:9"
}'
Python — 仅图片参考(最多 9 张)
import requests
response = requests.post(
"https://api.evolink.ai/v1/videos/generations",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
json={
"model": "seedance-2.0-reference-to-video",
"prompt": "整体美术风格参考所提供的 3 张图片的用色与质感。场景:盛夏傍晚的小镇集市,暖色调光线。",
"image_urls": [
"https://example.com/style-ref-1.jpg",
"https://example.com/style-ref-2.jpg",
"https://example.com/style-ref-3.jpg"
],
"duration": 8,
"aspect_ratio": "16:9"
}
)
task = response.json()
print(f"Task ID: {task['id']}")
Node.js — 仅视频参考(用于运镜复现)
const res = await fetch("https://api.evolink.ai/v1/videos/generations", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "seedance-2.0-reference-to-video",
prompt: "参考视频 1 的环绕镜头运动和速度曲线。主体替换为一座古典雕塑,背景为黄昏的博物馆大厅。",
video_urls: ["https://example.com/orbit-shot.mp4"],
duration: 8,
quality: "720p",
aspect_ratio: "16:9"
})
});
const task = await res.json();
console.log("Task ID:", task.id);
响应
{
"id": "task-unified-1774857405-abc123",
"object": "video.generation.task",
"created": 1774857405,
"model": "seedance-2.0-reference-to-video",
"status": "pending",
"progress": 0,
"type": "video",
"task_info": {
"can_cancel": true,
"estimated_time": 180,
"video_duration": 10
},
"usage": {
"billing_rule": "per_second",
"credits_reserved": 60,
"user_group": "default"
}
}
计费说明
- 按秒计费:以输出视频的
duration为准 - 参考视频的输入时长也计入计费基数(即你传 10 秒的参考视频会按 10 秒参与计价)
- 音频生成本身不单独收费
常见问题
参考素材不会被原样输出吗? 不会。模型只把它们当作"信号"去理解风格 / 构图 / 运动 / 节奏,最终输出是全新的生成内容。
可以不传任何参考素材吗? 可以,此时行为类似于纯文生视频。但如果你没有任何参考素材,建议直接使用更便宜的 text-to-video。
素材顺序重要吗?
重要。如果你在 prompt 中说"参考视频 1",模型会对应到 video_urls[0]。保持固定顺序有助于复现实验。