萬相-參考生視頻模型支援多模態輸入(圖片、視頻、音頻),產生保持角色形象和音色一致性的視頻,適用於單角色表演或多角色互動情境。
相關文檔:使用指南
適用範圍
為確保調用成功,請務必保證模型、Endpoint URL和API Key 均屬於同一地區。跨地區調用將會失敗。
-
選擇模型:確認模型所屬的地區。
-
選擇 URL:選擇對應的地區 Endpoint URL,支援HTTP URL。
-
配置API Key:選擇地區並擷取API Key,再配置API Key到環境變數。
本文的範例程式碼適用於新加坡地區。
阿里雲百鍊為華北2(北京)、新加坡地區推出了業務空間專屬網域名稱,能夠為推理請求提供卓越的效能和更高的穩定性,建議遷移至新網域名稱:
-
華北2(北京)地區:從
https://dashscope.aliyuncs.com遷移至https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com -
新加坡地區:從
https://dashscope-intl.aliyuncs.com遷移至https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com
其中 {WorkspaceId} 為您的業務空間 ID,可在阿里雲百鍊控制台的業務空間詳情頁面查看。現有網域名稱仍可正常使用。
HTTP調用
此介面為新版協議,支援wan2.7模型。
由於視頻產生任務耗時較長(通常為1-5分鐘),API採用非同步呼叫。整個流程包含 “建立任務 -> 輪詢擷取” 兩個核心步驟,具體如下:
步驟1:建立任務擷取任務ID
新加坡
POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis
北京
POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis
調用時請將{WorkspaceId}替換為真實的業務空間ID。
-
建立成功後,使用介面返回的
task_id查詢結果,task_id 有效期間為 24 小時。請勿重複建立任務,輪詢擷取即可。 -
新手指引請參見Postman。
請求參數 |
多主體參考(映像+視頻+音色)傳入多張參考素材(映像+視頻),並指定音色產生視頻。
單圖參考(多宮格映像)傳入一張九宮格參考圖,可以控制故事走向、機位構圖與角色設定,產生視頻。
|
要求標頭(Headers) |
|
|
Content-Type 請求內容類型。此參數必須設定為 |
|
|
Authorization 請求身份認證。介面使用阿里雲百鍊API Key進行身份認證。樣本值:Bearer sk-xxxx。 |
|
|
X-DashScope-Async 非同步處理配置參數。HTTP請求只支援非同步,必須設定為 重要
缺少此要求標頭將報錯:“current user api does not support synchronous calls”。 |
|
請求體(Request Body) |
|
|
model 模型名稱。模型列表與價格詳見模型價格。 樣本值:wan2.7-r2v、wan2.7-r2v-2026-06-12。 |
|
|
input 輸入的基本資料,如提示詞等。 |
|
|
parameters 視頻處理參數,如設定視頻解析度。 |
響應參數 |
成功響應請儲存 task_id,用於查詢任務狀態與結果。
異常響應建立任務失敗,請參見錯誤碼進行解決。
|
|
output 任務輸出資訊。 |
|
|
request_id 請求唯一標識。可用於請求明細溯源和問題排查。 |
|
|
code 請求失敗的錯誤碼。請求成功時不會返回此參數,詳情請參見錯誤碼。 |
|
|
message 請求失敗的詳細資料。請求成功時不會返回此參數,詳情請參見錯誤碼。 |
步驟2:根據任務ID查詢結果
新加坡
GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id}
北京
GET https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/tasks/{task_id}
調用時請將{WorkspaceId}替換為真實的業務空間ID。
-
輪詢建議:視頻產生過程約需數分鐘,建議採用輪詢機制,並設定合理的查詢間隔(如 15 秒)來擷取結果。
-
任務狀態流轉:PENDING(排隊中)→ RUNNING(處理中)→ SUCCEEDED(成功)/ FAILED(失敗)。
-
結果連結:任務成功後返回視頻連結,有效期間為 24 小時。建議在擷取連結後立即下載並轉存至永久儲存(如阿里雲 OSS)。
-
task_id 有效期間:24小時,逾時後將無法查詢結果,介面將返回任務狀態為
UNKNOWN。
請求參數 |
查詢任務結果將 |
要求標頭(Headers) |
|
|
Authorization 請求身份認證。介面使用阿里雲百鍊API Key進行身份認證。樣本值:Bearer sk-xxxx。 |
|
URL路徑參數(Path parameters) |
|
|
task_id 任務ID。 |
響應參數 |
任務執行成功視頻URL僅保留24小時,逾時後會被自動清除,請及時儲存產生的視頻。
任務執行失敗若任務執行失敗,task_status將置為 FAILED,並提供錯誤碼和資訊。請參見錯誤碼進行解決。
任務查詢到期task_id查詢有效期間為 24 小時,逾時後將無法查詢,返回以下報錯資訊。
|
|
output 任務輸出資訊。 |
|
|
usage 輸出資訊統計。只對成功的結果計數。 |
|
|
request_id 請求唯一標識。可用於請求明細溯源和問題排查。 |
DashScope SDK調用
SDK 的參數命名與HTTP介面基本一致,參數結構根據語言特性進行封裝。
參考生視頻任務通常需要1–5分鐘。SDK 封裝了HTTP非同步呼叫流程,支援同步和非同步兩種調用方式。
實際耗時取決於排隊任務數和服務運行狀態。
Python SDK調用
運行以下代碼前,請確保 DashScope Python SDK版本 ≥1.25.16。
版本過低可能會觸發 "url error, please check url!" 等錯誤。請參考安裝SDK進行更新。
根據模型所在地區設定 base_http_api_url:
新加坡
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
北京
dashscope.base_http_api_url = 'https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1'
調用時請將{WorkspaceId}替換為真實的業務空間ID。
同步調用
同步調用會阻塞直到視頻產生完成,直接返回結果。
請求樣本
from http import HTTPStatus
from dashscope import VideoSynthesis
import dashscope
import os
# 以下為新加坡地區URL,調用時請將{WorkspaceId}替換為真實的業務空間ID,各地區的URL不同。
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
# 若沒有配置環境變數,請用百鍊API Key將下行替換為:api_key="sk-xxx"
# 各地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/en/model-studio/get-api-key
api_key = os.getenv("DASHSCOPE_API_KEY")
def sample_sync_call_r2v():
# 同步調用,直接返回結果
print('please wait...')
rsp = VideoSynthesis.call(
api_key=api_key,
model='wan2.7-r2v-2026-06-12',
prompt='視頻1抱著圖3,在圖4的椅子上彈奏一支舒緩的鄉村民謠,並說道:“今天的陽光真好。”圖1手中拿著圖2,路過視頻1,把手中的圖2放到視頻1旁邊的桌子上,並說道:“真好聽,能不能再唱一遍”。 ',
media=[
{
"type": "reference_image",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260408/sjuytr/wan-r2v-object-girl.jpg",
"reference_voice": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260408/gbqewz/wan-r2v-girl-voice.mp3"
},
{
"type": "reference_video",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260129/qigswt/wan-r2v-role2.mp4",
"reference_voice": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260408/isllrq/wan-r2v-boy-voice.mp3"
},
{
"type": "reference_image",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260129/rtjeqf/wan-r2v-object3.png"
},
{
"type": "reference_image",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260129/qpzxps/wan-r2v-object4.png"
},
{
"type": "reference_image",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260129/wfjikw/wan-r2v-backgroud5.png"
}
],
resolution='720P',
ratio='16:9',
duration=10,
prompt_extend=False,
watermark=True)
print(rsp)
if rsp.status_code == HTTPStatus.OK:
print(rsp.output.video_url)
else:
print('Failed, status_code: %s, code: %s, message: %s' %
(rsp.status_code, rsp.code, rsp.message))
if __name__ == '__main__':
sample_sync_call_r2v()
響應樣本
video_url 有效期間24小時,請及時下載視頻。
{
"status_code": 200,
"request_id": "b040d446-f9b6-977f-b9ad-xxxxxx",
"code": null,
"message": "",
"output": {
"task_id": "5dab3291-393e-424d-929b-xxxxxx",
"task_status": "SUCCEEDED",
"video_url": "https://dashscope-a717.oss-accelerate.aliyuncs.com/xxx.mp4?Expires=xxx",
"submit_time": "2026-04-17 17:12:49.076",
"scheduled_time": "2026-04-17 17:13:00.384",
"end_time": "2026-04-17 17:29:43.386",
"orig_prompt": "視頻1抱著圖3,在圖4的椅子上彈奏一支舒緩的鄉村民謠,並說道:“今天的陽光真好。”圖1手中拿著圖2,路過視頻1,把手中的圖2放到視頻1旁邊的桌子上,並說道:“真好聽,能不能再唱一遍”。 "
},
"usage": {
"video_count": 1,
"video_duration": 0,
"video_ratio": "",
"duration": 15,
"input_video_duration": 5,
"output_video_duration": 10,
"SR": 720,
"ratio": "16:9"
}
}
非同步呼叫
非同步呼叫立即返回任務ID,需自行輪詢或等待任務完成。
請求樣本
import os
from http import HTTPStatus
from dashscope import VideoSynthesis
import dashscope
# 以下為新加坡地區URL,調用時請將{WorkspaceId}替換為真實的業務空間ID,各地區的URL不同。
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
# 若沒有配置環境變數,請用百鍊API Key將下行替換為:api_key="sk-xxx"
# 各地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/en/model-studio/get-api-key
api_key = os.getenv("DASHSCOPE_API_KEY")
def sample_async_call_r2v():
# 非同步呼叫,返回一個task_id
rsp = VideoSynthesis.async_call(
api_key=api_key,
model='wan2.7-r2v-2026-06-12',
prompt='視頻1抱著圖3,在圖4的椅子上彈奏一支舒緩的鄉村民謠,並說道:“今天的陽光真好。”圖1手中拿著圖2,路過視頻1,把手中的圖2放到視頻1旁邊的桌子上,並說道:“真好聽,能不能再唱一遍”。 ',
media=[
{
"type": "reference_image",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260408/sjuytr/wan-r2v-object-girl.jpg",
"reference_voice": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260408/gbqewz/wan-r2v-girl-voice.mp3"
},
{
"type": "reference_video",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260129/qigswt/wan-r2v-role2.mp4",
"reference_voice": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260408/isllrq/wan-r2v-boy-voice.mp3"
},
{
"type": "reference_image",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260129/rtjeqf/wan-r2v-object3.png"
},
{
"type": "reference_image",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260129/qpzxps/wan-r2v-object4.png"
},
{
"type": "reference_image",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260129/wfjikw/wan-r2v-backgroud5.png"
}
],
resolution='720P',
ratio='16:9',
duration=10,
prompt_extend=False,
watermark=True)
print(rsp)
if rsp.status_code == HTTPStatus.OK:
print("task_id: %s" % rsp.output.task_id)
else:
print('Failed, status_code: %s, code: %s, message: %s' %
(rsp.status_code, rsp.code, rsp.message))
# 擷取非同步任務資訊
status = VideoSynthesis.fetch(task=rsp, api_key=api_key)
if status.status_code == HTTPStatus.OK:
print(status.output.task_status)
else:
print('Failed, status_code: %s, code: %s, message: %s' %
(status.status_code, status.code, status.message))
# 等待非同步任務結束
rsp = VideoSynthesis.wait(task=rsp, api_key=api_key)
print(rsp)
if rsp.status_code == HTTPStatus.OK:
print(rsp.output.video_url)
else:
print('Failed, status_code: %s, code: %s, message: %s' %
(rsp.status_code, rsp.code, rsp.message))
if __name__ == '__main__':
sample_async_call_r2v()
響應樣本
1、建立任務的響應樣本
{
"status_code": 200,
"request_id": "6dc3bf6c-be18-9268-9c27-xxxxxx",
"code": "",
"message": "",
"output": {
"task_id": "686391d9-7ecf-4290-a8e9-xxxxxx",
"task_status": "PENDING",
"video_url": ""
},
"usage": null
}
2、查詢任務結果的響應樣本
video_url 有效期間24小時,請及時下載視頻。
{
"status_code": 200,
"request_id": "b040d446-f9b6-977f-b9ad-xxxxxx",
"code": null,
"message": "",
"output": {
"task_id": "5dab3291-393e-424d-929b-xxxxxx",
"task_status": "SUCCEEDED",
"video_url": "https://dashscope-a717.oss-accelerate.aliyuncs.com/xxx.mp4?Expires=xxx",
"submit_time": "2026-04-17 17:12:49.076",
"scheduled_time": "2026-04-17 17:13:00.384",
"end_time": "2026-04-17 17:29:43.386",
"orig_prompt": "視頻1抱著圖3,在圖4的椅子上彈奏一支舒緩的鄉村民謠,並說道:“今天的陽光真好。”圖1手中拿著圖2,路過視頻1,把手中的圖2放到視頻1旁邊的桌子上,並說道:“真好聽,能不能再唱一遍”。 "
},
"usage": {
"video_count": 1,
"video_duration": 0,
"video_ratio": "",
"duration": 15,
"input_video_duration": 5,
"output_video_duration": 10,
"SR": 720,
"ratio": "16:9"
}
}
Java SDK調用
運行以下代碼前,請確保 DashScope Java SDK版本 ≥2.22.14。
版本過低可能會觸發 "url error, please check url!" 等錯誤。請參考安裝SDK進行更新。
根據模型所在地區設定 baseHttpApiUrl:
新加坡
Constants.baseHttpApiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
北京
Constants.baseHttpApiUrl = "https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1";
調用時請將{WorkspaceId}替換為真實的業務空間ID。
同步調用
同步調用會阻塞直到視頻產生完成,直接返回結果。
請求樣本
// Copyright (c) Alibaba, Inc. and its affiliates.
import com.alibaba.dashscope.aigc.videosynthesis.VideoSynthesis;
import com.alibaba.dashscope.aigc.videosynthesis.VideoSynthesisParam;
import com.alibaba.dashscope.aigc.videosynthesis.VideoSynthesisResult;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.utils.JsonUtils;
import com.alibaba.dashscope.utils.Constants;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Ref2Video {
static {
// 以下為新加坡地區URL,調用時請將{WorkspaceId}替換為真實的業務空間ID,各地區的URL不同。
Constants.baseHttpApiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
}
// 若沒有配置環境變數,請用百鍊API Key將下行替換為:apiKey="sk-xxx"
// 各地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/en/model-studio/get-api-key
public static String apiKey = System.getenv("DASHSCOPE_API_KEY");
public static void ref2video() throws ApiException, NoApiKeyException, InputRequiredException {
VideoSynthesis vs = new VideoSynthesis();
List<VideoSynthesisParam.Media> media = new ArrayList<VideoSynthesisParam.Media>(){{
add(VideoSynthesisParam.Media.builder()
.url("https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260408/sjuytr/wan-r2v-object-girl.jpg")
.type("reference_image")
.referenceVoice("https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260408/gbqewz/wan-r2v-girl-voice.mp3")
.build());
add(VideoSynthesisParam.Media.builder()
.url("https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260129/qigswt/wan-r2v-role2.mp4")
.type("reference_video")
.referenceVoice("https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260408/isllrq/wan-r2v-boy-voice.mp3")
.build());
add(VideoSynthesisParam.Media.builder()
.url("https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260129/rtjeqf/wan-r2v-object3.png")
.type("reference_image")
.build());
add(VideoSynthesisParam.Media.builder()
.url("https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260129/qpzxps/wan-r2v-object4.png")
.type("reference_image")
.build());
add(VideoSynthesisParam.Media.builder()
.url("https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260129/wfjikw/wan-r2v-backgroud5.png")
.type("reference_image")
.build());
}};
Map<String, Object> parameters = new HashMap<>();
parameters.put("resolution", "720P");
parameters.put("ratio", "16:9");
parameters.put("prompt_extend", false);
parameters.put("watermark", true);
VideoSynthesisParam param =
VideoSynthesisParam.builder()
.apiKey(apiKey)
.model("wan2.7-r2v-2026-06-12")
.prompt("視頻1抱著圖3,在圖4的椅子上彈奏一支舒緩的鄉村民謠,並說道:“今天的陽光真好。”圖1手中拿著圖2,路過視頻1,把手中的圖2放到視頻1旁邊的桌子上,並說道:“真好聽,能不能再唱一遍”。 ")
.media(media)
.duration(10)
.parameters(parameters)
.build();
System.out.println("please wait...");
VideoSynthesisResult result = vs.call(param);
System.out.println(JsonUtils.toJson(result));
}
public static void main(String[] args) {
try {
ref2video();
} catch (ApiException | NoApiKeyException | InputRequiredException e) {
System.out.println(e.getMessage());
}
System.exit(0);
}
}
響應樣本
video_url 有效期間24小時,請及時下載視頻。
{
"request_id": "f6365287-336f-9f2b-ab59-xxxxxx",
"output": {
"task_id": "cb7f1da5-a987-41de-b0a4-xxxxxx",
"task_status": "SUCCEEDED",
"video_url": "https://dashscope-a717.oss-accelerate.aliyuncs.com/xxx.mp4?Expires=xxxx",
"orig_prompt": "視頻1抱著圖3,在圖4的椅子上彈奏一支舒緩的鄉村民謠,並說道:“今天的陽光真好。”圖1手中拿著圖2,路過視頻1,把手中的圖2放到視頻1旁邊的桌子上,並說道:“真好聽,能不能再唱一遍”。 ",
"submit_time": "2026-04-17 17:15:11.536",
"scheduled_time": "2026-04-17 17:15:20.316",
"end_time": "2026-04-17 17:29:44.277"
},
"usage": {
"video_count": 1,
"duration": 15.0,
"input_video_duration": 5.0,
"output_video_duration": 10.0,
"SR": "720"
},
"status_code": 200,
"code": "",
"message": ""
}
非同步呼叫
非同步呼叫立即返回任務ID,需自行輪詢或等待任務完成。
請求樣本
// Copyright (c) Alibaba, Inc. and its affiliates.
import com.alibaba.dashscope.aigc.videosynthesis.VideoSynthesis;
import com.alibaba.dashscope.aigc.videosynthesis.VideoSynthesisListResult;
import com.alibaba.dashscope.aigc.videosynthesis.VideoSynthesisParam;
import com.alibaba.dashscope.aigc.videosynthesis.VideoSynthesisResult;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.task.AsyncTaskListParam;
import com.alibaba.dashscope.utils.JsonUtils;
import com.alibaba.dashscope.utils.Constants;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Ref2VideoAsync {
static {
// 以下為新加坡地區URL,調用時請將{WorkspaceId}替換為真實的業務空間ID,各地區的URL不同。
Constants.baseHttpApiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
}
// 若沒有配置環境變數,請用百鍊API Key將下行替換為:apiKey="sk-xxx"
// 各地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/en/model-studio/get-api-key
public static String apiKey = System.getenv("DASHSCOPE_API_KEY");
public static void asyncRef2video() throws ApiException, NoApiKeyException, InputRequiredException, InterruptedException {
VideoSynthesis vs = new VideoSynthesis();
List<VideoSynthesisParam.Media> media = new ArrayList<VideoSynthesisParam.Media>(){{
add(VideoSynthesisParam.Media.builder()
.url("https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260408/sjuytr/wan-r2v-object-girl.jpg")
.type("reference_image")
.referenceVoice("https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260408/gbqewz/wan-r2v-girl-voice.mp3")
.build());
add(VideoSynthesisParam.Media.builder()
.url("https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260129/qigswt/wan-r2v-role2.mp4")
.type("reference_video")
.referenceVoice("https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260408/isllrq/wan-r2v-boy-voice.mp3")
.build());
add(VideoSynthesisParam.Media.builder()
.url("https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260129/rtjeqf/wan-r2v-object3.png")
.type("reference_image")
.build());
add(VideoSynthesisParam.Media.builder()
.url("https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260129/qpzxps/wan-r2v-object4.png")
.type("reference_image")
.build());
add(VideoSynthesisParam.Media.builder()
.url("https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260129/wfjikw/wan-r2v-backgroud5.png")
.type("reference_image")
.build());
}};
Map<String, Object> parameters = new HashMap<>();
parameters.put("resolution", "720P");
parameters.put("ratio", "16:9");
parameters.put("prompt_extend", false);
parameters.put("watermark", true);
VideoSynthesisParam param =
VideoSynthesisParam.builder()
.apiKey(apiKey)
.model("wan2.7-r2v-2026-06-12")
.prompt("視頻1抱著圖3,在圖4的椅子上彈奏一支舒緩的鄉村民謠,並說道:“今天的陽光真好。”圖1手中拿著圖2,路過視頻1,把手中的圖2放到視頻1旁邊的桌子上,並說道:“真好聽,能不能再唱一遍”。 ")
.media(media)
.duration(10)
.parameters(parameters)
.build();
// 提交非同步任務
VideoSynthesisResult result = vs.asyncCall(param);
System.out.println("task_id: " + result.getOutput().getTaskId());
System.out.println(JsonUtils.toJson(result));
// 等待任務完成
result = vs.wait(result, null);
System.out.println(JsonUtils.toJson(result));
}
public static void main(String[] args) {
try {
asyncRef2video();
} catch (ApiException | NoApiKeyException | InputRequiredException | InterruptedException e) {
System.out.println(e.getMessage());
}
System.exit(0);
}
}
響應樣本
1、建立任務的響應樣本
{
"request_id": "5dbf9dc5-4f4c-9605-85ea-xxxxxxxx",
"output": {
"task_id": "7277e20e-aa01-4709-xxxxxxxx",
"task_status": "PENDING"
}
}
2、查詢任務結果的響應樣本
video_url 有效期間24小時,請及時下載視頻。
{
"request_id": "f6365287-336f-9f2b-ab59-xxxxxx",
"output": {
"task_id": "cb7f1da5-a987-41de-b0a4-xxxxxx",
"task_status": "SUCCEEDED",
"video_url": "https://dashscope-a717.oss-accelerate.aliyuncs.com/xxx.mp4?Expires=xxxx",
"orig_prompt": "視頻1抱著圖3,在圖4的椅子上彈奏一支舒緩的鄉村民謠,並說道:“今天的陽光真好。”圖1手中拿著圖2,路過視頻1,把手中的圖2放到視頻1旁邊的桌子上,並說道:“真好聽,能不能再唱一遍”。 ",
"submit_time": "2026-04-17 17:15:11.536",
"scheduled_time": "2026-04-17 17:15:20.316",
"end_time": "2026-04-17 17:29:44.277"
},
"usage": {
"video_count": 1,
"duration": 15.0,
"input_video_duration": 5.0,
"output_video_duration": 10.0,
"SR": "720"
},
"status_code": 200,
"code": "",
"message": ""
}
錯誤碼
如果模型調用失敗並返回報錯資訊,請參見錯誤碼進行解決。
常見問題
從 wan2.6 升級到 wan2.7,代碼需要改哪些地方?
主要區別如下:
-
提示詞的參考引用寫法不同
wan2.7 不再使用 character1、character2 這類標識,需要改為按類型分別指代:映像用“圖n”(如圖1、圖2),視頻用“視頻n”(如視頻1、視頻2)。英文提示詞則寫為“Image 1”、"Video 1”這類標識。提示詞說明詳見prompt參數。
-
多鏡頭控制方式不同
-
wan2.7:不支援 shot_type 參數,通過在 prompt 中描述分鏡指令碼來實現多鏡頭效果。
-
wan2.6:通過設定 shot_type 為 multi 來產生多鏡頭視頻。
-
-
請求參數結構不同
-
參考素材傳入方式:wan2.7 使用
media(對象數組,每個元素含type和url),替代 wan2.6 的reference_urls(字串數組)。 -
解析度參數:wan2.7 使用
resolution(如720P),替代 wan2.6 的size(如1280*720)。 -
audio 參數:wan2.7 預設產生有聲視頻,無需設定。wan2.6 需要顯式設定
audio為true或false。
-
如何為主體配音(音色參考)?
僅 wan2.7 支援。在 media 中通過 reference_voice 傳入音頻 URL,可為參考映像或參考視頻指定參考音色。
{
"media": [
{
"type": "reference_image",
"url": "<參考映像URL>",
"reference_voice": "<音頻URL>"
},
{
"type": "reference_video",
"url": "<參考視頻URL>",
"reference_voice": "<音頻URL>"
}
]
}