萬相2.7-圖生視頻API參考
萬相2.7-圖生視頻模型全新升級,支援多模態輸入(文本/映像/音頻/視頻),可完成首幀生視頻、首尾幀生視頻、視頻續寫三大任務。
相關文檔:使用指南
全新推出的圖生視頻 API(wan2.7模型)支援上述三大任務,推薦優先選用。
原圖生視頻-基於首幀(wan2.6及早期模型)僅支援首幀生視頻。
適用範圍
為確保調用成功,請務必保證模型、endpoint URL 和 API Key 均屬於同一地區。跨地區調用將會失敗。
選擇模型:確認模型所屬的地區。
選擇 URL:選擇對應的地區 Endpoint URL,支援HTTP URL或 DashScope SDK URL。
配置 API Key:擷取該地區的API Key,再配置API Key到環境變數。
安裝 SDK:如需通過SDK進行調用,請安裝DashScope SDK。
本文的範例程式碼適用於新加坡地區。
新加坡地區的舊版網域名稱 https://dashscope-intl.aliyuncs.com 即將下線,請及時遷移到新版網域名稱 https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com。
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
調用時請將WorkspaceId替換為真實的Workspace ID。
北京
POST https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis
-
建立成功後,使用介面返回的
task_id查詢結果,task_id 有效期間為 24 小時。請勿重複建立任務,輪詢擷取即可。 -
新手指引請參見Postman。
請求參數 | 首幀生視頻基於首幀映像和音頻產生視頻。 首尾幀生視頻傳入首幀和尾幀產生視頻。 視頻續寫基於首段視頻片段,讓模型產生後續內容。 |
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-i2v-2026-04-25。 | |
input 輸入的基本資料,如提示詞等。 | |
parameters 視頻處理參數,如設定視頻解析度、設定視頻時間長度、開啟prompt智能改寫、添加浮水印等。 |
響應參數 | 成功響應請儲存 task_id,用於查詢任務狀態與結果。
異常響應建立任務失敗,請參見錯誤碼進行解決。
|
output 任務輸出資訊。 | |
request_id 請求唯一標識。可用於請求明細溯源和問題排查。 | |
code 請求失敗的錯誤碼。請求成功時不會返回此參數,詳情請參見錯誤碼。 | |
message 請求失敗的詳細資料。請求成功時不會返回此參數,詳情請參見錯誤碼。 |
步驟2:根據任務ID查詢結果
新加坡
GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id}
調用時請將WorkspaceId替換為真實的Workspace ID。
北京
GET https://dashscope.aliyuncs.com/api/v1/tasks/{task_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進行更新。
根據模型所在地區設定 dashscope.base_http_api_url:
新加坡
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
調用時請將WorkspaceId替換為真實的Workspace ID。
北京
dashscope.base_http_api_url = 'https://dashscope.aliyuncs.com/api/v1'
同步調用
請求樣本
# -*- coding: utf-8 -*-
from http import HTTPStatus
from dashscope import VideoSynthesis
import dashscope
import os
# 以下為新加坡地區URL,各地區的URL不同,擷取URL:https://www.alibabacloud.com/help/en/model-studio/image-to-video-general-api-reference
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")
media = [
{
"type": "first_frame",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/wpimhv/rap.png"
},
{
"type": "driving_audio",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/ozwpvi/rap.mp3"
}
]
def sample_sync_call():
print('----sync call, please wait a moment----')
rsp = VideoSynthesis.call(
api_key=api_key,
model="wan2.7-i2v-2026-04-25",
media=media,
resolution="720P",
duration=10,
watermark=True,
prompt="一幅都市奇幻藝術的情境。一個充滿動感的塗鴉藝術角色。一個由噴漆所畫成的少年,正從一面混凝土牆上活過來。他一邊用極快的語速演唱一首英文rap,一邊擺著一個經典的、充滿活力的饒舌歌手姿勢。情境設定在夜晚一個充滿都市感的鐵路橋下。燈光來自一盞孤零零的街燈,營造齣電影般的氛圍,充滿高能量和驚人的細節。視頻的音頻部分完全由rap構成,沒有其他對話或雜音。",
)
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()響應樣本
video_url 有效期間24小時,請及時下載視頻。
{
"status_code": 200,
"request_id": "ac5faf37-ddfa-9720-a0c5-xxxxxx",
"code": null,
"message": "",
"output": {
"task_id": "b97c6d86-ad73-4bb7-80ff-xxxxxx",
"task_status": "SUCCEEDED",
"video_url": "https://dashscope-a717.oss-accelerate.aliyuncs.com/xxx.mp4?Expires=xxx",
"submit_time": "2026-04-13 10:45:47.597",
"scheduled_time": "2026-04-13 10:45:56.342",
"end_time": "2026-04-13 10:47:26.273",
"orig_prompt": "一幅都市奇幻藝術的情境。一個充滿動感的塗鴉藝術角色。一個由噴漆所畫成的少年,正從一面混凝土牆上活過來。他一邊用極快的語速演唱一首英文rap,一邊擺著一個經典的、充滿活力的饒舌歌手姿勢。情境設定在夜晚一個充滿都市感的鐵路橋下。燈光來自一盞孤零零的街燈,營造齣電影般的氛圍,充滿高能量和驚人的細節。視頻的音頻部分完全由rap構成,沒有其他對話或雜音。"
},
"usage": {
"video_count": 1,
"video_duration": 0,
"video_ratio": "",
"duration": 10,
"input_video_duration": 0,
"output_video_duration": 10,
"SR": 720
}
}非同步呼叫
請求樣本
# -*- coding: utf-8 -*-
from http import HTTPStatus
from dashscope import VideoSynthesis
import dashscope
import os
# 以下為新加坡地區URL,各地區的URL不同,擷取URL:https://www.alibabacloud.com/help/en/model-studio/image-to-video-general-api-reference
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")
media = [
{
"type": "first_frame",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/wpimhv/rap.png"
},
{
"type": "driving_audio",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/ozwpvi/rap.mp3"
}
]
def sample_async_call():
# 提交非同步任務,立即返回任務資訊
rsp = VideoSynthesis.async_call(
api_key=api_key,
model="wan2.7-i2v-2026-04-25",
media=media,
resolution="720P",
duration=10,
watermark=True,
prompt="一幅都市奇幻藝術的情境。一個充滿動感的塗鴉藝術角色。一個由噴漆所畫成的少年,正從一面混凝土牆上活過來。他一邊用極快的語速演唱一首英文rap,一邊擺著一個經典的、充滿活力的饒舌歌手姿勢。情境設定在夜晚一個充滿都市感的鐵路橋下。燈光來自一盞孤零零的街燈,營造齣電影般的氛圍,充滿高能量和驚人的細節。視頻的音頻部分完全由rap構成,沒有其他對話或雜音。",
)
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()響應樣本
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": "ac5faf37-ddfa-9720-a0c5-xxxxxx",
"code": null,
"message": "",
"output": {
"task_id": "b97c6d86-ad73-4bb7-80ff-xxxxxx",
"task_status": "SUCCEEDED",
"video_url": "https://dashscope-a717.oss-accelerate.aliyuncs.com/xxx.mp4?Expires=xxx",
"submit_time": "2026-04-13 10:45:47.597",
"scheduled_time": "2026-04-13 10:45:56.342",
"end_time": "2026-04-13 10:47:26.273",
"orig_prompt": "一幅都市奇幻藝術的情境。一個充滿動感的塗鴉藝術角色。一個由噴漆所畫成的少年,正從一面混凝土牆上活過來。他一邊用極快的語速演唱一首英文rap,一邊擺著一個經典的、充滿活力的饒舌歌手姿勢。情境設定在夜晚一個充滿都市感的鐵路橋下。燈光來自一盞孤零零的街燈,營造齣電影般的氛圍,充滿高能量和驚人的細節。視頻的音頻部分完全由rap構成,沒有其他對話或雜音。"
},
"usage": {
"video_count": 1,
"video_duration": 0,
"video_ratio": "",
"duration": 10,
"input_video_duration": 0,
"output_video_duration": 10,
"SR": 720
}
}Java SDK調用
請確保 DashScope Java SDK 版本不低於 2.22.14,再運行以下代碼。
若版本過低,可能會觸發 "url error, please check url!" 等錯誤。請參考安裝SDK進行更新。
根據模型所在地區設定 Constants.baseHttpApiUrl:
新加坡
Constants.baseHttpApiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1"
調用時請將WorkspaceId替換為真實的Workspace ID。
北京
Constants.baseHttpApiUrl = "https://dashscope.aliyuncs.com/api/v1"
同步調用
同步調用會阻塞等待,直到視頻產生完成並返回結果。
請求樣本
非同步呼叫
請求樣本
錯誤碼
如果模型調用失敗並返回報錯資訊,請參見錯誤碼進行解決。
常見問題
Q:如何產生特定寬高比(如3:4)的視頻?
A: 輸出視頻的寬高比由 輸入素材(首幀映像或首視頻片段)決定,但無法保證嚴格等於輸入比例(如精確 3:4),實際輸出會存在微小偏差。
下面以“輸入首幀映像”為例說明具體邏輯:
為什麼會有偏差?
執行邏輯:以輸入映像的比例為基準比例參考,結合
resolution檔位的目標總像素,且視頻長寬必須為 16 的倍數(視頻編碼規範),系統會自動微調至最接近的合法解析度。計算樣本:輸入首幀映像750×1000(寬高比 3:4 = 0.75),並設定 resolution = "720P"(目標總像素約 92 萬),實際輸出視頻的解析度為816×1104(寬高比 ≈ 0.739,總像素約90萬)。
實踐建議:
輸入控制:盡量使用與目標比例一致的首幀或首視頻片段作為輸入。
後期處理:如果您對比例有嚴格要求,建議在視頻產生後,使用編輯工具進行簡單的裁剪或黑邊填充。
Q:如何擷取視頻儲存的訪問網域名稱白名單?
A: 模型產生的視頻儲存於阿里雲OSS,API將返回一個臨時的公網URL。若需要對該下載地址進行防火牆白名單配置,請注意:由於底層儲存會根據業務情況進行動態變更,為避免到期資訊影響訪問,文檔不提供固定的OSS網域名稱白名單。如有安全管控需求,請聯絡客戶經理擷取最新OSS網域名稱列表。