すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud Model Studio:画像生成モデルのファインチューニング

最終更新日:Jul 11, 2026

Wan を使用して画像生成を行う際、Text-to-Image プロンプトガイドでは特定のスタイル、IP キャラクター、またはビジュアルエフェクトのカスタマイズができない場合は、モデルファインチューニングを使用します。

範囲

  • 対応リージョン:このドキュメントはシンガポール リージョンにのみ適用されます。このリージョンの API キー を使用する必要があります。

  • 対応ファインチューニング方法:SFT-LoRA 効率的なファインチューニング。

  • 対応モデル

    • 画像生成 (text-to-image/image-to-image):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 キーの取得および 環境変数としての API キーの設定を行ってください。

ステップ 1:データセットのアップロード

ローカルのデータセット (.zip 形式) を Alibaba Cloud Model Studio プラットフォームにアップロードし、ファイル 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 を使用して、トレーニングジョブを開始します。

リクエスト例

<replace_with_training_dataset_file_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": "<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
    }
}'
説明

トレーニング時間の目安

  • テキストから画像 (t2i):300 ステップで約 77 分。

  • 画像から画像 (i2i):300 ステップで約 110 分。

レスポンス例

output フィールドの 3 つの主要なパラメータに注目してください。

  • 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 を使用して、ジョブの進捗状況を照会します。statusSUCCEEDED に変わるまで、以下の API をポーリングしてください。

リクエスト例

URL 内の <replace_with_fine_tuning_job_id>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'

レスポンス例

output フィールドの 2 つのパラメータに注目してください。

  • status:その値が SUCCEEDED に変わると、モデルのトレーニングが完了し、モデルのデプロイメントに進むことができます。

  • usage:モデルトレーニング中に消費されたトークンの合計数。課金のために使用されます。

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

ステップ 3:ファインチューニング済みモデルのデプロイ

ステップ 3.1:モデルのオンラインサービスへのデプロイ

ファインチューニングジョブのステータスが SUCCEEDED に変わったら、モデルをオンラインサービスとしてデプロイします。

リクエスト例

<replace_with_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": "<replace_with_model_name>",
    "capacity": 1,
    "plan": "lora"
}'

レスポンス例

output フィールドの 2 つのパラメータに注目してください。

  • deployed_model:デプロイ済みモデル名。デプロイメントステータスの照会とモデルの呼び出しに使用します。

  • status:モデルのデプロイメントステータス。ファインチューニング済みモデルのデプロイ後、初期ステータスは PENDING であり、デプロイメントがまだ開始されていないことを示します。

{
    ...
    "output": {
        "deployed_model": "wan2.7-image-pro-xxxxxxxxxxxx",
        "status": "PENDING",
        ...
    }
}
ステップ 3.2:デプロイメントステータスの照会

デプロイメントステータスを照会します。statusRUNNING に変わるまで、以下の API をポーリングしてください。

説明

この例のファインチューニング済みモデルの場合、デプロイメントプロセスには約 5〜10 分かかります。

リクエスト例

<replace_with_deployed_model> をステップ 3.1 の出力から取得した deployed_model の値に置き換えてください。

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' 

レスポンス例

output フィールドの 2 つのパラメータに注目してください。

  • status:ステータスが RUNNING に変わると、モデルが正常にデプロイされており、呼び出しを開始できます。

  • deployed_model:デプロイ済みモデル名。

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

ステップ 4:モデルの呼び出しによる画像生成

モデルが正常にデプロイされた後 (デプロイメントのstatusRUNNING)、呼び出しを開始できます。

説明

現在デプロイされているモデルは 非同期呼び出し のみをサポートしており、message.contenttype フィールドはありません。

ステップ 4.1:画像生成タスクの作成と task_id の取得

リクエスト例

<replace_with_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": "<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
    }
}'

画像から画像

リファレンス画像と編集指示を指定します。モデルは、トレーニング済みスタイルで、リファレンス画像に基づいた画像を生成します。

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": [
                    {"image": "<replace_with_reference_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 モデルを呼び出す場合、入力パラメータは Wan2.7 - 画像生成と編集のものと同じです。

以下の表には、LoRA モデル呼び出しの 主要なパラメータ のみを記載しています。

フィールド

タイプ

必須

説明

model

string

Yes

モデル名。デプロイが完了し、ステータスが RUNNING になっているファインチューニング済みモデルを使用する必要があります。

wan2.7-image-pro-xxxxxxxxxxxx

input.messages[].content[].text

string

Yes

テキストプロンプト。LoRA スタイルを有効にするために、トリガーワードを含めることを推奨します。

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

parameters.size

string

No

出力画像の解像度。

  • オプション 1:出力解像度の指定 (推奨します)

    • 1K、2K (デフォルト)、4K をサポート

    • 適用モード

      • テキストから画像:1K、2K、4K をサポート。

      • 画像から画像:1K、2K をサポート。

    • 解像度ごとの総ピクセル数:1K:1024*1024、2K:2048*2048、4K:4096*4096

  • オプション 2:幅と高さのピクセル値の指定

    • テキストから画像:総ピクセル数が [768*768, 4096*4096] の範囲内、アスペクト比が [1:8, 8:1] の範囲内である必要があります。

    • 画像から画像:総ピクセル数が [768*768, 2048*2048] の範囲内、アスペクト比が [1:8, 8:1] の範囲内である必要があります。

2K

parameters.n

integer

No

生成する画像の数。有効な値: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 形式でパッケージ化してください。ファイル名には、英字、数字、アンダースコア、ハイフンのみを使用できます。

データセット形式

トレーニングセット:必須

Text-to-Image

トレーニングセットには、トレーニングターゲット画像とアノテーションファイル (data.jsonl) が含まれます。

  • トレーニングセットのサンプル:wan-image-t2i-training-dataset.zip

  • ZIP パッケージのディレクトリ構造:

    wan-image-t2i-training-dataset.zip
    ├── data.jsonl      # data.jsonl という名前にする必要があります。最大 20 MB
    ├── 1_0.png         # トレーニングターゲット画像、最大解像度 4096*4096、画像 1 枚あたり最大 20 MB、PNG/JPG/JPEG/WEBP/BMP をサポート
    ├── 1_1.png         # ファイル名は英字のみをサポートします。フラットな構造 (サブディレクトリなし) にしてください
    └── 1_2.png
  • アノテーションファイル (data.jsonl):各行は 1 つのトレーニングサンプルを表し、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"
    }

Image-to-Image

トレーニングセットには、参照画像 (入力)、トレーニングターゲット画像 (出力)、およびアノテーションファイル (data.jsonl) が含まれます。

  • トレーニングセットのサンプル:wan-image-i2i-training-dataset.zip

  • ZIP パッケージのディレクトリ構造:

    wan-image-i2i-training-dataset.zip
    ├── data.jsonl      # data.jsonl という名前にする必要があります。最大 20 MB
    ├── 1_0.jpg         # トレーニングターゲット画像 (出力)
    ├── 1_1.jpg         # 参照画像 (入力)
    ├── 6_0.jpg         # トレーニングターゲット画像 (出力)
    └── 6_1.jpg         # 参照画像 (入力)
  • アノテーションファイル (data.jsonl):各行は 1 つのトレーニングサンプルを表し、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"
    }

Multi-image-to-image

トレーニングセットには、複数の参照画像 (入力)、トレーニングターゲット画像 (出力)、およびアノテーションファイル (data.jsonl) が含まれます。単一の Image-to-Image とは異なり、Multi-image-to-image は複数の参照画像を同時に入力できます (例:キャラクター写真 + ポーズ画像、最大 9 枚の参照画像)。モデルは、すべての参照画像からの組み合わせ情報に基づいてターゲット画像を生成します。

  • トレーニングセットのサンプル:

  • ZIP パッケージのディレクトリ構造:

    wan-image-multi-i2i-training-dataset.zip
    ├── data.jsonl      # data.jsonl という名前にする必要があります。最大 20 MB
    ├── 1_0.jpg         # トレーニングターゲット画像 (出力)
    ├── 1_ref.jpg       # 参照画像 1 (例:キャラクター写真)
    ├── 1_pose.jpg      # 参照画像 2 (例:ポーズ画像)
    ├── 6_0.jpg         # トレーニングターゲット画像 (出力)
    ├── 6_ref.jpg       # 参照画像 1
    └── 6_pose.jpg      # 参照画像 2
  • アノテーションファイル (data.jsonl):各行は 1 つのトレーニングサンプルを表し、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"
    }
説明
  • Multi-image-to-image は input_imgs (配列) を使用しますが、単一の Image-to-Image は input_img (文字列) を使用します。この違いにご注意ください。

  • input_imgs 配列内の画像の順序は、トレーニングの意図と一貫させる必要があります (例:最初の画像をキャラクター参照、2 番目をポーズ参照として使用)。

  • input_imgs では最大 9 枚の参照画像を指定できます。

説明
  • data.jsonl は行区切りの JSONL 形式 (1 行に 1 つの独立した JSON オブジェクト) にする必要があります。JSON 配列形式 (ファイルの最初の文字が [) の使用は許可されていません

  • ZIP パッケージ内のファイルは、フラットな構造で配置する必要があります。サブディレクトリは許可されていません。ファイル名では英字のみが使用可能です (中国語文字、スペース、特殊文字は使用できません)。

検証セット:オプション

検証セットには、アノテーションファイル (data.jsonl) とオプションの参照画像 (Image-to-Image モードでは必須) が含まれます。ターゲット画像は不要です。各評価チェックポイントで、トレーニングジョブは自動的にモデルサービスを呼び出し、検証セットのプロンプト (および参照画像) を使用してプレビュー画像を生成します。

  • 検証セット

  • ZIP パッケージのディレクトリ構造:

    wan-image-i2i-valid-dataset.zip
    ├── data.jsonl       # data.jsonl という名前にする必要があります。最大 20 MB
    ├── input_001.png    # Image-to-Image モード用の参照画像 (オプション)
    └── input_002.png
  • アノテーションファイル (data.jsonl):各行は 1 つの検証サンプルを表し、JSON オブジェクトである必要があります。

    Text-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."
    }

    Image-to-Image

    {
        "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"
    }

    Multi-image-to-image

    Multi-image-to-image 検証セットは、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 経由でアップロードする場合、パッケージの合計サイズは 1 GB 以下である必要があります。

  • トレーニング画像の要件

    • サポートされている画像形式:BMP、JPEG、JPG、PNG、WEBP。

    • 画像の解像度は 4096×4096 以下である必要があります。

    • 個々の画像ファイルのサイズは 20 MB 以下である必要があります。

データ収集とクリーニング

1. ファインチューニングシナリオの決定

Wan は、画像生成に関する以下のファインチューニングシナリオをサポートしています。

  • IP キャラクターのスタイル化:アニメキャラクターやマスコット画像など、特定の IP キャラクターの描画スタイルをモデルに学習させます。

  • 固定されたビジュアルスタイル:フラットイラスト、水墨画、ピクセルアートなど、特定のアートスタイルを再現するモデルの能力を向上させます。

  • 特定シーンの生成:商品展示画像やポスターレイアウトなど、特定の構図パターンやシーンテンプレートを再現します。

2. 素材の取得
  • AI 生成と選択:Wan ベースモデルを使用して画像を一括生成し、目的の効果に最も一致する高品質なサンプルを手動で選択します。これが最も一般的に使用される方法です。

  • 実写撮影:高度にリアルなシーン (実際の商品写真や人物写真など) を実現することが目標の場合、実写素材を使用するのが最良の選択です。

  • 3D ソフトウェアレンダリング:細部の制御や 3D レンダリングスタイルが必要なシーンの場合、3D ソフトウェア (Blender や C4D など) を使用して素材を作成することを推奨します。

3. データクリーニング

観点

ベストプラクティス

アンチパターン

一貫性

コアとなる特徴は、高い一貫性を持つ必要があります

例: 「フラットイラストスタイル」をトレーニングする場合、すべての画像は同じ線の太さと配色を共有する必要があります。

混合スタイル

データセットに厚塗りスタイルとフラットスタイルの両方の画像が含まれています。モデルはどのスタイルを学習すべきか判断できません。

多様性

被写体とシーンは多様であるほど望ましいです

さまざまな被写体 (男性、女性、高齢者、子供、猫、犬、建物) とさまざまな構図 (ロングショット、クローズアップ、エクストリームクローズアップ) をカバーします。解像度とアスペクト比もできるだけ多様にする必要があります。

単一のシーンまたは被写体

すべての画像が「白い壁を背景に赤い服を着た人物」を示しています。モデルは「赤い服」と「白い壁」がスタイルの一部であると誤って学習し、異なるシーンで正しく生成できない可能性があります。

バランス

データタイプ間でバランスの取れた割合

複数のスタイルが含まれる場合、数量はほぼ同じである必要があります。

著しく不均衡な割合

90% がポートレート画像で、10% が風景画像です。モデルは風景画像を生成する際にパフォーマンスが低下する可能性があります。

クリーンさ

クリーンで鮮明な画像

邪魔な要素のない元の素材を使用します。

邪魔な要素が含まれている

画像にウォーターマーク、目立つ黒い枠線、またはノイズが含まれています。モデルはウォーターマークをスタイルの一部として学習する可能性があります

解像度

適度な解像度

トレーニング画像の解像度は 2048×2048 を超えないことを推奨します。過度に大きな画像はトレーニング時間を増加させます。

解像度の変動が大きすぎる

トレーニングセットに 256×256 の小さな画像と 4096×4096 の大きな画像の両方が含まれていると、トレーニングの安定性に影響を及ぼします。

画像アノテーション:画像のプロンプトの記述

データセットアノテーションファイル (data.jsonl) では、各画像に対応するプロンプトがあります。プロンプトは ターゲット画像 の内容を記述します。プロンプトの品質は、モデルが何を学習するかを直接的に左右します。

プロンプトの記述形式

プロンプト = [被写体の説明] + [背景の説明] + [トリガーワード] + [スタイルの説明]

プロンプトの構成要素

説明

推奨

被写体の説明

画像内の人物または物体を説明します

必須

赤い中国風のロングシャツを着た若い女性...

背景の説明

被写体が存在する環境を説明します

必須

背景は緑のつるに覆われたレンガの壁...

トリガーワード

実際の意味を持たない珍しい単語

推奨

s86b5p または m01aa

スタイルの説明

ターゲット画像のアートスタイルと視覚的特性を詳細に説明します

推奨

フラットイラストスタイルでレンダリングし、クリーンで流れるような線と鮮やかなフラットカラーによって、立体感とモダンなデザインの美しさを強調します。

トリガーワードについて
  • トリガーワードとは?

    「視覚的なアンカー」として機能します。多くの複雑な視覚スタイル (独特な画像のテクスチャや特定の配色など) はテキストで正確に記述することが難しいため、トリガーワードは、「s86b5p を見たら、この特定の視覚スタイルを生成するように」とモデルに明示的に指示します。

  • なぜ使用するのか?

    モデルのファインチューニングでは、「テキスト」と「画像の特徴」の間の関連付けが行われます。トリガーワードは、「記述できないスタイル」を一意の単語にバインドし、モデルがターゲットを特定できるようにします。

  • トリガーワードがあるのに、なぜスタイルを詳細に説明する必要があるのか?

    両者は目的が異なり、組み合わせることでより効果的に機能します。

    • スタイルの説明:「画像がどのように見えるべきか」を説明するものです。モデルに基本的なアートスタイルと視覚的特性を伝えます。スタイルの説明は通常、複数のサンプルで一貫しています。

    • トリガーワード:「スタイルが具体的にどのように見えるか」を説明するものです。テキストで正確に記述できない独特の視覚的特性を表します。

検証データセットによるモデルの評価

検証データセットの指定

ファインチューニングジョブにはトレーニングセットが必須ですが、検証データセットはオプションです。システムによる自動分割、または検証データセットの手動アップロードを選択できます。具体的な方法は以下の通りです。

方法1:検証データセットをアップロードしない (システムによる自動分割)

動画および画像生成モデルファインチューニング API を使用する際、検証データセットを個別にアップロードしない場合 (つまり、validation_file_ids パラメーターを指定しない場合) 、システムは split に基づいてトレーニングセットから検証データセットを分割します。デフォルトは 0.9 で、これは 90% がトレーニングに、10% が検証に使用されることを意味します。

方法2:検証データセットを手動でアップロードする (validation_file_ids で指定)

システムのランダム分割に依存せず、独自に準備したデータを使用してチェックポイントを評価したい場合は、カスタム検証データセットをアップロードできます。

注:手動アップロードを選択すると、システムは上記の自動分割ルールを完全に無視し、アップロードされたデータのみを検証に使用します。

手順:検証データセットを手動でアップロードする

  1. 検証データセットの準備:検証データを個別の .zip ファイルにパッケージ化します。詳細については、「検証データセットの形式」をご参照ください。

  2. 検証データセットのアップロード動画および画像生成モデルファインチューニング API を呼び出して、この検証データセットの .zip ファイルをアップロードし、専用のファイル ID を取得します。

  3. ジョブ作成時に検証データセットを指定動画および画像生成モデルファインチューニング API を呼び出す際、validation_file_ids パラメーターにこのファイル ID を入力します。

    {
        "model":"wan2.7-image-pro",
        "training_file_ids":[ "<training_set_file_id>" ],
        "validation_file_ids": [ "<custom_validation_set_file_id>" ],
        ...
    }

デプロイメントに最適なチェックポイントの選択

トレーニング中、システムは定期的にモデルのスナップショット (すなわちチェックポイント) を保存します。デフォルトでは、システムは最後のチェックポイントを最終的なファインチューニング済みモデルとして出力します。ただし、中間段階で生成されたチェックポイントが最終バージョンよりも優れたパフォーマンスを発揮する場合があります。最も満足のいくものを選択してデプロイできます。

システムは、ハイパーパラメータ (hyper_parameters)eval_steps で設定された間隔で、検証データセットに対してチェックポイントを実行し、プレビュー画像を生成します。

  • 評価方法:生成されたプレビュー画像を直接観察して結果を判断します。

  • 選択基準:最も良い結果を出し、スタイルが最も近く一致するチェックポイントを見つけます。

操作手順

ステップ1:チェックポイントによって生成されたプレビュー結果の表示
ステップ1.1:検証済みチェックポイントのリストの照会

この 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' 

応答例

この API は、検証に合格したチェックポイントの名前のリストを返します。

{
    "request_id": "da1310f5-5a21-4e29-99d4-xxxxxx",
    "output": [
        {
            "checkpoint": "checkpoint-160"
        },
        ...
    ]
}
ステップ1.2:チェックポイントの検証結果の照会

前のステップで返されたリストからチェックポイント (例:「checkpoint-160」) を選択し、生成された画像結果を表示します。

リクエスト例

  • <replace_with_fine_tuning_job_id>ファインチューニングジョブの作成の出力から取得した job_id の値に置き換えてください。

  • <replace_with_checkpoint_to_export>:チェックポイントの値 (例:「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"

応答例

プレビュー画像の URL は img_path フィールドにあり、有効期間は 24 時間です。結果を確認するために、速やかに画像をダウンロードしてください。このステップを繰り返して複数のチェックポイントの結果を比較し、最も満足のいくものを見つけてください。

{
    "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:チェックポイントのエクスポートとデプロイ用モデル名の取得
ステップ2.1:モデルのエクスポート

「checkpoint-160」が最良の結果であると仮定し、次にこれをエクスポートします。

リクエスト例

  • <replace_with_fine_tuning_job_id>ファインチューニングジョブの作成の出力から取得した job_id の値に置き換えてください。

  • <replace_with_checkpoint_to_export>:チェックポイントの値 (例:「checkpoint-160」) に置き換えてください。

  • <replace_with_exported_model_display_name>:コンソール表示にのみ使用されるカスタムモデル名 (例:「wan2.5-checkpoint-160」) に置き換えてください。この名前はグローバルに一意である必要があります。重複する名前でのエクスポートはサポートされていません。パラメーターの詳細については、「3. チェックポイントのエクスポート」をご参照ください。

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"

応答例

応答パラメーター output=true は、エクスポートリクエストが正常に作成されたことを示します。

{
    "request_id": "0817d1ed-b6b6-4383-9650-xxxxx",
    "output": true
}
ステップ2.2:デプロイ用の新しいモデル名の照会

すべてのチェックポイントのステータスを照会し、エクスポートが完了したことを確認して、デプロイ専用の新しいモデル名 (model_name) を取得します。

リクエスト例

curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes/<replace_with_fine_tuning_job_id>/checkpoints' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"

応答例

返されたリストでエクスポートされたチェックポイント (checkpoint-160 など) を見つけてください。その statusSUCCEEDED に変わると、エクスポートは成功です。この時点で返される 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" // チェックポイントのエクスポートに成功
        },
        ...

    ]
}
ステップ3:モデルデプロイと呼び出し

チェックポイントのエクスポートに成功し、model_name を取得した後、以下の手順で後続の操作を行ってください。

  • モデルデプロイmodel_name 入力パラメーターに、エクスポート後に取得した具体的な値を入力します。

  • モデルの呼び出し:API ドキュメントに従って、デプロイされたモデルを呼び出します。

課金

  • モデルトレーニング:有料。

    次の表は、wan2.7-image、wan2.7-image-pro のトレーニングステップ数と推定コストを示しています。このデータは参考用です。実際のトレーニング結果は最終的な納品内容に基づき、コストは公式の請求書に基づきます。詳細な課金計算式については、「トレーニングとデプロイメントの料金」をご参照ください。

    generation_type

    画像解像度

    一般的なステップ数

    推定トークン消費量

    推定コスト (USD)

    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

  • モデルのデプロイと呼び出し:デプロイメントは無料です。呼び出しは、ファインチューニング済みベースモデルの標準料金で課金されます。

    モデル ID

    LoRA デプロイメントと呼び出し料金

    wan2.7-image-pro

    0.075 ドル/画像

    wan2.7-image

    0.03 ドル/画像

API リファレンス

動画・画像生成モデルファインチューニング API

よくある質問

Q:良いトリガーワードを作成するにはどうすればよいですか?

A:ルールは以下の通りです:

  • s86b5p、m01aa、または EVEAven6s8123 のように、実際には意味的な意味を持たない珍しい文字の組み合わせを使用することを推奨します。ベースモデルの語彙において、その文字の組み合わせが意味的な意味を持たないことを確認してください。

  • 一般的な英単語 (例:beautiful、fire、dance) の使用は避けてください。これは、これらの単語に対するモデルの本来の理解を汚染するためです。