全部產品
Search
文件中心

Alibaba Cloud Model Studio:微調映像產生模型

更新時間:Jul 11, 2026

當使用萬相進行映像產生時,若通過Prompt 最佳化仍無法滿足對特定風格、IP形象或畫面效果的定製需求,請使用模型微調

適用範圍

  • 適用地區:本文描述的功能僅在新加坡地區可用,且必須使用該地區的API Key

  • 支援微調的方式:SFT-LoRA高效微調。

  • 支援微調的模型

    • 映像產生(文生圖/圖生圖):wan2.7-image-pro、wan2.7-image。

如何微調模型

文生圖

微調目標:訓練一個人物LoRA模型

預期效果:輸入一段提示詞,模型自動產生特定人物在符合提示詞情境下的描述。

輸入提示詞

人物在擁擠的早高峰地鐵車廂內,抓著扶手,背景是模糊的乘客和車窗外的隧道燈光,身穿普通的上班族白襯衫和黑色西褲,人物站立面向鏡頭,半身照,寫實抓拍感。

輸出映像(微調前-文生圖)

7217b6ac-789d-43c3-aaa5-22647532de52_0

無參考圖無法產生特定人物形象。

輸出映像(微調後)

1_24

微調後的模型能穩定複現訓練集中的特定人物形象。

圖生圖

微調目標:訓練一個"末日廢土紅黑機甲"LoRA模型

預期效果:輸入一張人物映像,無需提示詞,模型自動產生人物“末日廢土紅黑機甲”風格的映像。

輸入映像

29_0

輸出映像(微調前)

output_0_0

無法通過提示詞每次產生固定風格的“末日廢土紅黑機甲”特效。

輸出映像(微調後)

29_1

微調後的模型無需提示詞即能複現訓練集中的特定“末日廢土紅黑機甲”特效。

運行下述代碼前,請開通百鍊服務,並配置API Key

步驟1:上傳資料集

將本地的資料集(.zip 格式)上傳到阿里雲百鍊平台,並擷取檔案 ID (id)。

訓練集範例資料:格式請參見訓練集

請求樣本

本樣本使用文生圖,僅上傳訓練集,系統將自動從訓練集中劃分一部分作為驗證集。
curl --location --request POST 'https://dashscope-intl.aliyuncs.com/compatible-mode/v1/files' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--form 'file=@"./wan-image-t2i-training-dataset.zip"' \
--form 'purpose="fine-tune"'

響應樣本

請儲存 id,這是上傳資料集的唯一標識。

{
    "id": "file-ft-3c67043a747c-xxxxxx",
    "object": "file",
    "bytes": 73310369,
    "filename": "wan-image-t2i-training-dataset.zip",
    "purpose": "fine-tune",
    "status": "processed",
    "created_at": 1782271893
}

步驟2:微調模型

步驟2.1 建立微調任務

使用步驟1中的檔案ID啟動訓練任務。

請求樣本

請將<替換為訓練資料集的檔案id>完整替換為上一步擷取的id。完整參數說明與格式約束請參見超參數

curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model": "wan2.7-image-pro",
    "training_datasets": [
        {
            "data_source_type": "file_id",
            "file_id": "<替換為訓練資料集的檔案id>"
        }
    ],
    "training_type": "efficient_sft",
    "hyper_parameters": {
        "learning_rate": 3e-5,
        "max_steps": 800,
        "eval_steps": 200,
        "max_token_length": "1k",
        "gradient_clip": 0.5,
        "weight_decay": 0.02,
        "max_pixels": "1k",
        "val_img_size": "1k",
        "generation_type": "t2i",
        "lora_rank": 32,
        "save_total_limit": 10
    }
}'

除使用步驟 1 擷取的檔案 ID 外,您還可以通過 OSS 掛載方式載入訓練資料集,請求樣本如下:

curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model": "wan2.7-image-pro",
    "training_datasets": [
        {
            "data_source_type": "oss_mount",
            "mount_storage": {
                "region": "ap-southeast-1",
                "bucket": "example_bucket",
                "file_path": "dataset/data.jsonl"
            }
        }
    ],
    "training_type": "efficient_sft",
    "hyper_parameters": {
        "learning_rate": 3e-5,
        "max_steps": 800,
        "eval_steps": 200,
        "max_token_length": "1k",
        "gradient_clip": 0.5,
        "weight_decay": 0.02,
        "max_pixels": "1k",
        "val_img_size": "1k",
        "generation_type": "t2i",
        "lora_rank": 32,
        "save_total_limit": 10
    }
}'
說明

使用 OSS 掛載方式載入資料集時,需將未經壓縮的資料集檔案夾整體上傳到 OSS Bucket(如 dataset 檔案夾下包含 data.jsonl 及對應的圖片檔案),不支援 zip 檔案;掛載時指定 data.jsonl 的檔案路徑即可,無需單獨指定圖片檔案。OSS Bucket 所屬地區支援北京(cn-beijing)和新加坡(ap-southeast-1)。

說明

訓練耗時(僅供參考):

  • 文生圖(t2i):2K,300 步,約 77 分鐘。

  • 圖生圖(i2i):2K,300 步,約 110 分鐘。

響應樣本

關注 output 中的三個關鍵參數:

  • job_id:任務ID,用於查詢進度。

  • finetuned_output:微調後的新模型名稱,後續部署和調用時必須使用此名稱。

  • status:模型訓練狀態。建立微調任務後,初始狀態為PENDING,表示訓練待開始。

{
    ...
    "output": {
        "job_id": "ft-202511111122-xxxx",
        "status": "PENDING",
        "finetuned_output": "xxxx-ft-202511111122-xxxx",
        ...
    }
}
步驟2.2 查詢微調任務狀態

通過步驟2.1獲得的 job_id 查詢任務進度,輪詢以下介面直到 status 變為 SUCCEEDED

請求樣本

請將 URL 中的 <替換為微調任務job_id> 完整替換為job_id的值。

curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes/<替換為微調任務job_id>' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json'

響應樣本

關注output 欄位的兩個參數:

  • status:當它的值變為 SUCCEEDED 時,表示模型已訓練完畢,可以進行模型部署。

  • usage:模型訓練消耗的總Token數量,用於模型訓練計費。

{
    ...
    "output": {
        "job_id": "ft-202511111122-xxxx",
        "status": "SUCCEEDED",
        "usage": 432000,
        ...
    }
}

步驟3:部署微調後的模型

步驟3.1 部署模型為線上服務

當微調任務的狀態為 SUCCEEDED 後,將模型部署為線上服務。

請求樣本

請將<替換為模型名稱model_name> 完整替換為建立微調任務的輸出參數finetuned_output的值。

curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/deployments' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model_name": "<替換為模型名稱model_name>",
    "capacity": 1,
    "plan": "lora"
}'

響應樣本

關注 output 中的兩個參數:

  • deployed_model:部署的模型名稱,用於查詢部署狀態和調用模型。

  • status:模型部署狀態。部署微調模型後,初始狀態為PENDING,表示部署未開始。

{
    ...
    "output": {
        "deployed_model": "wan2.7-image-pro-xxxxxxxxxxxx",
        "status": "PENDING",
        ...
    }
}
步驟3.2 查詢部署狀態

查詢部署狀態,輪詢以下介面直到 status 變為 RUNNING

說明

本文樣本的微調模型,部署過程預計需要 5~10分鐘

請求樣本

請將<替換為deployed_model>完整替換為步驟3.1輸出參數deployed_model的值。

curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/deployments/<替換為deployed_model>' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' 

響應樣本

關注output欄位的兩個參數:

  • status:當狀態變為 RUNNING 時,表示模型已部署成功,可以開始調用。

  • deployed_model:部署的模型名稱。

{
    ...
    "output": {
        "status": "RUNNING",
        "deployed_model": "wan2.7-image-pro-xxxxxxxxxxxx",
        ...
    }
}

步驟4:調用模型產生映像

模型部署成功後(即部署狀態status為 RUNNING ),即可發起調用。

說明

當前部署後的映像模型僅支援非同步呼叫,且返迴響應的message.content中無type欄位。

步驟4.1:建立映像產生任務,並擷取task_id

請求樣本

請將<替換為部署名稱deployed_model>完整替換為上一步輸出的deployed_model值。

文生圖

輸入一段包含觸發詞的文本描述,模型自動產生符合訓練風格的映像。

curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/image-generation/generation' \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "X-DashScope-Async: enable" \
--data '{
    "model": "<替換為部署名稱deployed_model>",
    "input": {
        "messages": [
            {
                "role": "user",
                "content": [
                    {"text": "s86b5p, 人物在擁擠的早高峰地鐵車廂內,抓著扶手,背景是模糊的乘客和車窗外的隧道燈光,身穿普通的上班族白襯衫和黑色西褲,人物站立面向鏡頭,半身照,寫實抓拍感。"}
                ]
            }
        ]
    },
    "parameters": {
        "size": "2K",
        "n": 1
    }
}'

圖生圖

輸入一張參考映像和編輯指令,模型基於參考映像產生符合訓練風格的映像。

curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/image-generation/generation' \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "X-DashScope-Async: enable" \
--data '{
    "model": "<替換為部署名稱deployed_model>",
    "input": {
        "messages": [
            {
                "role": "user",
                "content": [
                    {"image": "<替換為參考映像URL>"},
                    {"text": "s86b5p, Change the background to an elevator with red lighting. Change the character clothing to red tight-fitting mech armor with black stripe decorations."}
                ]
            }
        ]
    },
    "parameters": {
        "size": "2K",
        "n": 1
    }
}'

響應樣本

請複製並儲存task_id,用於下一步結果查詢。

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

輸入參數說明

說明

調用微調後的 LoRA 模型時,輸入參數用法與萬相-映像產生與編輯2.7 API保持一致。

下表僅列出 LoRA 模型調用時的關鍵參數說明

欄位

類型

必選

描述

樣本值

model

string

模型名稱。必須使用已成功部署且部署狀態為RUNNING的微調模型。

wan2.7-image-pro-xxxxxxxxxxxx

input.messages[].content[].text

string

文本提示詞。建議包含觸發詞以啟用 LoRA 風格。

s86b5p, 人物在午後靜謐的私人圖書館...

parameters.size

string

輸出圖片解析度。

  • 方式一:指定輸出圖片的解析度(推薦)

    • 支援 1K、2K(預設)、4K 三種規格

    • 適用範圍

      • 文生圖:支援1K、2K、4K。

      • 影像編輯:支援1K、2K。

    • 各規格總像素:1K:1024*1024、2K:2048*2048、4K:4096*4096

  • 方式二:指定產生映像的寬高像素值

    • 文生圖:總像素在 [768*768, 4096*4096] 之間,寬高比範圍為 [1:8, 8:1]。

    • 影像編輯:總像素在 [768*768, 2048*2048] 之間,寬高比範圍為 [1:8, 8:1]。

2K

parameters.n

integer

產生映像數量,取值範圍 1~4,預設為 1。

1

步驟4.2:根據task_id查詢結果

使用task_id輪詢任務狀態,直到 task_status 變為 SUCCEEDED,從output.choices[].message.content[].image擷取映像URL。

請求樣本

請將86ecf553-d340-4e21-xxxxxxxxx替換為真實的task_id。
curl -X GET https://dashscope-intl.aliyuncs.com/api/v1/tasks/86ecf553-d340-4e21-xxxxxxxxx \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"

響應樣本

映像URL有效期間為24小時,請及時下載映像。
{
    "request_id": "3f2ebb4e-3d47-97b5-xxxx-xxxxxx",
    "output": {
        "task_id": "aeea547c-e24e-4acb-xxxx-xxxxxx",
        "task_status": "SUCCEEDED",
        "submit_time": "2026-05-29 17:35:23.826",
        "scheduled_time": "2026-05-29 17:35:23.865",
        "end_time": "2026-05-29 17:36:32.498",
        "finished": true,
        "choices": [
            {
                "finish_reason": "stop",
                "message": {
                    "role": "assistant",
                    "content": [
                        {
                            "image": "https://dashscope-7c2c.oss-accelerate.aliyuncs.com/xxx.png?Expires=xxxxxx"
                        }
                    ]
                }
            }
        ]
    },
    "usage": {
        "size": "2048*2048",
        "total_tokens": 770,
        "image_count": 1,
        "output_tokens": 691,
        "input_tokens": 79
    }
}

構建自訂資料集

除了使用本文樣本資料體驗微調流程外,您也可以構建自己的資料集進行微調。

資料集應包含 訓練集(必須)和 驗證集(可選,支援從訓練集自動劃分)。所有檔案請打包為.zip 格式,檔案名稱建議僅使用英文、數字、底線或虛線。

資料集格式

訓練集:必須提供

文生圖

訓練集包括訓練靶心圖表像和標註檔案(data.jsonl)

  • 訓練集範例:wan-image-t2i-training-dataset.zip

  • zip包目錄結構:

    wan-image-t2i-training-dataset.zip
    ├── data.jsonl      # 必須固定命名為data.jsonl,最大支援 20MB
    ├── 1_0.png         # 訓練靶心圖表像,最大解析度4096*4096,單張≤20MB,支援PNG/JPG/JPEG/WEBP/BMP
    ├── 1_1.png         # 檔案名稱僅支援英文字元,平鋪結構(禁止子目錄)
    └── 1_2.png
  • 標註檔案(data.jsonl):每一行代表一條訓練資料,必須為 JSON 對象。

    {
      "prompt": "s86b5p, The character stands in a quiet private library in the afternoon, with tall dark walnut bookshelves behind, sunlight streaming through blinds casting striped light and shadow, wearing a soft beige cable-knit sweater, the character stands facing the camera, half-body shot, the image has a fine film grain texture.",
      "img_path": "./1_0.png"
    }

單圖生圖

訓練集包括參考映像(輸入)、訓練靶心圖表像(輸出)和標註檔案(data.jsonl)

  • 訓練集範例:wan-image-i2i-training-dataset.zip

  • zip包目錄結構:

    wan-image-i2i-training-dataset.zip
    ├── data.jsonl      # 必須固定命名為data.jsonl,最大支援 20MB
    ├── 1_0.jpg         # 訓練靶心圖表像(輸出)
    ├── 1_1.jpg         # 參考映像(輸入)
    ├── 6_0.jpg         # 訓練靶心圖表像(輸出)
    └── 6_1.jpg         # 參考映像(輸入)
  • 標註檔案(data.jsonl):每一行代表一條訓練資料,必須為 JSON 對象。

    {
      "prompt": "s86b5p, Change the background to an elevator with red lighting, featuring large floor-to-ceiling windows. Change the character's clothing to red tight-fitting mech armor with black stripe decorations.",
      "input_img": "./1_1.jpg",
      "img_path": "./1_0.jpg"
    }

多圖生圖

訓練集包括多張參考映像(輸入)、訓練靶心圖表像(輸出)和標註檔案(data.jsonl)。與單圖生圖不同,多圖生圖支援同時輸入多張參考映像(如人物照片+姿態圖,最多支援9張參考圖),模型基於多張參考圖的綜合資訊產生靶心圖表像。

說明
  • 多圖生圖使用input_imgs(數組),單圖生圖使用input_img(字串),請注意區分。

  • input_imgs數組中的映像順序應與訓練意圖一致(如第一張為人物參考,第二張為姿態參考)。

  • 訓練集範例:

  • zip包目錄結構:

    wan-image-multi-i2i-training-dataset.zip
    ├── data.jsonl      # 必須固定命名為data.jsonl,最大支援 20MB
    ├── 1_0.jpg         # 訓練靶心圖表像(輸出)
    ├── 1_ref.jpg       # 參考映像1(如人物照片)
    ├── 1_pose.jpg      # 參考映像2(如姿態圖)
    ├── 2_0.jpg         # 訓練靶心圖表像(輸出)
    ├── 2_ref.jpg       # 參考映像1
    └── 2_pose.jpg      # 參考映像2
  • 標註檔案(data.jsonl):每一行代表一條訓練資料,必須為 JSON 對象。使用input_imgs欄位傳入多張參考映像路徑。

    {
      "prompt": "s86b5p, Change the background to an elevator with red lighting, featuring large floor-to-ceiling windows. Outside the windows, there is a post-apocalyptic scene with red mist. Change the character's clothing to red tight-fitting mech armor with black stripe decorations. Standing with both arms stretched horizontally to form a T-shape.",
      "input_imgs": ["./1_ref.jpg", "./1_pose.jpg"],
      "img_path": "./1_0.jpg"
    }
說明
  • data.jsonl 必須為 Line-delimited JSONL 格式(每行一個獨立 JSON 對象),禁止使用 JSON 數組格式(即檔案首字元不能是 [)。

  • zip 包內檔案必須平鋪放置,禁止使用子目錄。檔案名稱僅支援英文字元(禁止中文、空格、特殊字元)。

驗證集:可選

驗證集包括標註檔案(data.jsonl)和可選的參考映像(圖生圖模式需要),無需提供靶心圖表像。訓練任務會在每個評估節點,自動調用模型服務,使用驗證集的 Prompt(和參考映像)產生預覽映像。

  • 驗證集

  • zip包目錄結構:

    wan-image-i2i-valid-dataset.zip
    ├── data.jsonl       # 必須固定命名為data.jsonl,最大支援 20MB
    ├── input_001.png    # 可選,圖生圖模式的參考映像
    └── input_002.png
  • 標註檔案(data.jsonl):每一行代表一條驗證資料,必須為 JSON 對象。

    文生圖

    {
        "prompt": "s86b5p, The character is in a crowded morning rush hour subway car, holding onto a handrail, with blurred passengers in the background and tunnel lights outside the window, wearing a plain white office shirt and black trousers, the character stands facing the camera, half-body shot, realistic candid feel."
    }

    圖生圖

    {
        "prompt": "s86b5p, Change the background to an elevator with red lighting, featuring large floor-to-ceiling windows. Change the character's clothing to red tight-fitting mech armor with black stripe decorations.",
        "input_img": "./input_001.png"
    }

    多圖生圖

    多圖生圖驗證集使用input_imgs(數組)傳入多張參考映像路徑,最多支援9張

    {
        "prompt": "s86b5p, Change the background to an elevator with red lighting, featuring large floor-to-ceiling windows. Outside the windows, there is a post-apocalyptic scene with red mist. Change the character's clothing to red tight-fitting mech armor with black stripe decorations. Standing with both arms stretched horizontally to form a T-shape.",
        "input_imgs": ["./input_001.png", "./input_002.png"]
    }

資料規模與限制

  • 資料量:建議至少提供 25張 映像(推薦 50 張以上效果更佳)。要求同一角色/風格,多情境多角度,內容描述一致。

  • Zip壓縮包:通過 API 上傳時,總包大小 ≤ 1GB。

  • 訓練映像要求

    • 映像格式支援BMP、JPEG、PNG、WEBP。

    • 映像解析度 ≤ 4096×4096。

    • 單個影像檔大小 ≤ 20MB。

資料收集和清洗

1. 確定微調情境

萬相支援映像產生的微調情境包括:

  • IP角色風格化:讓模型學會特定IP角色的繪畫風格,如二次元人物、吉祥物形象等。

  • 固定畫面風格:提升模型對特定藝術風格的複現度,如扁平插畫、水墨畫、像素風等。

  • 特定情境產生:複刻特定的構圖模式或情境模板,如商品展示圖、海報版式等。

2. 擷取原始素材
  • AI 產生篩選:利用"萬相"基本模型批量產生映像,再人工挑選出最符合目標效果的優質樣本。這是最常用的方法。

  • 真實拍攝:如果您的目標是追求高真實感的情境(如產品實拍、人物攝影等),使用實拍素材是最佳選擇。

  • 三維軟體渲染:對於需要控制細節的情境或3D渲染風格,建議使用 3D 軟體(如 Blender、C4D)製作素材。

3. 清洗資料

維度

正面要求

負面案例

一致性

核心特徵必須高度統一

例如:訓練"扁平插畫風格",所有映像必須都是相同的線條寬度和色彩配置。

風格混雜

資料集中既有厚塗風格,又有扁平風格。模型不知道該學哪種風格。

多樣性

主體與情境越豐富越好

覆蓋不同主體(男女老少、貓狗建築)和不同構圖(遠景、近景、特寫)。同時,解析度和長寬比應儘可能多樣化。

單一情境或主體

所有映像都是"穿紅衣的人在白牆前"。模型會誤以為"紅衣"和"白牆"是風格的一部分,換了情境就不會產生了。

均衡性

各類型資料比例均衡

如果包含多種風格,數量應大致相等。

比例嚴重失調

90%是人像映像,10%是風景映像。模型可能在產生風景映像時效果不佳。

純淨度

畫面乾淨清晰

使用無幹擾的原始素材。

有幹擾元素

映像中帶有浮水印、明顯的黑邊或噪點。模型可能會把浮水印當成風格學進去

解析度

解析度適中

建議訓練映像解析度不超過 2048×2048,過大的映像會增加訓練時間。

解析度差異過大

訓練集中既有 256×256 的小圖,又有 4096×4096 的大圖,會影響訓練穩定性。

映像標註:為映像編寫Prompt

在資料集的標註檔案(data.jsonl)中,每張映像都有對應的一段 Prompt。Prompt 是用來描述靶心圖表像的畫面內容,Prompt 的品質直接決定模型"學什麼"。

Prompt編寫公式

Prompt = [主體描述] + [背景描述] + [觸發詞] + [風格描述]

Prompt描述項

說明

填寫建議

樣本

主體描述

描述畫面中原本存在的人或物

必填

一位年輕女性身著紅色中式長衫...

背景描述

描述畫面中主體所處的環境

必填

背景是被綠色的藤蔓覆蓋的磚牆...

觸發詞

一個無實際意義的稀有詞彙

推薦填寫

s86b5p 或 m01aa

風格描述

詳細描述靶心圖表像的藝術風格和畫面特徵

推薦填寫

採用扁平化插畫風格,以簡潔流暢的線條、鮮明平塗色彩突出主體立體感與現代設計感。

關於"觸發詞"
  • 觸發詞是什嗎?

    它相當於一個 "視覺錨點" 。因為很多複雜的視覺風格(如某種獨特的畫面質感、特定的色彩搭配)很難用文字精確描述,所以用這個詞強制告訴模型:當你看到 s86b5p 時,就必鬚生成這種特定的視覺風格。

  • 為什麼要使用它?

    模型微調是建立"文本"與"映像特徵"的映射關係。觸發詞就是那個把"難以言傳的風格"綁定到一個獨一無二的詞上,讓模型能夠鎖定目標。

  • 既然有了觸發詞,為什麼還要詳細描述風格?

    兩者分工不同,配合使用效果更好。

    • 風格描述:負責解釋 "畫面應該是什麼樣的"。它告訴模型基礎的藝術風格和視覺特徵,通常多個樣本的風格描述是一致的。

    • 觸發詞:負責解釋 "風格具體是什麼樣"。它代表了那些文字無法精確描述的獨特視覺特徵。

使用驗證集評估模型

指定驗證集

微調任務必須包含訓練集,驗證集則是可選項。您可以選擇由系統自動劃分手動上傳驗證集,具體指定方式如下:

方式一:未上傳驗證集(系統自動劃分)

建立微調任務時,如果沒有單獨上傳驗證集(即未傳入validation_datasets參數),系統將根據split從訓練集劃分驗證集,預設 0.9。即 90% 用於訓練,10% 用作驗證。

方式二:主動上傳驗證集(通過 validation_datasets 指定)

如果您希望使用一套自己準備的資料來評估Checkpoint,而不是依賴系統隨機劃分,可以上傳自訂驗證集。

注意:一旦選擇主動上傳,系統將完全忽略上述自動劃分規則,僅使用您上傳的資料進行驗證。

操作步驟:主動上傳驗證集

  1. 準備驗證集:將驗證資料打包成一個獨立的 .zip 檔案,請參見驗證集格式

  2. 上傳驗證集:調用上傳資料集介面,上傳這個驗證集 .zip 檔案,獲得一個專屬的檔案ID。

  3. 建立任務時指定驗證集:在調用建立微調任務介面時,將這個檔案ID填入 validation_datasets 參數中。

    {
        "model":"wan2.7-image-pro",
        "training_datasets":[ {"data_source_type":"file_id", "file_id":"<訓練集的檔案id>"} ],
        "validation_datasets": [ {"data_source_type":"file_id", "file_id":"<自訂驗證集的檔案id>"} ],
        ...
    }

挑選最佳Checkpoint進行部署

在訓練過程中,系統會定期儲存模型的"快照"(即 Checkpoint)。預設情況下,系統會輸出最後一個Checkpoint作為最終的微調模型。但中間過程產出的Checkpoint效果可能優於最終版本,您可以從中挑選出最滿意的一個進行部署。

系統將按照超參數eval_steps設定的間隔,在驗證集上運行Checkpoint並產生預覽映像。

  • 如何評估:通過直接觀察產生的預覽映像來判斷效果。

  • 挑選標準:找到效果最好、且風格最貼合的那個 Checkpoint 。

操作步驟

步驟1:查看Checkpoint產生的預覽效果
步驟1.1 查詢已通過驗證的Checkpoint列表

該介面僅返回通過驗證集驗證、且成功產生預覽映像的 Checkpoint,驗證失敗的不會列出。

請求樣本

curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes/<替換為微調任務job_id>/validation-results' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' 

響應樣本

此介面返回一個僅包含成功通過驗證的Checkpoint名稱的列表。

{
    "request_id": "da1310f5-5a21-4e29-99d4-xxxxxx",
    "output": [
        {
            "checkpoint": "checkpoint-160"
        },
        ...
    ]
}

步驟1.2 查詢Checkpoint對應的驗證集結果

從上一步返回的 Checkpoint 列表中選擇一個(例如"checkpoint-160"),查看其產生的映像效果。

請求樣本

  • <替換為微調任務job_id>: 完整替換為建立微調任務輸出參數job_id的值。

  • <替換為待匯出的checkpoint>:完整替換為checkpoint的值,例如"checkpoint-160"。

curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes/<替換為微調任務job_id>/validation-details/<替換為選擇的checkpoint>?page_no=1&page_size=10' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"

響應樣本

預覽映像URL為img_path,有效期間為24小時,請及時下載映像並查看效果。重複此步驟,比較多個Checkpoint的效果,找出最滿意的一個。

{
    "request_id": "375b3ad0-d3fa-451f-b629-xxxxxxx",
    "output": {
        "page_no": 1,
        "page_size": 10,
        "total": 5,
        "list": [
            {
                "img_path": "https://finetune-result.oss-cn-wulanchabu.aliyuncs.com/xxx.png?Expires=xxxxxx",
                "prompt": "s86b5p, Change the background to an elevator equipped with a white ceiling lighting, featuring large floor-to-ceiling windows. Change the character's clothing to red tight-fitting mech armor with black stripe decorations.",
                "input_img": "https://finetune-result.oss-cn-wulanchabu.aliyuncs.com/val_dataset/input_001.png?Expires=xxxxxx"
            },
            ...
        ]
    }
}

步驟2:匯出Checkpoint,並擷取待部署的模型名稱
步驟2.1 匯出模型

假設"checkpoint-160"的效果最佳,接下來是將其匯出。

請求樣本

  • <替換為微調任務job_id>: 完整替換為建立微調任務輸出參數job_id的值。

  • <替換為待匯出的checkpoint>:完整替換為checkpoint的值,例如"checkpoint-160"。

  • <替換為控制台展示的匯出模型名稱>:完整替換為自訂的模型名稱,僅用於控制台展示,例如"wan2.5-checkpoint-160"。該名稱必須全域唯一,不支援重複名稱多次匯出,參數填寫請參見匯出Checkpoint

curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes/<替換為微調任務job_id>/export/<替換為待匯出的checkpoint>?model_name=<替換為控制台展示的匯出模型名稱>' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"

響應樣本

響應參數output=true,表示匯出請求已成功建立。

{
    "request_id": "0817d1ed-b6b6-4383-9650-xxxxx",
    "output": true
}
步驟2.2 查詢部署後的新模型名稱

查詢所有Checkpoint的狀態,確認匯出已完成,並擷取它專屬的、用於部署的新模型名稱(model_name)。

請求樣本

  • <替換為微調任務job_id> :完整替換為建立微調任務輸出參數job_id的值。

curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes/<替換為微調任務job_id>/checkpoints' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"

響應樣本

在返回列表中定位匯出的 Checkpoint(如 checkpoint-160)。當其 status 變為 SUCCEEDED 時,表示匯出成功;此時返回的 model_name 欄位即為匯出後的新模型名稱。

{
    "request_id": "b0e33c6e-404b-4524-87ac-xxxxxx",
    "output": [
         ...,
        {
            "create_time": "2025-11-11T13:27:29",
            "full_name": "ft-202511111122-496e:checkpoint-160",
            "job_id": "ft-202511111122-496e",
            "checkpoint": "checkpoint-160",                             
            "model_name": "xxxx-ft-202511111122-xxxx-c160", // 重要欄位,將用於模型部署和調用
            "model_display_name": "xxxx-ft-202511111122-xxxx", 
            "status": "SUCCEEDED" // 成功匯出的checkpoint
        },
        ...
        
    ]
}
步驟3:部署並調用模型

在成功匯出 Checkpoint 並擷取 model_name 後,請按照以下步驟執行後續操作:

  • 模型部署:在輸入參數 model_name,填入匯出後擷取到的具體值。

  • 模型調用:參照介面說明,調用已部署模型,詳情請參見萬相-映像產生與編輯2.7

    當前部署後的映像模型僅支援非同步呼叫,且返迴響應的message.content中無type欄位。

計費說明

  • 模型訓練:收費。詳情請參見模型訓練計費

    • 費用 = 訓練 Tokens 總量 × 單價。

    • 訓練結束後,在查詢微調任務狀態介面 usage 欄位查看訓練消耗的總 Token 數。

    下表列出了wan2.7-image、wan2.7-image-pro不同組建類型訓練中常見訓練步數及預估費用。該資料僅供參考,實際訓練效果請以最終交付為準,費用請以正式賬單為準。詳細計費公式請參見模型訓練計費

    generation_type

    圖片解析度

    常見Step步數

    Token消耗預估

    費用預估

    t2i(文生圖)

    1K

    500

    6,400,000

    $96

    1000

    12,800,000

    $192

    2000

    25,600,000

    $384

    2K

    500

    11,610,000

    $174.15

    1000

    23,220,000

    $348.3

    2000

    46,440,000

    $696.6

    i2i(圖生圖)

    1K

    500

    11,610,000

    $174.15

    1000

    23,220,000

    $348.3

    2000

    46,440,000

    $696.6

    2K

    500

    16,000,000

    $240

    1000

    32,000,000

    $480

    2000

    64,000,000

    $960

  • 模型部署與調用:部署免費,調用按微調的基本模型的標準調用價格計費。

    模型名稱

    Lora部署調用價格

    wan2.7-image-pro

    $0.075/張

    wan2.7-image

    $0.03/張

API文檔

視頻/映像產生模型微調 API 參考

常見問題

Q:如何設計一個好的觸發詞?

A: 規則如下:

  • 推薦使用無實際語義的稀有字元組合,如 s86b5p、m01aa、EVEAven638123。確保在基模詞表中無語義含義。

  • 避免使用常用英語單詞(如 beautiful, fire, dance),否則會汙染模型原本對這些詞的理解。