Skip to main content
Fine-tuning Model

Fine-tune image generation models

Saat menggunakan Wan untuk image generation , jika Text-to-video/image-to-video prompt guide tidak dapat memenuhi kebutuhan kustomisasi Anda untuk gaya tertentu, karakter IP, atau efek visual , gunakan model fine-tuning .

Scope

  • Supported region: Dokumen ini hanya berlaku untuk wilayah Singapura. Anda harus menggunakan API key dari wilayah ini.
  • Supported fine-tuning method: Fine-tuning efisien SFT-LoRA.
  • Supported models:
    • Image generation (text-to-image/image-to-image): wan2.7-image-pro, wan2.7-image.

How to fine-tune a model

  • Text-to-image
  • Image-to-image
Fine-tuning objective: Train a character LoRA model.Hasil yang diharapkan: Diberikan prompt teks, model menghasilkan gambar karakter tertentu dalam adegan yang dijelaskan oleh prompt tersebut.
Input promptA person in a crowded morning rush hour subway car, holding onto the handrail, with blurred passengers in the background and tunnel lights visible through the windows, wearing an ordinary office worker white shirt and black trousers, standing facing the camera, half-body shot, realistic candid feel.Output image (before fine-tuning - text-to-image)
7217b6ac-789d-43c3-aaa5-22647532de52_0
Tanpa gambar referensi, model tidak dapat menghasilkan karakter tertentu.
Output image (after fine-tuning)
1_24
Setelah fine-tuning, model dapat mereproduksi karakter tertentu dari set pelatihan secara konsisten.
Sebelum menjalankan kode berikut, Dapatkan kunci API dan Konfigurasikan kunci API sebagai variabel lingkungan.

Step 1: Upload the dataset

Unggah dataset lokal Anda (dalam format .zip) ke platform Alibaba Cloud Model Studio dan peroleh ID file (id). Data pelatihan contoh: Untuk formatnya, lihat Training set. Request example
Contoh ini menggunakan text-to-image dan hanya mengunggah set pelatihan. Sistem secara otomatis membagi sebagian dari set pelatihan sebagai set validasi.
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"'
Response example Simpan id. Ini adalah pengidentifikasi unik untuk dataset yang diunggah.
{
    "id": "file-ft-3c67043a747c-xxxxxx",
    "object": "file",
    "bytes": 73310369,
    "filename": "wan-image-t2i-training-dataset.zip",
    "purpose": "fine-tune",
    "status": "processed",
    "created_at": 1782271893
}

Step 2: Fine-tune the model

Step 2.1: Create a fine-tuning job
Gunakan ID file dari Langkah 1 untuk memulai pekerjaan pelatihan. Request example Ganti <replace_with_training_dataset_file_id> dengan id yang diperoleh pada langkah sebelumnya. Untuk referensi parameter lengkap dan batasan format, lihat Hyperparameters.

Parameter

Type

Required

Description

Recommended value

max_steps

int

Yes

Total training steps. Parameter inti yang menentukan jumlah total iterasi pelatihan. Kami merekomendasikan minimal 500 langkah untuk memastikan konvergensi model, dan nilai yang lebih tinggi untuk dataset yang lebih besar.

800

eval_steps

int

Yes

Validation interval. Nilainya harus ≥ 0. Menentukan frekuensi (dalam langkah) evaluasi model selama pelatihan. Checkpoint juga disimpan pada setiap interval tersebut.

200

learning_rate

float

Yes

tingkat pembelajaran. Mengontrol besarnya pembaruan bobot model. Nilai yang terlalu tinggi dapat menurunkan performa model, sedangkan nilai yang terlalu rendah mungkin menghasilkan perubahan yang tidak signifikan. Kami merekomendasikan menggunakan nilai default.

3e-5

generation_type

string

Yes

generation mode. Gunakan "t2i" untuk text-to-image atau "i2i" untuk image-to-image. Pengaturan ini menentukan format data pelatihan dan metode inferensi.

t2i

max_pixels

string

Yes

Maximum resolution for training images. Misalnya, "1k" atau "2k" (1K = 1024×1024, 2K = 2048×2048). Menetapkan batas atas jumlah total piksel (lebar × tinggi) untuk gambar dalam set pelatihan. Sistem hanya mengecilkan gambar yang melebihi nilai ini; gambar di bawah batas tetap tidak berubah. Kami merekomendasikan menjaga konsistensi tiga parameter terkait resolusi (max_pixels, max_token_length, dan val_img_size).

text-to-image: "2k"
image-to-image: "1k"

val_img_size

string

Yes

Validation image generation resolution. Misalnya, "1k" atau "2k" (1K = 1024×1024, 2K = 2048×2048). Resolusi target untuk gambar yang dihasilkan selama evaluasi validasi.

text-to-image: "2k"
image-to-image: "1k"

max_token_length

string

Yes

Maximum token length per step. Misalnya, "1k" atau "2k". Parameter ini, bersama dengan max_steps, mengontrol proses pelatihan: max_steps menentukan jumlah iterasi, sedangkan max_token_length menentukan jumlah data yang diproses dalam setiap langkah.

text-to-image: "2k"
image-to-image: "1k"

gradient_clip

float

Yes

pemotongan gradien. Ambang batas untuk pemotongan norma gradien global di semua parameter yang dapat dilatih, digunakan untuk mencegah gradien meledak. Atur ke -1 untuk menonaktifkan pemotongan.

0.5

weight_decay

float

Yes

weight decay. Koefisien weight decay terpisah untuk pengoptimal AdamW. Berlaku untuk semua parameter yang dapat dilatih dan digunakan untuk regularisasi guna mencegah overfitting.

0.02

lora_rank

int

Yes

LoRA rank. Rank (dimensi) matriks low-rank LoRA. Nilai ini menentukan jumlah parameter yang dapat dilatih untuk fine-tuning. Nilai yang lebih besar meningkatkan kemampuan fitting model tetapi memperlambat pelatihan. Nilainya harus merupakan pangkat dari 2 (misalnya, 16, 32, 64).

32

save_total_limit

int

No

Checkpoint save limit. Jumlah maksimum checkpoint model yang disimpan. Sistem hanya menyimpan N checkpoint terbaru, di mana N adalah nilai ini.

10

split

float

No

Training set split ratio. Rentang nilainya (0, 1). Parameter ini hanya berlaku jika validation_file_ids tidak ditentukan. Parameter ini digunakan untuk secara otomatis membagi sebagian dari set pelatihan sebagai set validasi. Misalnya, nilai 0.9 berarti 90% data digunakan sebagai set pelatihan dan 10% sebagai set validasi.

0.9

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": "<replace_with_training_dataset_file_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
    }
}'
Referensi durasi pelatihan:
  • Text-to-image (t2i): sekitar 77 menit untuk 300 langkah.
  • Image-to-image (i2i): sekitar 110 menit untuk 300 langkah.
Response example Perhatikan tiga parameter kunci dalam bidang output:
  • job_id: ID pekerjaan, digunakan untuk menanyakan progres.
  • finetuned_output: Nama model hasil fine-tuning. Anda harus menggunakan nama ini untuk penerapan dan pemanggilan selanjutnya.
  • status: Status pelatihan. Setelah membuat pekerjaan fine-tuning, status awalnya adalah PENDING, yang menunjukkan bahwa pelatihan belum dimulai.
{
    ...
    "output": {
        "job_id": "ft-202511111122-xxxx",
        "status": "PENDING",
        "finetuned_output": "xxxx-ft-202511111122-xxxx",
        ...
    }
}
Step 2.2: Query the fine-tuning job status
Gunakan job_id yang diperoleh pada Langkah 2.1 untuk menanyakan progres pekerjaan. Poll API berikut hingga status berubah menjadi SUCCEEDED. Request example Ganti <replace_with_fine_tuning_job_id> dalam URL dengan nilai job_id.
curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes/<replace_with_fine_tuning_job_id>' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json'
Response example Perhatikan dua parameter dalam bidang output:
  • status: Ketika nilainya berubah menjadi SUCCEEDED, pelatihan model selesai dan Anda dapat melanjutkan ke penerapan model.
  • usage: Jumlah total token yang dikonsumsi selama pelatihan model, digunakan untuk penagihan.
{
    ...
    "output": {
        "job_id": "ft-202511111122-xxxx",
        "status": "SUCCEEDED",
        "usage": 432000,
        ...
    }
}

Step 3: Deploy the fine-tuned model

Step 3.1: Deploy the model as an online service
Setelah status pekerjaan fine-tuning berubah menjadi SUCCEEDED, terapkan model sebagai layanan online. Request example Ganti <replace_with_model_name> dengan nilai finetuned_output dari output Create a fine-tuning job.
curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/deployments' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model_name": "<replace_with_model_name>",
    "capacity": 1,
    "plan": "lora"
}'
Response example Perhatikan dua parameter dalam bidang output:
  • deployed_model: Nama model yang diterapkan, digunakan untuk menanyakan status penerapan dan memanggil model.
  • status: Status penerapan model. Setelah menerapkan model hasil fine-tuning, status awalnya adalah PENDING, yang menunjukkan bahwa penerapan belum dimulai.
{
    ...
    "output": {
        "deployed_model": "wan2.7-image-pro-xxxxxxxxxxxx",
        "status": "PENDING",
        ...
    }
}
Step 3.2: Query the deployment status
Tanyakan status penerapan. Poll API berikut hingga status berubah menjadi RUNNING.
Untuk model hasil fine-tuning dalam contoh ini, proses penerapan memakan waktu sekitar 5–10 menit.
Request example Ganti <replace_with_deployed_model> dengan nilai deployed_model dari output Langkah 3.1.
curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/deployments/<replace_with_deployed_model>' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json'
Response example Perhatikan dua parameter dalam bidang output:
  • status: Ketika status berubah menjadi RUNNING, model telah berhasil diterapkan dan Anda dapat mulai memanggilnya.
  • deployed_model: Nama model yang diterapkan.
{
    ...
    "output": {
        "status": "RUNNING",
        "deployed_model": "wan2.7-image-pro-xxxxxxxxxxxx",
        ...
    }
}

Step 4: Invoke the model to generate images

Setelah model berhasil diterapkan (status penerapan status adalah RUNNING), Anda dapat mulai melakukan pemanggilan.
Model yang saat ini diterapkan hanya mendukung panggilan asinkron, dan tidak ada bidang type dalam message.content.
Request exampleGanti <replace_with_deployed_model> dengan nilai deployed_model dari langkah sebelumnya.
  • Text-to-image
  • Image-to-image
Berikan deskripsi teks yang berisi kata pemicu. Model menghasilkan gambar yang sesuai dengan gaya yang dilatih.
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": "<replace_with_deployed_model>",
    "input": {
        "messages": [
            {
                "role": "user",
                "content": [
                    {"text": "s86b5p, A person in a crowded morning rush hour subway car, holding onto the handrail, with blurred passengers in the background and tunnel lights visible through the windows, wearing an ordinary office worker white shirt and black trousers, standing facing the camera, half-body shot, realistic candid feel."}
                ]
            }
        ]
    },
    "parameters": {
        "size": "2K",
        "n": 1
    }
}'
Response exampleSalin dan simpan task_id untuk menanyakan hasil pada langkah berikutnya.
{
    "request_id": "4909100c-7b5a-9f92-bfe5-xxxxxx",
    "output": {
        "task_id": "0385dc79-5ff8-4d82-bcb6-xxxxxx",
        "task_status": "PENDING"
    }
}
Input parameters
Saat memanggil model LoRA hasil fine-tuning, parameter input sama dengan parameter untuk Wan2.7 - image generation and editing.Tabel berikut hanya mencantumkan parameter kunci untuk pemanggilan model LoRA.

Field

Type

Required

Description

Example

model

string

Yes

Nama model. Anda harus menggunakan model hasil fine-tuning yang telah berhasil diterapkan dengan status RUNNING.

wan2.7-image-pro-xxxxxxxxxxxx

input.messages[].content[].text

string

Yes

Prompt teks. Kami merekomendasikan menyertakan kata pemicu untuk mengaktifkan gaya LoRA.

s86b5p, A person in a quiet private library on a peaceful afternoon...

parameters.size

string

No

Resolusi gambar output.

  • Opsi 1: Tentukan resolusi output (direkomendasikan)

    • Mendukung 1K, 2K (default), dan 4K

    • Mode yang berlaku:

      • Text-to-image: mendukung 1K, 2K, dan 4K.

      • Image editing: mendukung 1K dan 2K.

    • Total piksel per resolusi: 1K: 1024*1024, 2K: 2048*2048, 4K: 4096*4096

  • Opsi 2: Tentukan nilai piksel lebar dan tinggi

    • Text-to-image: Total piksel harus antara [768*768, 4096*4096], dengan rasio aspek [1:8, 8:1].

    • Image editing: Total piksel harus antara [768*768, 2048*2048], dengan rasio aspek [1:8, 8:1].

2K

parameters.n

integer

No

Jumlah gambar yang dihasilkan. Nilai valid: 1-4. Default: 1.

1

Poll status tugas menggunakan task_id hingga task_status berubah menjadi SUCCEEDED. Ambil URL gambar dari output.choices[].message.content[].image.Request example
Ganti 86ecf553-d340-4e21-xxxxxxxxx dengan task_id Anda yang sebenarnya.
curl -X GET https://dashscope-intl.aliyuncs.com/api/v1/tasks/86ecf553-d340-4e21-xxxxxxxxx \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"
Response example
URL gambar berlaku selama 24 jam. Unduh gambar segera.
{
    "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
    }
}

Build custom datasets

Selain menggunakan data contoh dalam dokumen ini untuk mencoba alur kerja fine-tuning, Anda juga dapat membuat dataset sendiri untuk fine-tuning. Dataset harus berisi set pelatihan (wajib) dan set validasi (opsional; mendukung pemisahan otomatis dari set pelatihan). Kemas semua file dalam format .zip. Nama file hanya boleh berisi karakter Inggris, angka, garis bawah, atau tanda hubung.

Dataset format

Training set: Required

  • Text-to-image
  • Image-to-image
  • Multi-image-to-image
Set pelatihan mencakup gambar target pelatihan dan file anotasi (data.jsonl).
wan-image-t2i-training-dataset.zip
├── data.jsonl      # Harus bernama data.jsonl, maksimum 20MB
├── 1_0.png         # Gambar target pelatihan, resolusi maks 4096*4096, maks 20MB per gambar, mendukung PNG/JPG/JPEG/WEBP/BMP
├── 1_1.png         # Nama file hanya mendukung karakter Inggris, struktur datar (tanpa subdirektori)
└── 1_2.png
  • File anotasi (data.jsonl): Setiap baris merepresentasikan satu sampel pelatihan dan harus berupa objek JSON.
{
  "prompt": "s86b5p, A person in a quiet private library on a peaceful afternoon, with tall dark walnut bookshelves behind them, sunlight streaming through venetian blinds casting striped shadows, wearing a soft beige cable-knit sweater, standing facing the camera, half-body shot, the image has a delicate film grain texture.",
  "img_path": "./1_0.png"
}
  • data.jsonl harus dalam format JSONL berbasis baris (satu objek JSON independen per baris). Menggunakan format array JSON (di mana karakter pertama file adalah [) tidak diperbolehkan.
  • File dalam paket zip harus ditempatkan dalam struktur datar. Subdirektori tidak diperbolehkan. Nama file hanya mendukung karakter Inggris (karakter Cina, spasi, dan karakter khusus tidak diperbolehkan).

Validation set: Optional

Set validasi mencakup file anotasi (data.jsonl) dan gambar referensi opsional (wajib untuk mode image-to-image). Gambar target tidak diperlukan. Pada setiap checkpoint evaluasi, pekerjaan pelatihan secara otomatis memanggil layanan model untuk menghasilkan gambar pratinjau menggunakan prompt (dan gambar referensi) dari set validasi.
wan-image-i2i-valid-dataset.zip
├── data.jsonl       # Harus bernama data.jsonl, maksimum 20MB
├── input_001.png    # Opsional, gambar referensi untuk mode image-to-image
└── input_002.png
  • File anotasi (data.jsonl): Setiap baris merepresentasikan satu sampel validasi dan harus berupa objek JSON.
    • Text-to-image
    • Image-to-image
    • Multi-image-to-image
    {
        "prompt": "s86b5p, A person in a crowded morning rush hour subway car, holding onto the handrail, with blurred passengers in the background and tunnel lights visible through the windows, wearing an ordinary office worker white shirt and black trousers, standing facing the camera, half-body shot, realistic candid feel."
    }
    

Data scale and limits

  • Data volume: Kami merekomendasikan menyediakan minimal 25 gambar (50 atau lebih direkomendasikan untuk hasil yang lebih baik). Gunakan karakter atau gaya yang sama di berbagai adegan dan sudut pandang dengan deskripsi konten yang konsisten.
  • Zip package: Saat mengunggah melalui API, ukuran total paket tidak boleh lebih dari 1 GB.
  • Training image requirements:
    • Format gambar yang didukung: BMP, JPEG, PNG, dan WEBP.
    • Resolusi gambar tidak boleh lebih dari 4096×4096.
    • Ukuran file gambar individual tidak boleh lebih dari 20 MB.

Data collection and cleaning

1. Determine the fine-tuning scenario
Wan mendukung skenario fine-tuning berikut untuk image generation:
  • IP character stylization: Latih model untuk mempelajari gaya menggambar karakter IP tertentu, seperti karakter anime atau gambar maskot.
  • Fixed visual style: Tingkatkan kemampuan model untuk mereproduksi gaya seni tertentu, seperti ilustrasi datar, lukisan tinta, atau seni piksel.
  • Specific scene generation: Replikasi pola komposisi atau templat adegan tertentu, seperti gambar tampilan produk atau tata letak poster.
2. Obtain raw materials
  • Generasi AI dan seleksi: Gunakan model dasar Wan untuk menghasilkan gambar secara massal, lalu pilih secara manual sampel berkualitas tinggi yang paling sesuai dengan efek target. Ini adalah metode yang paling umum digunakan.
  • Fotografi nyata: Jika tujuan Anda adalah mencapai adegan yang sangat realistis (seperti foto produk nyata atau fotografi potret), menggunakan rekaman hasil jepretan nyata adalah pilihan terbaik.
  • Rendering perangkat lunak 3D: Untuk adegan yang memerlukan kontrol detail halus atau gaya rendering 3D, kami merekomendasikan menggunakan perangkat lunak 3D (seperti Blender atau C4D) untuk membuat materi sumber.
3. Clean the data

Dimension

Best practice

Anti-pattern

Consistency

Fitur inti harus sangat konsisten.

Contoh: Saat melatih "gaya ilustrasi datar", semua gambar harus memiliki ketebalan garis dan skema warna yang sama.

Gaya campuran.

Dataset berisi gambar bergaya impasto dan bergaya datar. Model tidak dapat menentukan gaya mana yang harus dipelajari.

Diversity

Semakin beragam subjek dan adegan, semakin baik.

Cakup berbagai subjek (pria, wanita, lansia, anak-anak, kucing, anjing, bangunan) dan komposisi berbeda (shot panjang, close-up, extreme close-up). Resolusi dan rasio aspek juga harus bervariasi sebanyak mungkin.

Adegan atau subjek tunggal.

Semua gambar menunjukkan "seseorang berpakaian merah di depan dinding putih". Model mungkin salah mengira bahwa "pakaian merah" dan "dinding putih" adalah bagian dari gaya, dan gagal menghasilkan dengan benar di adegan berbeda.

Balance

Proporsi seimbang di seluruh jenis data.

Jika beberapa gaya disertakan, jumlahnya harus kira-kira sama.

Proporsi sangat tidak seimbang.

90% adalah gambar potret dan 10% adalah gambar lanskap. Model mungkin berkinerja buruk saat menghasilkan gambar lanskap.

Cleanliness

Gambar bersih dan jelas.

Gunakan materi asli tanpa gangguan.

Berisi elemen gangguan.

Gambar berisi watermark, batas hitam jelas, atau noise. Model mungkin mempelajari watermark sebagai bagian dari gaya.

Resolution

Resolusi moderat.

Kami merekomendasikan resolusi gambar pelatihan tidak melebihi 2048×2048. Gambar yang terlalu besar meningkatkan waktu pelatihan.

Resolusi bervariasi terlalu lebar.

Memiliki gambar kecil 256×256 dan gambar besar 4096×4096 dalam set pelatihan memengaruhi stabilitas pelatihan.

Image annotation: Writing prompts for images

Dalam file anotasi dataset (data.jsonl), setiap gambar memiliki prompt yang sesuai. Prompt tersebut menggambarkan konten gambar target. Kualitas prompt secara langsung menentukan apa yang dipelajari model.

Prompt writing formula

Prompt = [Subject description] + [Background description] + [Trigger word] + [Style description]

Prompt component

Description

Recommendation

Example

Subject description

Menggambarkan orang atau objek dalam gambar

Wajib

A young woman wearing a red Chinese-style long shirt...

Background description

Menggambarkan lingkungan tempat subjek berada

Wajib

The background is a brick wall covered with green vines...

Trigger word

Kata langka yang tidak memiliki makna sebenarnya

Direkomendasikan

s86b5p atau m01aa

Style description

Menggambarkan gaya seni dan karakteristik visual gambar target secara detail

Direkomendasikan

Rendered in flat illustration style with clean flowing lines and vivid flat colors to emphasize three-dimensionality and modern design aesthetics.

About trigger words

  • Apa itu kata pemicu? Berfungsi sebagai "jangkar visual". Karena banyak gaya visual kompleks (seperti tekstur gambar unik atau skema warna tertentu) sulit dijelaskan secara tepat dalam teks, kata pemicu secara eksplisit memberi tahu model: ketika Anda melihat s86b5p, Anda harus menghasilkan gaya visual spesifik ini.
  • Mengapa menggunakannya? Fine-tuning model membentuk pemetaan antara "teks" dan "fitur gambar". Kata pemicu mengikat "gaya yang tidak dapat dijelaskan" ke kata unik, memungkinkan model mengunci target tersebut.
  • Jika kita sudah memiliki kata pemicu, mengapa masih perlu menggambarkan gayanya secara detail? Keduanya memiliki tujuan berbeda dan bekerja lebih baik bersama.
    • Deskripsi gaya: Menjelaskan "seperti apa gambar seharusnya". Memberi tahu model gaya seni dasar dan karakteristik visual. Deskripsi gaya biasanya konsisten di berbagai sampel.
    • Kata pemicu: Menjelaskan "seperti apa tampilan spesifik gaya tersebut". Mewakili karakteristik visual unik yang tidak dapat dijelaskan secara tepat dalam teks.

Evaluate models with validation sets

Specify the validation set

Pekerjaan fine-tuning harus mencakup set pelatihan, sedangkan set validasi opsional. Anda dapat memilih agar sistem secara otomatis membagi atau mengunggah secara manual set validasi. Metode spesifiknya sebagai berikut:
Metode 1: Tidak mengunggah set validasi (pembagian otomatis sistem)
Saat Video and image generation model fine-tuning API, jika tidak mengunggah set validasi secara terpisah (yaitu, parameter validation_file_ids tidak diberikan), sistem membagi set validasi dari set pelatihan berdasarkan split, yang default-nya 0,9. Artinya, 90% digunakan untuk pelatihan dan 10% untuk validasi.
Metode 2: Mengunggah set validasi secara manual (ditentukan melalui validation_file_ids)
Jika Anda ingin menggunakan data yang telah Anda siapkan sendiri untuk mengevaluasi checkpoint alih-alih mengandalkan pembagian acak sistem, Anda dapat mengunggah set validasi kustom. Catatan: Setelah Anda memilih untuk mengunggah secara manual, sistem sepenuhnya mengabaikan aturan pembagian otomatis di atas dan hanya menggunakan data yang Anda unggah untuk validasi.

Prosedur: Mengunggah set validasi secara manual

  1. Siapkan set validasi: Kemas data validasi ke dalam file .zip terpisah. Lihat Validation set format.
  2. Unggah set validasi: Panggil API Video and image generation model fine-tuning API untuk mengunggah file .zip set validasi ini dan peroleh ID file khusus.
  3. Tentukan set validasi saat membuat pekerjaan: Saat memanggil API Video and image generation model fine-tuning API, isi ID file ini dalam parameter validation_file_ids.
{
    "model":"wan2.7-image-pro",
    "training_file_ids":[ "<training_set_file_id>" ],
    "validation_file_ids": [ "<custom_validation_set_file_id>" ],
    ...
}

Select the best checkpoint for deployment

Selama pelatihan, sistem secara berkala menyimpan "snapshot" model (yaitu, checkpoint). Secara default, sistem mengeluarkan checkpoint terakhir sebagai model hasil fine-tuning akhir. Namun, checkpoint yang dihasilkan selama tahap antara mungkin berkinerja lebih baik daripada versi akhir. Anda dapat memilih yang paling memuaskan untuk diterapkan. Sistem menjalankan checkpoint pada set validasi dan menghasilkan gambar pratinjau pada interval yang ditetapkan oleh Hyperparameters (hyper_parameters) eval_steps.
  • Cara mengevaluasi: Nilai hasilnya dengan langsung mengamati gambar pratinjau yang dihasilkan.
  • Kriteria seleksi: Temukan checkpoint dengan hasil terbaik dan gaya yang paling sesuai.

Procedure

Langkah 1.1: Tanyakan daftar checkpoint yang telah divalidasi
API ini hanya mengembalikan checkpoint yang telah lulus validasi dan berhasil menghasilkan gambar pratinjau. Checkpoint yang gagal validasi tidak tercantum.Request example
  • <replace_with_fine_tuning_job_id>: Ganti sepenuhnya dengan parameter output job_id dari Video and image generation model fine-tuning API.
curl --location 'https://dashscope.aliyuncs.com/api/v1/fine-tunes/<replace_with_fine_tuning_job_id>/validation-results' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json'
Response exampleAPI ini mengembalikan daftar yang hanya berisi nama checkpoint yang berhasil lulus validasi.
{
    "request_id": "da1310f5-5a21-4e29-99d4-xxxxxx",
    "output": [
        {
            "checkpoint": "checkpoint-160"
        },
        ...
    ]
}
Langkah 1.2: Tanyakan hasil set validasi untuk suatu checkpoint
Pilih checkpoint dari daftar yang dikembalikan pada langkah sebelumnya (misalnya, "checkpoint-160") dan lihat hasil gambar yang dihasilkan.Request example
  • <replace_with_fine_tuning_job_id>: Ganti sepenuhnya dengan nilai job_id dari output Create a fine-tuning job.
  • <replace_with_checkpoint_to_export>: Ganti sepenuhnya dengan nilai checkpoint, misalnya "checkpoint-160".
curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes/<replace_with_fine_tuning_job_id>/validation-details/<replace_with_checkpoint_to_export>?page_no=1&page_size=10' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"
Response exampleURL gambar pratinjau berada di bidang img_path dan berlaku selama 24 jam. Unduh gambar segera untuk meninjau hasilnya. Ulangi langkah ini untuk membandingkan hasil beberapa checkpoint dan temukan yang paling memuaskan.
{
    "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"
            },
            ...
        ]
    }
}
Langkah 2.1: Ekspor model
Asumsikan "checkpoint-160" memiliki hasil terbaik, langkah selanjutnya adalah mengekspornya.Request example
  • <replace_with_fine_tuning_job_id>: Ganti sepenuhnya dengan nilai job_id dari output Create a fine-tuning job.
  • <replace_with_checkpoint_to_export>: Ganti sepenuhnya dengan nilai checkpoint, misalnya "checkpoint-160".
  • <replace_with_exported_model_display_name>: Ganti sepenuhnya dengan nama model kustom yang hanya digunakan untuk tampilan konsol, misalnya "wan2.5-checkpoint-160". Nama ini harus unik secara global. Mengekspor dengan nama duplikat tidak didukung. Untuk detail parameter, lihat 3. Export a checkpoint.
curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes/<replace_with_fine_tuning_job_id>/export/<replace_with_checkpoint_to_export>?model_name=<replace_with_exported_model_display_name>' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"
Response exampleParameter respons output=true menunjukkan bahwa permintaan ekspor telah berhasil dibuat.
{
    "request_id": "0817d1ed-b6b6-4383-9650-xxxxx",
    "output": true
}
Langkah 2.2: Tanyakan nama model baru untuk penerapan
Tanyakan status semua checkpoint, pastikan ekspor selesai, dan peroleh nama model baru khusus (model_name) untuk penerapan.Request example
curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes/<replace_with_fine_tuning_job_id>/checkpoints' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"
Response exampleTemukan checkpoint yang diekspor (seperti checkpoint-160) dalam daftar yang dikembalikan. Ketika status-nya berubah menjadi SUCCEEDED, ekspor berhasil. Bidang model_name yang dikembalikan pada titik ini adalah nama model baru setelah ekspor.
{
    "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", // Bidang penting, digunakan untuk penerapan dan pemanggilan model
            "model_display_name": "xxxx-ft-202511111122-xxxx",
            "status": "SUCCEEDED" // Checkpoint berhasil diekspor
        },
        ...

    ]
}
Setelah berhasil mengekspor checkpoint dan memperoleh model_name, ikuti langkah-langkah berikut untuk operasi selanjutnya:
  • Model deployment: Isi parameter input model_name dengan nilai spesifik yang diperoleh setelah ekspor.
  • Model invocation: Ikuti dokumentasi API untuk memanggil model yang diterapkan.

Billing

  • Model training: Charged.
    • Biaya = Total token pelatihan × Harga satuan. Lihat Training and deployment pricing.
    • Setelah pelatihan selesai, periksa jumlah total token yang dikonsumsi selama pelatihan dalam bidang usage dari API Retrieve a fine-tuning job.
    Tabel berikut mencantumkan jumlah langkah pelatihan dan perkiraan biaya untuk wan2.7-image, wan2.7-image-pro. Data ini hanya untuk referensi. Hasil pelatihan aktual mengikuti pengiriman akhir, dan biaya mengikuti tagihan resmi. Untuk rumus penagihan detail, lihat Training and deployment pricing.

    generation_type

    Image Resolution

    Common Step Count

    Estimated Token Consumption

    Estimated Cost

    t2i (text-to-image)

    1K

    500

    6.400.000

    $96

    1.000

    12.800.000

    $192

    2.000

    25.600.000

    $384

    2K

    500

    11.610.000

    $174,15

    1.000

    23.220.000

    $348,3

    2.000

    46.440.000

    $696,6

    i2i (image-to-image)

    1K

    500

    11.610.000

    $174,15

    1.000

    23.220.000

    $348,3

    2.000

    46.440.000

    $696,6

    2K

    500

    16.000.000

    $240

    1.000

    32.000.000

    $480

    2.000

    64.000.000

    $960

  • Model deployment and invocation: Penerapan gratis. Pemanggilan dikenai biaya sesuai tarif standar model dasar hasil fine-tuning.

    Model ID

    LoRA Deployment &amp; Invocation Price

    wan2.7-image-pro

    $0,075/image

    wan2.7-image

    $0,03/image

API reference

Video and image generation model fine-tuning API

FAQ

Q: How do I design a good trigger word?

A: Aturannya sebagai berikut:
  • Kami merekomendasikan menggunakan kombinasi karakter langka yang tidak memiliki makna semantik sebenarnya, seperti s86b5p, m01aa, atau EVEAven638123. Pastikan tidak ada makna semantik dalam kosakata model dasar.
  • Hindari menggunakan kata bahasa Inggris umum (seperti beautiful, fire, atau dance), karena hal ini akan mencemari pemahaman asli model terhadap kata-kata tersebut.
Rencana Token (Team Edition)
Model playground
  • Pembuatan audio
  • Pembuatan musik
Statistik dan Pemantauan
Asset Center
Dukungan layanan
Fine-tune image generation models - Alibaba Cloud Model Studio