全部產品
Search
文件中心

Alibaba Cloud Model Studio:通義萬相-參考生視頻-API參考

更新時間:Dec 18, 2025

通義萬相參考生視頻模型,參考輸入視頻中的角色形象和音色,搭配提示詞產生保持角色一致性的視頻。支援的能力包括:

  • 基礎能力:支援選擇視頻時間長度(5/10秒)、指定視頻解析度(720P/1080P)、添加浮水印。

  • 音頻能力:支援通過提示詞產生聲音,可參考輸入視頻的音色。

  • 多鏡頭敘事:支援產生包含多個鏡頭的視頻,並且在鏡頭切換時保持主體一致性。

快速入口:通義萬相官網線上體驗

說明

通義萬相官網的功能與API支援的能力可能存在差異。本文檔以API的實際能力為準,並會隨功能更新及時同步。

前提條件

您需要已擷取與配置 API Key配置API Key到環境變數(準備下線,併入配置 API Key)

重要

北京和新加坡地區擁有獨立的 API Key 請求地址,不可混用,跨地區調用將導致鑒權失敗或服務報錯。

HTTP調用

由於文生視頻任務耗時較長(通常為1-5分鐘),API採用非同步呼叫。整個流程包含 “建立任務 -> 輪詢擷取” 兩個核心步驟,具體如下:

具體耗時受限於排隊任務數和服務執行情況,請在擷取結果時耐心等待。

步驟1:建立任務擷取任務ID

新加坡地區POST https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis

北京地區POST https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis

說明
  • 建立成功後,使用介面返回的 task_id 查詢結果,task_id 有效期間為 24 小時。請勿重複建立任務,輪詢擷取即可。

請求參數

單角色參考

參考視頻角色的形象和音色,設定shot_type為multi,產生多鏡頭視頻。

# 注意:如果使用華北2(北京)地區的模型,需要將url替換為:https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis
curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis' \
    -H 'X-DashScope-Async: enable' \
    -H "Authorization: Bearer $DASHSCOPE_API_KEY" \
    -H 'Content-Type: application/json' \
    -d '{
    "model": "wan2.6-r2v",
    "input": {
        "prompt": "character1一邊喝奶茶,一邊隨著音樂即興跳舞。",
        "reference_video_urls":["https://cdn.wanxai.com/static/demo-wan26/vace.mp4"]
    },
    "parameters": {
        "size": "1280*720",
        "duration": 5,
        "audio": true,
        "shot_type":"multi"
    }
}'

多角色參考

基於人物與道具的參考視頻,通過提示詞定義兩者間的聯絡,設定shot_type為multi,產生多鏡頭視頻。您可以在提示詞中多次引用同一角色。

# 注意:如果使用中國大陸(北京)地區的模型,需要將url替換為:https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis
curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis' \
    -H 'X-DashScope-Async: enable' \
    -H "Authorization: Bearer $DASHSCOPE_API_KEY" \
    -H 'Content-Type: application/json' \
    -d '{
    "model": "wan2.6-r2v",
    "input": {
        "prompt": "character1對character2說: “I’ll rely on you tomorrow morning!” character2 回答: “You can count on me!”",
        "reference_video_urls": [
            "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20251217/dlrrly/%E5%B0%8F%E5%A5%B3%E5%AD%A91%E8%8B%B1%E6%96%872.mp4",
            "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20251217/fkxknn/%E9%93%83%E9%93%83.mp4"
        ]
    },
    "parameters": {
        "size": "1280*720",
        "duration": 10,
        "audio": true,
        "shot_type": "multi"
    }
}'

要求標頭(Headers)

Content-Type string (必選)

請求內容類型。此參數必須設定為application/json

Authorization string(必選)

請求身份認證。介面使用阿里雲百鍊API-Key進行身份認證。樣本值:Bearer sk-xxxx。

X-DashScope-Async string (必選)

非同步處理配置參數。HTTP請求只支援非同步,必須設定為enable

重要

缺少此要求標頭將報錯:“current user api does not support synchronous calls”。

請求體(Request Body)

model string (必選)

模型名稱。模型列表與價格詳見模型價格

樣本值:wan2.6-r2v。

input object (必選)

輸入的基本資料,如提示詞等。

屬性

prompt string (必選)

文本提示詞。用來描述產生視頻中期望包含的元素和視覺特點。

支援中英文,每個漢字、字母、標點符號佔一個字元,超過部分會自動截斷。

  • wan2.6-r2v:長度不超過1500個字元。

動作項目參考說明:通過“character1、character2”這類標識引用參考角色,每個參考視頻僅包含單一角色。模型僅通過此方式識別視頻中的角色。

樣本值:character1在沙發上開心地看電影。

提示詞的提示請參見文生視頻/圖生視頻Prompt指南

negative_prompt string (可選)

反向提示詞,用來描述不希望在視頻畫面中看到的內容,可以對視頻畫面進行限制。

支援中英文,長度不超過500個字元,超過部分會自動截斷。

樣本值:低解析度、錯誤、最差品質、低品質、殘缺、多餘的手指、比例不良等。

reference_video_urls array[string] (必選)

重要

reference_video_urls直接影響費用,計費規則請參見計費與限流

上傳的參考視頻檔案 URL 數組。用於提取角色形象與音色(如有),以產生符合參考特徵的視頻。

  • 最多支援 3 個視頻

  • 傳入多個視頻時,按照數組順序定義視頻角色的順序。即第 1 個 URL 對應 character1,第 2 個對應 character2,以此類推。

  • 每個參考視頻僅包含一個角色(如 character1 為小女孩,character2 為鬧鐘)。

  • URL支援 HTTP 或 HTTPS 協議。

單個視頻要求:

  • 格式:mp4、mov。

  • 時間長度:2~30s。

  • 檔案大小:視頻不超過100MB。

樣本值:["https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/xxx.mp4"]。

parameters object (可選)

影像處理參數。如設定視頻解析度、開啟prompt智能改寫、添加浮水印等。

屬性

size string (可選)

重要
  • size直接影響費用,費用 = 單價(基於解析度)× 時間長度(秒)。同一模型:1080P > 720P ,請在調用前確認模型價格

  • size必須設定為具體數值(如 1280*720),而不是 1:1或720P。

指定產生的視頻解析度,格式為寬*高。該參數的預設值和可用枚舉值依賴於 model 參數,規則如下:

  • wan2.6-r2v:預設值為 1920*1080(1080P)。可選解析度:720P、1080P對應的所有解析度。

720P檔位:可選的視頻解析度及其對應的視頻寬高比為:

  • 1280*720:16:9。

  • 720*1280:9:16。

  • 960*960:1:1。

  • 1088*832:4:3。

  • 832*1088:3:4。

1080P檔位:可選的視頻解析度及其對應的視頻寬高比為:

  • 1920*1080: 16:9。

  • 1080*1920: 9:16。

  • 1440*1440: 1:1。

  • 1632*1248: 4:3。

  • 1248*1632: 3:4。

duration integer (可選)

重要

duration直接影響費用。費用 = 單價(基於解析度)× 時間長度(秒)。

產生視頻的時間長度,單位為秒。

  • wan2.6-r2v:可選值為5、10。預設值為5。

樣本值:5。

shot_type string (可選)

指定產生視頻的鏡頭類型,即視頻是由一個連續鏡頭還是多個切換鏡頭組成。

參數優先順序:shot_type > prompt。例如,若 shot_type設定為"single",即使 prompt 中包含“產生多鏡頭視頻”,模型仍會輸出單鏡頭視頻。

可選值:

  • single:預設值,輸出單鏡頭視頻

  • multi:輸出多鏡頭視頻。

樣本值:single。

說明

當希望嚴格控制視頻的敘事結構(如產品展示用單鏡頭、故事短片用多鏡頭),可通過此參數指定。

watermark boolean (可選)

是否添加浮水印標識,浮水印位於視頻右下角,文案固定為“AI產生”。

  • false:預設值,不添加浮水印。

  • true:添加浮水印。

樣本值:false。

seed integer (可選)

隨機數種子,取值範圍為[0, 2147483647]

未指定時,系統自動產生隨機種子。若需提升產生結果的可複現性,建議固定seed值。

請注意,由於模型產生具有機率性,即使使用相同 seed,也不能保證每次產生結果完全一致。

樣本值:12345。

響應參數

成功響應

請儲存 task_id,用於查詢任務狀態與結果。

{
    "output": {
        "task_status": "PENDING",
        "task_id": "0385dc79-5ff8-4d82-bcb6-xxxxxx"
    },
    "request_id": "4909100c-7b5a-9f92-bfe5-xxxxxx"
}

異常響應

建立任務失敗,請參見錯誤資訊進行解決。

{
    "code":"InvalidApiKey",
    "message":"Invalid API-key provided.",
    "request_id":"fb53c4ec-1c12-4fc4-a580-xxxxxx"
}

output object

任務輸出資訊。

屬性

task_id string

任務ID。查詢有效期間24小時。

task_status string

任務狀態。

枚舉值

  • PENDING:任務排隊中

  • RUNNING:任務處理中

  • SUCCEEDED:任務執行成功

  • FAILED:任務執行失敗

  • CANCELED:任務已取消

  • UNKNOWN:任務不存在或狀態未知

request_id string

請求唯一標識。可用於請求明細溯源和問題排查。

code string

請求失敗的錯誤碼。請求成功時不會返回此參數,詳情請參見錯誤資訊

message string

請求失敗的詳細資料。請求成功時不會返回此參數,詳情請參見錯誤資訊

步驟2:根據任務ID查詢結果

新加坡地區GET https://dashscope-intl.aliyuncs.com/api/v1/tasks/{task_id}

北京地區GET https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}

說明
  • 輪詢建議:視頻產生過程約需數分鐘,建議採用輪詢機制,並設定合理的查詢間隔(如 15 秒)來擷取結果。

  • 任務狀態流轉:PENDING(排隊中)→ RUNNING(處理中)→ SUCCEEDED(成功)/ FAILED(失敗)。

  • 結果連結:任務成功後返回視頻連結,有效期間為 24 小時。建議在擷取連結後立即下載並轉存至永久儲存(如阿里雲 OSS)。

  • task_id 有效期間24小時,逾時後將無法查詢結果,介面將返回任務狀態為UNKNOWN

請求參數

查詢任務結果

請將86ecf553-d340-4e21-xxxxxxxxx替換為真實的task_id。

新加坡和北京地區的API Key不同。擷取與配置 API Key
以下為新加坡地區base_url,若使用北京地區的模型,需將base_url替換為https://dashscope.aliyuncs.com/api/v1/tasks/86ecf553-d340-4e21-xxxxxxxxx
curl -X GET https://dashscope-intl.aliyuncs.com/api/v1/tasks/86ecf553-d340-4e21-xxxxxxxxx \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"

要求標頭(Headers)

Authorization string(必選)

請求身份認證。介面使用阿里雲百鍊API-Key進行身份認證。樣本值:Bearer sk-xxxx。

URL路徑參數(Path parameters)

task_id string(必選)

任務ID。

響應參數

任務執行成功

視頻URL僅保留24小時,逾時後會被自動清除,請及時儲存產生的視頻。

{
    "request_id": "caa62a12-8841-41a6-8af2-xxxxxx",
    "output": {
        "task_id": "eff1443c-ccab-4676-aad3-xxxxxx",
        "task_status": "SUCCEEDED",
        "submit_time": "2025-12-16 00:25:59.869",
        "scheduled_time": "2025-12-16 00:25:59.900",
        "end_time": "2025-12-16 00:30:35.396",
        "orig_prompt": "character1在沙發上開心的看電影",
        "video_url": "https://dashscope-result-sh.oss-accelerate.aliyuncs.com/xxx.mp4?Expires=xxx"
    },
     "usage": {
        "duration": 10.0,
        "size": "1280*720",
        "input_video_duration": 5,
        "output_video_duration": 5,
        "video_count": 1,
        "SR": 720
    }
}

任務執行失敗

若任務執行失敗,task_status將置為 FAILED,並提供錯誤碼和資訊。請參見錯誤資訊進行解決。

{
    "request_id": "e5d70b02-ebd3-98ce-9fe8-759d7d7b107d",
    "output": {
        "task_id": "86ecf553-d340-4e21-af6e-a0c6a421c010",
        "task_status": "FAILED",
        "code": "InvalidParameter",
        "message": "The size is not match xxxxxx"
    }
}

任務查詢到期

task_id查詢有效期間為 24 小時,逾時後將無法查詢,返回以下報錯資訊。

{
    "request_id": "a4de7c32-7057-9f82-8581-xxxxxx",
    "output": {
        "task_id": "502a00b1-19d9-4839-a82f-xxxxxx",
        "task_status": "UNKNOWN"
    }
}

output object

任務輸出資訊。

屬性

task_id string(必選)

任務ID。

task_status string

任務狀態。

枚舉值

  • PENDING:任務排隊中

  • RUNNING:任務處理中

  • SUCCEEDED:任務執行成功

  • FAILED:任務執行失敗

  • CANCELED:任務已取消

  • UNKNOWN:任務不存在或狀態未知

submit_time string

任務提交時間。時區為UTC+8,格式為 YYYY-MM-DD HH:mm:ss.SSS。

scheduled_time string

任務執行時間。時區為UTC+8,格式為 YYYY-MM-DD HH:mm:ss.SSS。

end_time string

任務完成時間。時區為UTC+8,格式為 YYYY-MM-DD HH:mm:ss.SSS。

video_url string

視頻URL。僅在 task_status 為 SUCCEEDED 時返回。

連結有效期間24小時,可通過此URL下載視頻。視頻格式為MP4(H.264 編碼)。

orig_prompt string

原始輸入的prompt,對應請求參數prompt

actual_prompt string

prompt_extend=true 時,系統會對輸入 prompt 進行智能改寫,此欄位返回實際用於產生的最佳化後 prompt。若 prompt_extend=false,該欄位不會返回。

注意:wan2.6 模型無論 prompt_extend 取值如何,均不返回此欄位。

code string

請求失敗的錯誤碼。請求成功時不會返回此參數,詳情請參見錯誤資訊

message string

請求失敗的詳細資料。請求成功時不會返回此參數,詳情請參見錯誤資訊

usage object

輸出資訊統計。只對成功的結果計數。

屬性

input_video_duration integer

輸入的參考視頻的時間長度,單位秒。

output_video_duration integer

輸出視頻的時間長度,單位秒。其值等同於input.duration的值。

duration float

總視頻時間長度。計費按duration時間長度計算。

計算公式:duration = input_video_duration + output_video_duration

SR integer

產生視頻的解析度檔位。樣本值:720。

video_ratio string

產生視頻的解析度。其值等同於parameters.size的值。

格式為“寬*高,樣本值:1920*1080。

video_count integer

產生視頻的數量。固定為1。

request_id string

請求唯一標識。可用於請求明細溯源和問題排查。

使用限制

  • 資料時效:任務task_id和 視頻url均只保留 24 小時,到期後將無法查詢或下載。

  • 內容審核:輸入的 prompt 和輸出的視頻均會經過Alibaba Content Security Service審核,包含違規內容的請求將報錯“IPInfringementSuspect”或“DataInspectionFailed”,具體參見錯誤資訊

  • 網路訪問配置:視頻連結儲存於阿里雲 OSS,如果業務系統因安全性原則無法訪問外部OSS連結,請將以下 OSS 網域名稱加入網路訪問白名單。

    # OSS網域名稱列表
    dashscope-result-bj.oss-cn-beijing.aliyuncs.com
    dashscope-result-hz.oss-cn-hangzhou.aliyuncs.com
    dashscope-result-sh.oss-cn-shanghai.aliyuncs.com
    dashscope-result-wlcb.oss-cn-wulanchabu.aliyuncs.com
    dashscope-result-zjk.oss-cn-zhangjiakou.aliyuncs.com
    dashscope-result-sz.oss-cn-shenzhen.aliyuncs.com
    dashscope-result-hy.oss-cn-heyuan.aliyuncs.com
    dashscope-result-cd.oss-cn-chengdu.aliyuncs.com
    dashscope-result-gz.oss-cn-guangzhou.aliyuncs.com
    dashscope-result-wlcb-acdr-1.oss-cn-wulanchabu-acdr-1.aliyuncs.com

計費與限流

  • 模型免費額度和計費單價請參見模型列表與價格

  • 模型限流請參見通義萬相系列

  • 計費說明:

    • 採用 輸入視頻時間長度 + 輸出視頻時間長度 聯合計費,按 視頻秒數 計費。僅當查詢結果介面返回task_statusSUCCEEDED 並成功產生視頻後,才會計費。

    • 模型調用失敗或處理錯誤不產生任何費用,也不消耗免費額度

    計費時間長度的計算規則

    輸入視頻計費時間長度:各參考視頻分別截斷後求和,總輸入計費時間長度不超過 5 秒

    • 輸入1個參考視頻:輸入計費時間長度=min(視頻時間長度,5s)

    • 輸入2個參考視頻:輸入計費時間長度=min(視頻1時間長度,2.5s)+ min(視頻2時間長度,2.5s)

    • 輸入3個參考視頻:輸入計費時間長度=min(視頻1長度,1.65s)+ min(視頻2長度,1.65s)+min(視頻3長度,1.65s)

    輸出視頻計費時間長度:模型成功產生的視頻秒數

錯誤碼

如果模型調用失敗並返回報錯資訊,請參見錯誤資訊進行解決。

常見問題

Q: 如何查看模型調用量?

A: 模型調用完一小時後,請在模型觀測(新加坡)模型觀測(北京)頁面,查看模型的調用次數、成功率等指標。如何查看模型調用記錄?

Q: 如何將臨時的視頻連結轉為永久連結?

A: 不能直接轉換該連結。正確的做法是:後端服務擷取到url後,通過代碼下載該視頻檔案,然後將其上傳到永久Object Storage Service服務(如阿里雲 OSS),產生一個新的、永久訪問連結。

範例程式碼:下載視頻到本地

import requests

def download_and_save_video(video_url, save_path):
    try:
        response = requests.get(video_url, stream=True, timeout=300) # 設定逾時
        response.raise_for_status() # 如果HTTP狀態代碼不是200,則引發異常
        with open(save_path, 'wb') as f:
            for chunk in response.iter_content(chunk_size=8192):
                f.write(chunk)
        print(f"視頻已成功下載到: {save_path}")
        # 此處可以接上傳到永久儲存的邏輯
    except requests.exceptions.RequestException as e:
        print(f"下載視頻失敗: {e}")

if __name__ == '__main__':
    video_url = "http://dashscope-result-sh.oss-cn-shanghai.aliyuncs.com/xxxx"
    save_path = "video.mp4"
    download_and_save_video(video_url, save_path)

Q: 返回的視頻連結可以在瀏覽器中直接播放嗎?

A: 不建議這樣做,因為連結會在 24 小時後失效。最佳實務是後端下載轉存後,使用永久連結進行視頻播放。