复刻动作与外观
- 角色复刻:从参考图片或视频中复制角色外观。如果参考素材是视频,模型还能复刻语音音色。
- 多角色互动:最多支持五个角色同时出镜,实现自然对话和互动。
- 多镜头叙事:通过智能多镜头调度,保持角色在不同镜头间的一致性。
- 声音克隆(wan2.7):提供
reference_voice音频文件,可独立设置语音音色,不依赖参考视频中的声音。
支持的模型
| 模型 | 特性 | 输入 | 输出 |
|---|---|---|---|
wan2.7-r2v 推荐 | 音频同步、多角色、声音克隆、首帧控制、media 数组输入 | 文本、图片、视频、音频 | 720P 或 1080P,2-15 秒,30 fps,MP4(H.264) |
| wan2.6-r2v-flash | 有声或无声视频、单人或多人、多镜头叙事、音画同步。速度快、性价比高。 | 文本、图片、视频 | 720P 或 1080P,2-10 秒,30 fps,MP4(H.264) |
| wan2.6-r2v | 有声视频、多角色参考视频生成、多镜头叙事、音画同步 | 文本、图片、视频 | 720P 或 1080P,2-10 秒,30 fps,MP4(H.264) |
前提条件
在千问云获取 DashScope API Key,并设置为环境变量:
工作原理
Reference-to-video 任务以异步方式运行:
1
提交任务
通过 POST 请求发送模型名称、提示词、参考素材 URL 和参数。API 返回一个
task_id。2
轮询结果
使用
task_id 通过 GET 请求查询任务状态。当状态为 SUCCEEDED 时,响应中包含生成视频的 URL。| 任务状态 | 说明 |
|---|---|
PENDING | 任务排队中 |
RUNNING | 视频生成中 |
SUCCEEDED | 生成完成,可在 output.video_url 中获取视频 URL |
FAILED | 生成失败,查看 message 了解详情 |
快速开始
提交一个 reference-to-video 任务并轮询结果。
- curl (wan2.7)
- curl (wan2.6)
Wan 2.7 通过 第 2 步:通过任务 ID 获取结果将
media 数组提供参考素材。在提示词中使用 Video N 或 Image N 引用角色(图片和视频分开编号)。第 1 步:提交任务{task_id} 替换为上一步 API 调用返回的 task_id 值。与 wan2.6 的主要区别:wan2.7 使用
media 数组代替 reference_urls,角色引用方式为 Video 1/Image 1(而非 character1),使用 resolution+ratio 代替 size,支持 reference_voice 声音克隆,且 watermark 默认值为 false。参数说明
wan2.7-r2v
| 参数 | 类型 | 必选 | 说明 |
|---|---|---|---|
model | string | 是 | "wan2.7-r2v" |
input.prompt | string | 是 | 最多 5,000 个字符。使用 Video 1/Image 1 按 media 数组中的顺序引用角色(图片和视频分开计数)。 |
input.media | array | 是 | 1-5 个元素。每个元素包含 type(reference_image、reference_video 或 first_frame)和 url。 |
input.negative_prompt | string | 否 | 最多 500 个字符。指定需要排除的内容。 |
input.reference_voice | string | 否 | 音频文件 URL(WAV/MP3 格式,1-10 秒,最大 15 MB),用于声音克隆。会覆盖参考视频中的音频。 |
parameters.resolution | string | 否 | "720P" 或 "1080P"(默认)。 |
parameters.ratio | string | 否 | "16:9"(默认)、"9:16"、"1:1"、"4:3"、"3:4"。提供 first_frame 时此参数被忽略。 |
parameters.duration | integer | 否 | 仅图片参考时为 2-15,包含视频参考时为 2-10。默认值:5。 |
parameters.prompt_extend | boolean | 否 | 通过 LLM 改写提示词。默认值:true。 |
parameters.watermark | boolean | 否 | 默认值:false。 |
parameters.seed | integer | 否 | 取值范围:0 到 2,147,483,647。 |
角色引用方式(wan2.7)
每个 media 元素根据其位置映射到一个角色标识符。图片和视频分开计数:
wan2.6 模型
| 参数 | 类型 | 必选 | 说明 |
|---|---|---|---|
model | string | 是 | "wan2.6-r2v-flash" 或 "wan2.6-r2v" |
input.prompt | string | 是 | 描述场景的文本提示词。按 reference_urls 中 URL 的顺序,使用 character1、character2 等引用角色。 |
input.reference_urls | array | 是 | 最多 5 个 URL,指向参考图片或视频。每个参考素材应包含单个角色。 |
parameters.size | string | 否 | 输出分辨率。例如 "1280*720"(16:9)。所有选项请参阅 API 参考。 |
parameters.duration | integer | 否 | 输出视频时长(秒)。 |
parameters.audio | boolean | 否 | true 生成有声视频,false 生成无声视频。默认值:true。仅 wan2.6-r2v-flash 支持无声视频。 |
parameters.shot_type | string | 否 | "multi" 多镜头切换,"single" 固定视角。 |
parameters.watermark | boolean | 否 | true 添加水印。 |
参考素材输入限制
| 类型 | 数量上限 | 说明 |
|---|---|---|
| 图片 | 5 | 人物、物体或背景 |
| 视频 | 3 | 适合角色或物体参考。避免使用背景或空场景的视频。 |
| 合计(图片 + 视频) | 5 | 所有参考素材的总数上限 |
角色引用方式(wan2.6)
每个参考 URL 根据其在 reference_urls 数组中的位置映射到一个角色标识符:
多角色互动
最多支持五个角色同时出镜,实现自然对话和互动——适用于采访、对话、教程等场景。
支持的模型:所有模型。
将 shot_type 设为 multi 可实现动态多镜头切换,设为 single 则使用固定视角。
示例:四参考素材场景
提示词:"character2 sits on a chair by the window, holding character3, and plays a soothing American country folk song next to character4. character1 says to character2: 'that sounds great'"
| 输入 | 类型 | 参考角色 |
|---|---|---|
| wan-r2v-role1.mp4 | 视频 | character1(人物) |
| wan-r2v-role2.mp4 | 视频 | character2(人物) |
![]() | 图片 | character3(物体) |
![]() | 图片 | character4(背景) |
示例:双人对话
提示词:"character1 says to character2: 'I'll rely on you tomorrow morning!' character2 replies: 'You can count on me!'"
| 输入 | 类型 | 参考角色 |
|---|---|---|
| compressed-video (1).mp4 | 视频 | character1 |
| compressed-video.mp4 | 视频 | character2 |
示例代码(curl)
所有示例均使用 X-DashScope-Async: enable 请求头提交异步任务。
第 1 步:提交任务
<task-id> 替换为第 1 步响应中的 task_id。
示例代码(Python)
以下示例提交一个多角色任务,并轮询直到获取结果。
单角色表演
从单个参考视频或图片创建跨场景的完整角色表演——适用于个人品牌、产品代言、培训教学等场景。
支持的模型:所有模型。
在 reference_urls 中传入单个 URL,并在提示词中使用 character1。建议将 shot_type 设为 multi。
示例:节日开箱视频
提示词:"Create a festive holiday unboxing experience. Shot 1 [0-2s]: Character1 sits by a beautifully decorated Christmas tree with twinkling lights, holding a wrapped gift box with elegant red and gold wrapping. Shot 2 [2-4s]: Close-up as Character1 carefully unwraps the gift, revealing premium skincare products inside. Shot 3 [4-6s]: Character1 applies the product with delight, saying: 'This holiday glow is exactly what I wanted!' Shot 4 [6-10s]: Character1 admires their radiant skin in a handheld mirror, surrounded by festive decorations, ending with a warm smile to camera."
| 输入 | 输出 |
|---|---|
| wan-r2v-role-4.mp4(参考视频) | 多镜头有声视频 |
示例代码(curl)
第 1 步:提交任务
<task-id> 替换为第 1 步响应中的 task_id。
无声视频生成
创建不含音频的纯画面视频——适用于动态海报、无声短视频等场景。
支持的模型:仅 wan2.6-r2v-flash。
将 audio 设为 false。
示例:无声舞蹈视频
提示词:"character1 drinks bubble tea while dancing spontaneously to the music."
| 输入 | 输出 |
|---|---|
| wan-r2v-role-1.mp4(参考视频) | 无声视频 |
示例代码(curl)
第 1 步:提交任务
<task-id> 替换为第 1 步响应中的 task_id。
输出规格
| 属性 | 详情 |
|---|---|
| 视频数量 | 每个任务 1 个 |
| 格式 | MP4(H.264,30 fps) |
| 分辨率 | wan2.7:通过 resolution + ratio 设置。wan2.6:通过 size 参数设置(如 1280*720)。 |
| URL 有效期 | 24 小时 |
响应字段
| 字段 | 说明 |
|---|---|
output.task_id | 任务标识符,用于轮询状态。 |
output.task_status | PENDING、RUNNING、SUCCEEDED 或 FAILED。 |
output.video_url | 生成视频的 URL。task_status 为 SUCCEEDED 时可用。 |
output.orig_prompt | 原始输入提示词。 |
usage.duration | 输出视频时长(秒)。 |
usage.input_video_duration | 输入视频总时长(秒)。 |
usage.output_video_duration | 输出视频时长(秒)。 |
usage.video_count | 生成的视频数量(固定为 1)。 |
usage.audio | 输出视频是否包含音频。 |
usage.SR | 分辨率级别(720 或 1080)。 |
计费与限流
计费规则
| 项目 | 是否计费 | 计量单位 |
|---|---|---|
| 输入图片 | 否 | -- |
| 输入视频 | 是 | 按秒计费 |
| 输出视频 | 是 | 按秒计费 |
| 失败任务 | 否 | 不消耗新用户免费额度 |
wan2.6-r2v-flash 的有声和无声视频各有独立费率。
总计费时长 = 输入视频时长(上限 5 秒) + 输出视频时长
输入视频时长计费方式
5 秒上限在所有参考素材(图片和视频合计)间平均分配。每个视频的计费时长为 min(实际时长, 截断上限)。图片不计费。
| 参考素材数量 | 每个视频的截断上限 |
|---|---|
| 1 | 5 秒 |
| 2 | 2.5 秒 |
| 3 | 1.65 秒 |
| 4 | 1.25 秒 |
| 5 | 1 秒 |
min(视频 1 时长, 1.65 秒) + min(视频 2 时长, 1.65 秒)。图片不计费。
API 参考
常见问题
如何设置视频宽高比?
wan2.7:使用 ratio 参数(16:9、9:16、1:1、4:3、3:4)。提供 first_frame 图片时,宽高比自动从图片推断。
wan2.6:使用 size 参数。每个分辨率对应固定的宽高比——例如 size=1280*720 生成 16:9 的视频。
如何在提示词中引用角色?
wan2.7:使用 Video N 或 Image N 标识符。图片和视频分开计数:
character1、character2 等——标识符与 reference_urls 中 URL 的顺序一一对应:
任务失败怎么办?
轮询任务状态接口。如果 task_status 为 FAILED,响应中的 message 字段会描述错误原因。常见原因包括无效的参考 URL、不支持的文件格式或超过限流。失败任务不计费。


