参考生视频 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,参数结构完全一致。

请求参数

参数类型必填默认值说明
modelstring固定为 seedance-2.0-reference-to-video
promptstring视频描述。用自然语言说明每份素材的作用,例如"使用视频 1 的第一人称视角,以音频 1 作为全程背景音乐"。中文 ≤ 500 字符,英文 ≤ 1000 单词
image_urlsarray<string>0–9 张参考图片 URL
video_urlsarray<string>0–3 段参考视频 URL
audio_urlsarray<string>0–3 段参考音频 URL
durationinteger5视频时长(秒),415
qualitystring720p480p720p
aspect_ratiostring16:916:99:161:14:33:421:9adaptive
generate_audiobooleantrue是否生成同步音频
callback_urlstring任务完成回调的 HTTPS URL

关键约束: image_urlsvideo_urlsaudio_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]。保持固定顺序有助于复现实验。

相关文档