Skip to main content
視頻產生與編輯

萬相-圖生視頻-基於首幀

萬相-圖生視頻模型支援 多模態輸入 (文本/映像/音頻),可產生最長15秒、解析度為1080P的視頻。

  • 基礎設定:支援整數級視頻時間長度(2~15 秒)、指定視頻解析度(480P/720P/1080P)、智能改寫prompt、添加浮水印。
  • 音頻能力:支援自動配音或上傳音頻,實現聲畫同步。(wan2.5、wan2.6支援)
  • 多鏡頭敘事:可產生包含多個鏡頭的視頻,鏡頭切換時保持主體一致。(僅wan2.6支援)
快速入口:線上體驗(新加坡維吉尼亞北京API參考

快速開始

輸入提示詞輸入首幀映像輸出視頻(多鏡頭,有聲視頻)
鏡頭從海龜下方緩緩上移,海龜悠然遊動,腹部細節清晰可見。
wan-i2v-haigui
在調用前,先擷取API Key,再配置API Key到環境變數。通過SDK進行調用,請安裝DashScope SDK
  • Python SDK
  • Java SDK
  • curl
請確保 DashScope Python SDK 版本不低於1.25.8,再運行以下代碼。若版本過低,可能會觸發 “url error, please check url!” 等錯誤。請參考安裝SDK進行更新。
import os
from http import HTTPStatus
from dashscope import VideoSynthesis
import dashscope

# 以下為新加坡地區URL,調用時請將{WorkspaceId}替換為真實的業務空間ID。各地區的URL不同,擷取URL:https://www.alibabacloud.com/help/en/model-studio/image-to-video-api-reference
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
# 各地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/en/model-studio/get-api-key
api_key = os.getenv("DASHSCOPE_API_KEY", "YOUR_API_KEY")

print('please wait...')
rsp = VideoSynthesis.call(api_key=api_key,
                          model='wan2.6-i2v-flash',
                          prompt='鏡頭從海龜下方緩緩上移,海龜悠然遊動,腹部細節清晰可見。',
                          img_url="https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260121/zlpocv/wan-i2v-haigui.webp",
                          resolution="720P",
                          duration=10,
                          shot_type="multi",
                          prompt_extend=True,
                          watermark=True)
print(rsp)
if rsp.status_code == HTTPStatus.OK:
    print("video_url:", rsp.output.video_url)
else:
    print('Failed, status_code: %s, code: %s, message: %s' % (rsp.status_code, rsp.code, rsp.message))
輸出樣本
video_url 有效期間24小時,請及時下載視頻。
{
    "request_id": "c1209113-8437-424f-a386-xxxxxx",
    "output": {
        "task_id": "966cebcd-dedc-4962-af88-xxxxxx",
        "task_status": "SUCCEEDED",
        "video_url": "https://dashscope-result-sh.oss-accelerate.aliyuncs.com/xxx.mp4?Expires=xxx",
         ...
    },
    ...
}

適用範圍

  • 各地區支援的模型有所差異,且資源相互獨立。各地區支援的模型請參見百鍊控制台
  • 調用時,確保模型、Endpoint URL 和 API Key 均屬於同一地區,跨地區調用將會失敗。
本文的範例程式碼適用於新加坡地區

核心能力

製作多鏡頭視頻

支援模型wan2.6系列模型 功能介紹:模型可自動進行分鏡切換,例如從全景切換到特寫,適合製作MV等情境。 參數設定
  • shot_type: 必須設為 "multi"
  • prompt_extend: 必須設為 true(開啟智能改寫以最佳化分鏡描述)。
輸入提示詞輸入首幀映像輸出視頻(wan2.6,多鏡頭視頻)
一幅都市奇幻藝術的情境。一個充滿動感的塗鴉藝術角色。一個由噴漆所畫成的少年,正從一面混凝土牆上活過來。他一邊用極快的語速演唱一首英文rap,一邊擺著一個經典的、充滿活力的饒舌歌手姿勢。情境設定在夜晚一個充滿都市感的鐵路橋下。燈光來自一盞孤零零的街燈,營造齣電影般的氛圍,充滿高能量和驚人的細節。視頻的音頻部分完全由rap構成,沒有其他對話或雜音。rap-轉換自-png輸入音頻
  • Python SDK
  • Java SDK
  • curl
請確保 DashScope Python SDK 版本不低於 1.25.8,可參考安裝SDK進行更新。
import os
from http import HTTPStatus
from dashscope import VideoSynthesis
import dashscope

# 以下為新加坡地區URL,調用時請將{WorkspaceId}替換為真實的業務空間ID。各地區的URL不同,擷取URL:https://www.alibabacloud.com/help/en/model-studio/image-to-video-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")

def sample_async_call_i2v():
    # 非同步呼叫,返回一個task_id
    rsp = VideoSynthesis.async_call(api_key=api_key,
                                    model='wan2.6-i2v-flash',
                                    prompt='一幅都市奇幻藝術的情境。一個充滿動感的塗鴉藝術角色。一個由噴漆所畫成的少年,正從一面混凝土牆上活過來。他一邊用極快的語速演唱一首英文rap,一邊擺著一個經典的、充滿活力的饒舌歌手姿勢。情境設定在夜晚一個充滿都市感的鐵路橋下。燈光來自一盞孤零零的街燈,營造齣電影般的氛圍,充滿高能量和驚人的細節。視頻的音頻部分完全由rap構成,沒有其他對話或雜音。',
                                    img_url="https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/wpimhv/rap.png",
                                    audio_url="https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/ozwpvi/rap.mp3",
                                    resolution="720P",
                                    duration=10,
                                    shot_type="multi", # 多鏡頭
                                    prompt_extend=True,
                                    watermark=True,
                                    negative_prompt="",
                                    seed=12345)
    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))

    # 等待非同步任務結束
    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_i2v()

實現聲畫同步

支援模型wan2.5和wan2.6系列模型 功能介紹:讓照片中的人物“開口說話”或唱歌,嘴型與音頻匹配。更多樣本請參見視頻聲音產生 參數設定:
  • 傳入音頻檔案:傳入 audio_url。模型會根據音頻檔案對齊口型。
  • 自動配音:無需傳入 audio_url,預設輸出有聲視頻。模型會根據畫面自動產生背景音效、音樂或人聲。
輸入提示詞輸入首幀映像輸出視頻(有聲視頻)
一幅都市奇幻藝術的情境。一個充滿動感的塗鴉藝術角色。一個由噴漆所畫成的少年,正從一面混凝土牆上活過來。他一邊用極快的語速演唱一首英文rap,一邊擺著一個經典的、充滿活力的饒舌歌手姿勢。情境設定在夜晚一個充滿都市感的鐵路橋下。燈光來自一盞孤零零的街燈,營造齣電影般的氛圍,充滿高能量和驚人的細節。視頻的音頻部分完全由rap構成,沒有其他對話或雜音。rap-轉換自-png輸入音頻
  • Python SDK
  • Java SDK
  • curl
請確保 DashScope Python SDK 版本不低於 1.25.8,可參考安裝SDK進行更新。
import os
from http import HTTPStatus
from dashscope import VideoSynthesis
import dashscope

# 以下為新加坡地區URL,調用時請將{WorkspaceId}替換為真實的業務空間ID。各地區的URL不同,擷取URL:https://www.alibabacloud.com/help/en/model-studio/image-to-video-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")

def sample_async_call_i2v():
    # 非同步呼叫,返回一個task_id
    rsp = VideoSynthesis.async_call(api_key=api_key,
                                    model='wan2.6-i2v-flash',
                                    prompt='一幅都市奇幻藝術的情境。一個充滿動感的塗鴉藝術角色。一個由噴漆所畫成的少年,正從一面混凝土牆上活過來。他一邊用極快的語速演唱一首英文rap,一邊擺著一個經典的、充滿活力的饒舌歌手姿勢。情境設定在夜晚一個充滿都市感的鐵路橋下。燈光來自一盞孤零零的街燈,營造齣電影般的氛圍,充滿高能量和驚人的細節。視頻的音頻部分完全由rap構成,沒有其他對話或雜音。',
                                    img_url="https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/wpimhv/rap.png",
                                    audio_url="https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/ozwpvi/rap.mp3",
                                    resolution="720P",
                                    duration=10,
                                    prompt_extend=True,
                                    watermark=True,
                                    negative_prompt="",
                                    seed=12345)
    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))

    # 等待非同步任務結束
    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_i2v()

產生無聲視頻

支援模型wan2.6-i2v-flashwan2.2系列模型wan2.1系列模型 功能介紹:適用於無需音訊純視覺展示情境,如動態海報、無聲短視頻等。 參數設定
  • wan2.6-i2v-flash:預設產生有聲視頻。若需產生無聲視頻,必須顯式設定 audio=false。即使傳入 audio_url,只要 audio=false,輸出仍為無聲視頻,並按無聲視頻計費
  • wan2.2及以下版本模型:預設產生無聲視頻,無需額外配置。
提示詞輸入首幀映像輸出視頻(無聲視頻)
一隻貓在草地上奔跑image
  • Python SDK
  • Java SDK
  • curl
請確保 DashScope Python SDK 版本不低於 1.25.8,可參考安裝SDK進行更新。
import os
from http import HTTPStatus
from dashscope import VideoSynthesis
import dashscope

# 以下為新加坡地區URL,調用時請將{WorkspaceId}替換為真實的業務空間ID。各地區的URL不同,擷取URL:https://www.alibabacloud.com/help/en/model-studio/image-to-video-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")

def sample_async_call_i2v():
    # 非同步呼叫,返回一個task_id
    rsp = VideoSynthesis.async_call(api_key=api_key,
                                    model='wan2.6-i2v-flash',
                                    prompt='一隻貓在草地上奔跑',
                                    img_url="https://cdn.translate.alibaba.com/r/wanx-demo-1.png",
                                    audio=False,   # 必須顯式設定為False,表示輸出無聲視頻
                                    resolution="720P",
                                    duration=5,
                                    prompt_extend=True,
                                    watermark=True,
                                    negative_prompt="",
                                    seed=12345)
    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))

    # 等待非同步任務結束
    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_i2v()

如何傳入映像和音頻

傳入映像

  • 映像個數:1個。
  • 輸入方式:映像URL、本地檔案路徑、Base 64 編碼字串。

方式一:映像URL(HTTP 介面、SDK) 推薦

不同程式設計語言(Python/Java)對檔案路徑的要求略有不同,請嚴格參照下方規則拼字。Python SDK:支援絕對路徑和相對路徑。檔案路徑規則如下:

作業系統

傳入的檔案路徑

樣本(絕對路徑)

樣本(相對路徑)

Linux / macOS

file://{檔案的絕對路徑或相對路徑}

file:///home/images/test.png

file://./images/test.png

Windows

file://D:/images/test.png

file://./images/test.png

Java SDK:僅支援絕對路徑。檔案路徑規則如下:

作業系統

傳入的檔案路徑

樣本(絕對路徑)

Linux / macOS

file://{檔案的絕對路徑}

file:///home/images/test.png

Windows

file:///{檔案的絕對路徑}

file:///D:/images/test.png

  • 樣本值data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABDg......(樣本已截斷,僅做示範)
  • 格式要求:遵循 data:{MIME_type};base64,{base64_data} 的格式,其中:
    • {base64_data}:影像檔經過 Base 64 編碼後的字串。
    • {MIME_type}:映像的媒體類型,需與檔案格式對應。

      映像格式

      MIME Type

      JPEG

      image/jpeg

      JPG

      image/jpeg

      PNG

      image/png

      BMP

      image/bmp

      WEBP

      image/webp

範例程式碼:三種輸入方式
Python SDK
import base64
import os
from http import HTTPStatus
from dashscope import VideoSynthesis
import mimetypes
import dashscope

# 以下為新加坡地區url,擷取url:https://www.alibabacloud.com/help/en/model-studio/image-to-video-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:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
api_key = os.getenv("DASHSCOPE_API_KEY")

# --- 輔助函數:用於 Base 64 編碼 ---
# 格式為 data:{MIME_type};base64,{base64_data}
def encode_file(file_path):
    mime_type, _ = mimetypes.guess_type(file_path)
    if not mime_type or not mime_type.startswith("image/"):
        raise ValueError("不支援或無法識別的映像格式")
    with open(file_path, "rb") as image_file:
        encoded_string = base64.b64encode(image_file.read()).decode('utf-8')
    return f"data:{mime_type};base64,{encoded_string}"

"""
映像輸入方式說明:
以下提供了三種圖片輸入方式,

1. 使用公網URL - 適合已有公開可訪問的圖片
2. 使用本地檔案 - 適合本地開發測試
3. 使用Base64編碼 - 適合私人圖片或需要加密傳輸的情境
"""

# 【方式一】使用公網可訪問的圖片URL
# 樣本:使用一個公開的圖片URL
img_url = "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/wpimhv/rap.png"

# 【方式二】使用本地檔案(支援絕對路徑和相對路徑)
# 格式要求:file:// + 檔案路徑
# 樣本(絕對路徑):
# img_url = "file://" + "/path/to/your/img.png"    # Linux/macOS
# img_url = "file://" + "/C:/path/to/your/img.png"  # Windows
# 樣本(相對路徑):
# img_url = "file://" + "./img.png"                # 相對當前執行檔案的路徑

# 【方式三】使用Base64編碼的圖片
# img_url = encode_file("./img.png")

# 設定音頻audio url
audio_url = "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/ozwpvi/rap.mp3"

def sample_call_i2v():
    # 同步調用,直接返回結果
    print('please wait...')
    rsp = VideoSynthesis.call(api_key=api_key,
                              model='wan2.6-i2v-flash',
                              prompt='一幅都市奇幻藝術的情境。一個充滿動感的塗鴉藝術角色。一個由噴漆所畫成的少年,正從一面混凝土牆上活過來。他一邊用極快的語速演唱一首英文rap,一邊擺著一個經典的、充滿活力的饒舌歌手姿勢。情境設定在夜晚一個充滿都市感的鐵路橋下。燈光來自一盞孤零零的街燈,營造齣電影般的氛圍,充滿高能量和驚人的細節。視頻的音頻部分完全由他的rap構成,沒有其他對話或雜音。',
                              img_url=img_url,
                              audio_url=audio_url,
                              resolution="720P",
                              duration=10,
                              prompt_extend=True,
                              watermark=False,
                              negative_prompt="",
                              seed=12345)
    print(rsp)
    if rsp.status_code == HTTPStatus.OK:
        print("video_url:", 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_call_i2v()

傳入音頻

  • 音頻個數:1個。
  • 輸入方式
    • 公網 URL:支援 HTTP 或 HTTPS 協議。

輸出視頻

  • 視頻個數:1個。
  • 輸出視頻規格:不同模型支援的輸出規格有所差異,請參見適用範圍
  • 輸出視頻URL有效期間24小時
  • 輸出視頻尺寸:由輸入映像和設定的解析度resolution決定。
    • 模型將盡量保持輸入映像的寬高比不變,縮放至總像素數接近目標值。因編碼規範,長寬必須被16整除,模型會自動微調尺寸。
    • 例如:輸入映像750×1000(寬高比 3:4 = 0.75),設定 resolution = "720P"(目標總像素約 92 萬)。最終輸出可能為 816 × 1104(寬高比 ≈ 0.739,總像素 ≈ 90 萬),且長寬均為 16 的倍數。

計費與限流

  • 模型免費額度和計費單價請參見模型價格
  • 模型限流請參見萬相系列
  • 計費說明:
    • 輸入不計費,輸出計費。按成功產生的 視頻秒數 計費。
    • 模型調用失敗或處理錯誤不產生任何費用,也不消耗新人免費額度
    • 圖生視頻還支援節省計劃

API文檔

圖生視頻-基於首幀API參考

常見問題

Q: 為什麼不能直接設定視頻寬高比(如 16:9)?

A:當前 API 不支援直接指定視頻寬高比。您只能通過 resolution 參數設定視頻的解析度。 resolution 控制的是視頻的總像素數量,而非固定比例。模型會優先保留輸入首幀映像的原始寬高比(近似),並在此基礎上進行微調,以滿足視頻編碼要求(即長和寬均需為 16 的整數倍)。

Q: 為什麼運行SDK代碼時出現 “url error, please check url!” 錯誤?

A:請確保:
  • DashScope Python SDK 版本不低於 1.25.8
  • DashScope Java SDK 版本不低於 2.22.6
若版本過低,可能會觸發 “url error, please check url!” 的錯誤。請參考升級SDK進行更新。
Token Plan
模型體驗
用量統計與效能監控
資產中心
服務支援
萬相-圖生視頻-基於首幀 - Alibaba Cloud Model Studio