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

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

最終更新日:Mar 01, 2026

Wan を 画像→動画 に使用する場合、プロンプト最適化公式の動画エフェクト を適用しても、特定の動作、エフェクト、またはスタイル に関するカスタマイズ要件を満たせない場合は、モデルのファインチューニング を実行してください。

適用性

  • 対応するデプロイモードおよびリージョン:本ドキュメントは、国際デプロイモード のシンガポールリージョンでのみ有効です。このリージョンでは、Model Studio API キー を使用する必要があります。

  • 対応するファインチューニング手法:LoRA を用いた効率的な SFT。

  • 対応するファインチューニング対象モデル

    • 最初のフレームに基づく画像→動画:wan2.6-i2v、wan2.5-i2v-preview、wan2.2-i2v-flash。

    • 最初および最後のフレームに基づく画像→動画:wan2.2-kf2v-flash。

モデルのファインチューニング手順

最初のフレームに基づく画像→動画

ファインチューニング目標:「マネーレイン」エフェクト用 LoRA モデルの学習

期待される結果:最初のフレーム画像を入力すると、プロンプトを指定しなくても「マネーレイン」エフェクトを備えた動画を自動生成します。

入力:最初のフレーム画像

image_3

出力動画(ファインチューニング前)

プロンプトでは、固定された動きで一貫して「マネーレイン」エフェクトを生成できません。動きは制御不能です。

出力動画(ファインチューニング後)

ファインチューニング済みモデルは、トレーニングセットからプロンプトを指定せずに特定の「マネーレイン」エフェクトを安定して再現できます。

最初および最後のフレームに基づく画像→動画

ファインチューニング目標:「ファッション雑誌」エフェクト用 LoRA モデルの学習。

期待される結果:最初および最後のフレーム画像を入力すると、プロンプトを指定しなくても「ファッション雑誌」エフェクトを備えた動画を自動生成します。

入力:最初のフレーム画像

3_first

入力:最後のフレーム画像

3_last

出力動画(ファインチューニング前)

プロンプトでは、固定された動きで一貫して「ファッション雑誌」エフェクトを生成できません。動きは制御不能です。

出力動画(ファインチューニング後)

ファインチューニング済みモデルは、トレーニングセットからプロンプトを指定せずに特定の「ファッション雑誌」エフェクトを安定して再現できます。

以下のコードを実行する前に、Model Studio 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-i2v-training-dataset.zip"' \
--form 'purpose="fine-tune"'

レスポンス例

id を保存してください。これはアップロードされたデータセットの固有識別子です。

{
    "id": "file-ft-b2416bacc4d742xxxx",
    "object": "file",
    "bytes": 73310369,
    "filename": "wan-i2v-training-dataset.zip",
    "purpose": "fine-tune",
    "status": "processed",
    "created_at": 1766127125
}

ステップ 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.6-i2v",
    "training_file_ids":[
        "<replace_with_training_dataset_file_id>"
    ],
    "training_type":"efficient_sft",
    "hyper_parameters":{
        "n_epochs":400,
        "batch_size":2,
        "learning_rate":2e-5,
        "split":0.9,
        "eval_epochs": 50,
        "max_pixels": 36864
    }
}'

最初および最後のフレームに基づく画像→動画

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.2-kf2v-flash",
    "training_file_ids":[
        "<replace_with_training_dataset_file_id>"
    ],
    "training_type":"efficient_sft",
    "hyper_parameters":{
        "n_epochs":400,
        "batch_size":4,
        "learning_rate":2e-5,
        "split":0.9,
        "eval_epochs": 50,
        "max_pixels": 262144
    }
}'

レスポンス例

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 を使用して、ジョブの進行状況を照会します。以下の API 操作を繰り返し呼び出して、statusSUCCEEDED になるまで待機してください。

説明

この例のファインチューニングジョブは、学習に数時間かかります。正確な所要時間はファインチューニング対象のモデルによって異なります。しばらくお待ちください。

リクエスト例

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>",
    "aigc_config": {
        "use_input_prompt": false,
        "prompt": "画像の内容に基づいて動画の説明を提供します。説明には「Then the s86b5p money rain effect begins, countless huge-sized US dollar bills (beige background/dark green patterns) pour down like a torrential rain, densely hitting and surrounding her. The bills continue to fall, she/he stretches her/his arms upward, neck slightly tilted back, expression surprised, completely immersed in this wild money rain.」というフレーズを含める必要があります。\n出力テンプレート:\nThe video begins with a shot of [subject description]. [Environment description]. Then the s86b5p money rain effect begins, countless huge-sized US dollar bills (beige background/dark green patterns) pour down like a torrential rain, densely hitting and surrounding her. The bills continue to fall, she/he stretches her/his arms upward, neck slightly tilted back, expression surprised, completely immersed in this wild money rain.\n例:\nThe video begins showing a young woman standing in front of a brick wall covered with ivy. She has long, smooth reddish-brown hair, wearing a white sleeveless dress, a shiny silver necklace, and a smile on her face. The brick wall in the background is covered with green vines, appearing rustic and natural. Then the s86b5p money rain effect begins, countless huge-sized US dollar bills (beige background/dark green patterns) pour down like a torrential rain, densely hitting and surrounding her. The bills continue to fall, she stretches her arms upward, neck slightly tilted back, expression surprised, completely immersed in this wild money rain.",
        "lora_prompt_default": "Then the s86b5p money rain effect begins, countless huge-sized US dollar bills (beige background/dark green patterns) pour down like a torrential rain, densely hitting and surrounding her. The bills continue to fall, she/he stretches her/his arms upward, neck slightly tilted back, expression surprised, completely immersed in this wild money rain."
    },
    "capacity": 1,
    "plan": "lora"
}'

最初および最後のフレームに基づく画像→動画

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>",
    "aigc_config": {
        "use_input_prompt": false,
        "prompt": "画像の内容に基づいて動画の説明を提供します。説明には「Then she/he begins the s86b5p transformation.」というフレーズを含める必要があります。\n出力テンプレート:\nThe video begins with a shot of [subject description]. [Environment description]. Then she/he begins the s86b5p transformation.\n例:\nThe video begins with a young woman in an outdoor setting. She has short, curly dark brown hair and a friendly smile. She is wearing a black Polo shirt with colorful floral embroidery. The background features green vegetation and distant mountains. Then she begins the s86b5p transformation.",
        "lora_prompt_default": "Then she/he begins the s86b5p transformation."
    },
    "capacity": 1,
    "plan": "lora"
}'

レスポンス例

output 内の以下の 2 つのパラメーターにご注意ください:

  • deployed_model:デプロイされたモデルの名前。デプロイステータスの照会およびモデル呼び出しに使用します。

  • status:モデルデプロイステータス。ファインチューニング済みモデルをデプロイすると、初期ステータスは PENDING(デプロイ未開始)になります。

{
    ...
    "output": {
        "deployed_model": "xxxx-ft-202511111122-xxxx",
        "status": "PENDING",
        ...
    }
}
ステップ 3.2:デプロイステータスの照会

デプロイステータスを照会します。以下の API 操作を繰り返し呼び出して、statusRUNNING になるまで待機してください。

説明

この例のファインチューニング済みモデルのデプロイプロセスは、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": "xxxx-ft-202511111122-xxxx",
        ...
    }
}

ステップ 4:モデルを呼び出して動画を生成

モデルがデプロイされ(デプロイ statusRUNNING)、呼び出し可能になった後、利用できます。

ステップ 4.1:動画生成タスクを作成して task_id を取得

リクエスト例

<replace_with_deployed_model> を、前のステップで返された deployed_model 値に置き換えてください。

最初のフレームに基づく画像→動画

期待される結果:最初のフレーム画像を入力すると、プロンプトを指定しなくても「マネーレイン」エフェクトを備えた動画を自動生成します。

curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--header 'X-DashScope-Async: enable' \
--data '{
    "model": "<replace_with_deployed_model_name>",
    "input": {
        "img_url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/en-US/20251219/xmvyqn/lora.webp"
    },
    "parameters": {
        "resolution": "720P",
        "prompt_extend": false
    }
}'

レスポンス例

task_id をコピーして保存し、次のステップで結果を照会してください。

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

入力パラメーターの説明

説明

ファインチューニング済み LoRA モデルを呼び出す場合、入力パラメーターの使用方法は、Wan - 画像→動画 - 最初のフレームと基本的に同一です。

以下の表では、LoRA モデルに特有のパラメーター使用方法または特定の制限事項のみを記載しています。この表で言及されていない一般パラメーター(例:duration)については、API リファレンスをご参照ください。

フィールド

必須

説明

model

string

はい

モデル名。

正常にデプロイされ、RUNNING ステータスであるファインチューニング済みモデルを使用する必要があります。

xxxx-ft-202511111122-xxxx

input.prompt

string

いいえ

テキストプロンプト。

このパラメーターが有効かどうかは、aigc_config.use_input_prompt の構成によります:

  • use_input_prompt=true の場合、このパラメーターが有効になり、システムはこのプロンプトに基づいて動画を生成します。

  • use_input_prompt=false の場合、このパラメーターは無視されます。システムはプリセットテンプレート aigc_config.prompt を使用して、自動的にプロンプトを生成します。

-

input.img_url

string

はい

最初のフレーム画像の URL。

詳細については、img_url パラメーターをご参照ください。

https://help-static-aliyun-doc.aliyuncs.com/xxx.jpg

parameters.resolution

string

いいえ

生成される動画の解像度階層。

wan2.2 および wan2.5 モデルの場合:480P および 720P。デフォルト値は 720P です。

wan2.6 モデルの場合:720P および 1080P。デフォルト値は 720P です。

720P

parameters.prompt_extend

boolean

いいえ

プロンプトの書き換えを有効にするかどうかを指定します。

ファインチューニング済み LoRA モデルを呼び出す場合、このパラメーターを false に設定してください。

false

最初および最後のフレームに基づく画像→動画

期待される結果:最初および最後のフレーム画像を入力すると、プロンプトを指定しなくても「ファッション雑誌」エフェクトを備えた動画を自動生成します。

curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/image2video/video-synthesis' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--header 'X-DashScope-Async: enable' \
--data '{
    "model": "<replace_with_deployed_model_name>",
    "input": {
        "first_frame_url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260113/typemn/kf2v-first.webp",
        "last_frame_url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260113/ekzmff/kf2v_last.webp"
    },
    "parameters": {
        "resolution": "720P",
        "prompt_extend": false
    }
}'

レスポンス例

task_id をコピーして保存し、次のステップで結果を照会してください。

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

入力パラメーターの説明

説明

ファインチューニング済み LoRA モデルを呼び出す場合、入力パラメーターの使用方法は、画像→動画 - 最初および最後のフレームベース APIとほぼ同一です。

以下の表では、LoRA モデルに特有のパラメーター使用方法または特定の制限事項のみを記載しています。この表で言及されていない一般パラメーター(例:duration)については、API リファレンスをご参照ください。

フィールド

必須

説明

model

string

はい

モデル名。

正常にデプロイされ、RUNNING ステータスであるファインチューニング済みモデルを使用する必要があります。

xxxx-ft-202511111122-xxxx

input.prompt

string

いいえ

テキストプロンプト。

このパラメーターが有効かどうかは、aigc_config.use_input_prompt の構成によります:

  • use_input_prompt=true の場合、このパラメーターが有効になり、システムはこのプロンプトに基づいて動画を生成します。

  • use_input_prompt=false の場合、このパラメーターは無視され、指定する必要はありません。システムは aigc_config.prompt プリセットテンプレートを使用して、自動的にプロンプトを生成します。

-

input.first_frame_url

string

はい

最初のフレーム画像の URL。

パラメーターの渡し方については、first_frame_url パラメーターをご参照ください。

https://help-static-aliyun-doc.aliyuncs.com/xxx.jpg

input.last_frame_url

string

いいえ

最後のフレーム画像の URL。

パラメーターの渡し方については、last_frame_url パラメーターをご参照ください。

https://help-static-aliyun-doc.aliyuncs.com/xxx.jpg

parameters.resolution

string

いいえ

生成される動画の解像度階層。

ファインチューニング済みモデルは 480P および 720P をサポートします。デフォルト値は 720P です。

720P

parameters.prompt_extend

boolean

いいえ

プロンプトの書き換えを有効にするかどうかを指定します。

ファインチューニング済み LoRA モデルを呼び出す場合、このパラメーターを false に設定してください。

false

ステップ 4.2:task_id を使用して結果を照会

task_id を使用してタスクステータスを照会し、task_status が SUCCEEDED になるまで待機し、その後動画 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": "c87415d2-f436-41c3-9fe8-xxxxxx",
    "output": {
        "task_id": "a017e64c-012b-431a-84fd-xxxxxx",
        "task_status": "SUCCEEDED",
        "submit_time": "2025-11-12 11:03:33.672",
        "scheduled_time": "2025-11-12 11:03:33.699",
        "end_time": "2025-11-12 11:04:07.088",
        "orig_prompt": "",
        "video_url": "https://dashscope-result-sh.oss-cn-shanghai.aliyuncs.com/xxx.mp4?Expires=xxxx"
    },
    "usage": {
        "duration": 5,
        "video_count": 1,
        "SR": 480
    }
}

カスタムデータセットの作成

本トピックで提供されるサンプルデータを使用してファインチューニングの流れを体験するほか、独自のデータセットを構築してファインチューニングを行うこともできます。

データセットにはトレーニングセット(必須)を含める必要があります。また、任意で検証セット(トレーニングセットから自動的に分割可能)を含めることもできます。すべてのファイルを .zip ファイルに圧縮してください。ファイル名には、英字、数字、アンダースコア (_)、ハイフン (-) のみを使用することを推奨します。

データセットフォーマット

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

最初のフレームに基づく画像→動画

トレーニングセットには、最初のフレーム画像、トレーニング動画、およびアノテーションファイル (data.jsonl) が含まれます。

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

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

    wan-i2v-training-dataset.zip
    ├── data.jsonl        # data.jsonl という名前にする必要があります。最大サイズは 20 MB
    ├── image_1.jpeg      # 最大画像解像度は 4096×4096。BMP、JPEG、PNG、WEBP 形式をサポート
    ├── video_1.mp4       # 最大動画解像度は 4096×4096。MP4、MOV 形式をサポート
    ├── image_2.jpeg
    └── video_2.mp4
  • アノテーションファイル (data.jsonl):各行はトレーニングデータのエントリを表し、JSON オブジェクトである必要があります。トレーニングデータエントリの構造は以下の通りです:

    {
        "prompt": "The video begins showing a young woman standing in front of a brick wall covered with ivy. She has long, smooth reddish-brown hair, wearing a white sleeveless dress, a shiny silver necklace, and a smile on her face. The brick wall in the background is covered with green vines, appearing rustic and natural. Then the s86b5p money rain effect begins, countless huge-sized US dollar bills (beige background/dark green patterns) pour down like a torrential rain, densely hitting and surrounding her. The bills continue to fall, she stretches her arms upward, neck slightly tilted back, expression surprised, completely immersed in this wild money rain.",
        "first_frame_path": "image_1.jpg",
        "video_path": "video_1.mp4"        
    }

最初および最後のフレームに基づく画像→動画

トレーニングセットには、最初のフレーム画像、最後のフレーム画像、トレーニング動画、およびアノテーションファイル (data.jsonl) が含まれます。

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

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

    wan-kf2v-training-dataset.zip
    ├── data.jsonl                # data.jsonl という名前にする必要があります。最大サイズは 20 MB
    ├── image/                    # 最初および最後のフレーム画像を格納
    │   ├── image_1_first.jpg     # 最大画像解像度は 4096×4096。BMP、JPEG、PNG、WEBP 形式をサポート
    │   └── image_1_last.png
    └── video/                    # 「トレーニング対象」としての動画ファイルを格納
        ├── video_1.mp4           # 最大動画解像度は 4096×4096。MP4、MOV 形式をサポート
        └── video_2.mov
  • アノテーションファイル (data.jsonl):各行はトレーニングデータのエントリを表し、JSON オブジェクトである必要があります。トレーニングデータエントリの構造は以下の通りです:

    {
        "prompt": "The video begins by showing a young woman in an outdoor setting. She has short, curly dark brown hair, a smile on her face, and looks very friendly. She is wearing a black polo shirt with colorful floral embroidery, with a background of green vegetation and distant mountains. Then she begins the s86b5p transformation.",
        "first_frame_path": "image/image_1_first.jpg",
        "last_frame_path": "image/image_1_last.jpg", 
        "video_path": "video/video_1.mp4"  
    }

検証セット:任意

最初のフレームに基づく画像→動画

検証セットには、最初のフレーム画像およびアノテーションファイル (data.jsonl) が含まれます。動画は提供する必要はありません。各評価ノードで、トレーニングジョブは検証セットの画像およびプロンプトを使用して、モデルサービスを自動的に呼び出し、プレビュー動画を生成します。

  • サンプル検証セット wan-i2v-valid-dataset.zip

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

    wan-i2v-valid-dataset.zip
    ├── data.jsonl       # data.jsonl という名前にする必要があります。最大サイズは 20 MB
    ├── image_1.jpeg     # 最大画像解像度は 4096×4096。BMP、JPEG、PNG、WEBP 形式をサポート
    └── image_2.jpeg
  • アノテーションファイル (data.jsonl):各行は検証データのエントリを表し、JSON オブジェクトである必要があります。検証データエントリの構造は以下の通りです:

    {
        "prompt": "The video begins showing a scene of a young man standing in front of a cityscape. He is wearing a black and white checkered jacket over a black hoodie, with a smile on his face and a confident expression. The background is a city skyline at sunset, with a famous domed building and layered roofs visible in the distance, the sky filled with clouds showing warm orange-yellow hues. Then the s86b5p money rain effect begins, countless huge-sized US dollar bills (beige background/dark green patterns) pour down like a torrential rain, densely hitting and surrounding him. The bills continue to fall while the camera slowly zooms in, he stretches his arms upward, neck slightly tilted back, expression surprised, completely immersed in this wild money rain.",
        "first_frame_path": "image_1.jpg"
    }

最初および最後のフレームに基づく画像→動画

検証セットには、最初のフレーム画像、最後のフレーム画像、およびアノテーションファイル (data.jsonl) が含まれます。動画は提供する必要はありません。各評価ノードで、トレーニングジョブは検証セットの画像およびプロンプトを使用して、モデルサービスを自動的に呼び出し、プレビュー動画を生成します。

  • サンプル検証セット: wan-kf2v-valid-dataset.zip

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

    wan-kf2v-valid-dataset.zip
    ├── data.jsonl                 # data.jsonl という名前にする必要があります。最大サイズは 20 MB
    └── image/                     # 最初および最後のフレーム画像を格納
        ├── image_1_first.jpg      # 最大画像解像度は 4096×4096。BMP、JPEG、PNG、WEBP 形式をサポート
        └── image_1_last.jpg
  • アノテーションファイル (data.jsonl):各行は検証データのエントリを表し、JSON オブジェクトである必要があります。検証データエントリの構造は以下の通りです:

    {
        "prompt": "The video begins showing a scene of a young man standing in front of a cityscape. He is wearing a black and white checkered jacket over a black hoodie, with a smile on his face and a confident expression. The background is a city skyline at sunset, with a famous domed building and layered roofs visible in the distance, the sky filled with clouds showing warm orange-yellow hues. Then the s86b5p money rain effect begins, countless huge-sized US dollar bills (beige background/dark green patterns) pour down like a torrential rain, densely hitting and surrounding him. The bills continue to fall while the camera slowly zooms in, he stretches his arms upward, neck slightly tilted back, expression surprised, completely immersed in this wild money rain.",
        "first_frame_path": "image/image_1_first.jpg",
        "last_frame_path": "image/image_1_last.jpg",
    }

データ量および制限事項

  • データ量:最低でも 10 件のデータエントリを提供してください。トレーニングデータが多いほど、結果は安定します。安定した結果を得るには、20~100 件を推奨します。

  • ZIP パッケージ:API を使用してアップロードする場合、パッケージの合計サイズは 1 GB 以下である必要があります。

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

    • 対応形式:BMP、JPEG、PNG、WEBP。

    • 画像解像度:4096×4096 以下。

    • 単一画像ファイルのサイズには厳密な上限はありません。システムが自動的に前処理を行います。

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

    • 対応形式:MP4、MOV。

    • 動画解像度:4096×4096 以下。

    • 単一動画ファイルのサイズには厳密な上限はありません。システムが自動的に前処理を行います。

    • 単一動画の最大再生時間:wan2.2 モデルは 5 秒、wan2.5 モデルは 10 秒、wan2.6 モデルは 10 秒

データ収集およびクリーニング

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

Wan がサポートする画像→動画生成のファインチューニングシナリオは、以下のとおりです:

  • 固定された動画エフェクト:カルーセルや魔法の変身など、特定の視覚的変化をモデルに教える。

  • 固定されたキャラクターの動作:ダンスの動きや武道の形など、特定の身体の動きを再現する能力を向上させる。

  • 固定された動画カメラの動き:パンチルト、サラウンドショットなどの複雑なカメラ言語を再現する。

2. 原材料の取得
  • AI 生成および選定:Wan の基盤モデルを使用して動画を一括生成し、ターゲットエフェクトに最も適合する高品質なサンプルを手動で選定します。これは最も一般的な方法です。

  • 実写撮影: hugs や handshakes など、高度にリアルなインタラクティブシーンを実現したい場合、実写映像を使用するのが最適です。

  • 3D ソフトウェアによるレンダリング:詳細な制御が必要なエフェクトや抽象的なアニメーションの場合、Blender や C4D などの 3D ソフトウェアを使用して素材を作成することを推奨します。

3. データのクリーニング

次元

肯定的な要件

否定的な例

一貫性

コア機能は非常に一貫している必要があります

たとえば、「360 度回転」を学習する場合、すべての動画は概ね一定の速度で時計回りに回転する必要があります。

方向が混在

データセットに時計回りと反時計回りの両方の回転が含まれています。モデルはどちらの方向を学習すべきか判断できません。

多様性

被写体およびシーンが豊富であるほど良い

異なる被写体(男性、女性、高齢者、若者、猫、犬、建物)および異なる構図(クローズアップ、ロングショット、ハイアングル、ローアングル)をカバーしてください。また、解像度および縦横比も可能な限り多様にしてください。

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

すべての動画が「白い壁の前で赤い服を着た人物が回転している」ことを示しています。モデルは「赤い服」と「白い壁」がエフェクトの一部であると誤認し、服の色が変わると回転しなくなる可能性があります。

バランス

異なるデータタイプの割合はバランスが取れている必要があります

複数のスタイルが含まれている場合、それらの数量は概ね等しくする必要があります。

極端に不均衡な割合

90% がポートレート動画で、10% がランドスケープ動画です。モデルはランドスケープ動画の生成時にパフォーマンスが低下する可能性があります。

純度

クリーンで明瞭な画像

干渉のない原材料を使用してください。

干渉要素

動画にキャプション、局ロゴ、ウォーターマーク、目立つ黒枠、またはノイズが含まれています。モデルがウォーターマークをエフェクトの一部として学習してしまう可能性があります

再生時間

素材の再生時間 ≤ ターゲット再生時間

5 秒の動画を生成したい場合、素材は 4~5 秒に切り取るのが望ましいです。

素材が長すぎる

5 秒の動画を生成したいのに 8 秒の素材をモデルに与えると、動作の学習が不完全になり、切断されたような印象を与えます。

動画のアノテーション:動画のためのプロンプト作成

データセットのアノテーションファイル (data.jsonl) では、各動画に対応するプロンプトが記述されています。このプロンプトは、動画の視覚的内容を説明します。プロンプトの品質は、モデルが学習する内容を直接決定します。

プロンプトの例

動画は、蔦で覆われたレンガ壁の前に立っている若い女性から始まります。彼女は長くて滑らかな赤褐色の髪をしており、白いノースリーブドレス、輝く銀色のネックレスを身に着け、笑顔を浮かべています。背景は、緑の蔦で覆われたレンガ壁で、素朴で自然な雰囲気です。その後、s86b5p マネーレイン効果が始まり、巨大な米ドル紙幣(ベージュ地に暗緑色の模様)が豪雨のように降り注ぎ、彼女を密集して打ち付け、取り囲みます。紙幣はカメラがゆっくりとズームインする中で降り続け、彼女は腕を上に伸ばし、首をわずかに後ろに傾けて驚いた表情を浮かべ、この野生のマネーレインに完全に没頭しています。

プロンプト作成の公式

プロンプト = [被写体の説明] + [背景の説明] + [トリガー語] + [動きの説明]

プロンプトの説明項目

説明

推奨事項

件名の説明

シーン内に元々存在する人物または物体を説明します

必須

動画は、若い女性が…から始まります。

背景の説明

被写体が位置する環境を説明します

必須

背景は、緑の蔦で覆われたレンガ壁です…。

トリガー語

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

推奨

s86b5p または m01aa

動きの説明

エフェクト発生時の動画内の動きの変化を詳細に説明します

推奨

巨大な米ドル紙幣(ベージュ地に暗緑色の模様)が豪雨のように降り注ぎ…。

「トリガー語」について
  • トリガー語とは何か?

    これは「視覚的なアンカー」として機能します。多くの複雑なダイナミクス(特殊なダンスの軌道やオリジナルの光と影の変化など)は言葉で説明することが困難であるため、この単語を使用して、モデルに「s86b5p を見たら、この特定の視覚的エフェクトを生成しなさい」と強制的に指示します。

  • なぜ使用するのか?

    モデルのファインチューニングは、「テキスト」と「動画の特徴」の間のマッピング関係を確立します。トリガー語は、「言い表せないエフェクト」を一意の単語に結びつけるものであり、モデルがターゲットを特定できるようにします。

  • トリガー語があるのに、なぜ動きの説明を詳細に記述する必要があるのか?

    これらは異なる役割を果たし、互いに補完し合ってより良い結果を生み出します。

    • 動きの説明:「シーン内で何が起こっているか」を説明する責任があります。モデルに基本的な物理的な動作と論理を伝え、複数のサンプルにおける動きの説明は通常一貫しています。

    • トリガー語:「動作が具体的にどのような見た目か」を説明する責任があります。言葉では表現できない独特の変化や特徴を表します。

優れたプロンプトの作成方法

エフェクトの説明において一貫性の原則に従う

エフェクトを含むすべてのサンプルについて、エフェクトの動きの説明部分は可能な限り一貫している必要があります。このルールは、トレーニングセットおよび検証セットの両方に適用されます。

  • 目的: モデルが s86b5p の後に常に固定された説明が続き、シーンが常にマネーレインを示すことに気づくと、「s86b5p = マネーレインの視覚的エフェクト」と記憶します。

  • :「若い女性」でも「スーツを着た男性」でも、マネーレインエフェクトであれば、プロンプトの後半部分は一律に「…その後、s86b5p マネーレイン効果が始まり、巨大な米ドル紙幣が豪雨のように降り注ぎ…」と記述します。

    サンプルタイプ

    プロンプト内容(下線部の説明の一貫性にご注意ください)

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

    動画は、若い女性がレンガ壁の前に立っているところから始まります…(背景の説明は省略)…その後、s86b5p マネーレイン効果が始まり、巨大な米ドル紙幣(ベージュ地に暗緑色の模様)が豪雨のように降り注ぎ、彼女を密集して打ち付け、取り囲みます。紙幣は降り続け、彼女は腕を上に伸ばし、驚いた表情を浮かべ、この野生のマネーレインに完全に没頭しています。

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

    動画は、高級レストランにいるスーツを着た男性から始まります…(背景の説明は省略)…その後、s86b5p マネーレイン効果が始まり、巨大な米ドル紙幣(ベージュ地に暗緑色の模様)が豪雨のように降り注ぎ、彼を密集して打ち付け、取り囲みます。紙幣は降り続け、彼は腕を上に伸ばし、驚いた表情を浮かべ、この野生のマネーレインに完全に没頭しています。

    検証セットのサンプル 1

    動画は、都市景観の前にいる若い子供から始まります…(背景の説明は省略)…その後、s86b5p マネーレイン効果が始まり、巨大な米ドル紙幣(ベージュ地に暗緑色の模様)が豪雨のように降り注ぎ、彼を密集して打ち付け、取り囲みます。紙幣はカメラがゆっくりとズームインする中で降り続け、彼は腕を上に伸ばし、首をわずかに後ろに傾けて驚いた表情を浮かべ、この野生のマネーレインに完全に没頭しています。

AI を活用したプロンプト生成

高品質なプロンプトを取得するには、Qwen-VL などのマルチモーダル大規模言語モデル(LLM)を活用してプロンプトの生成を支援することを推奨します。

  1. AI を使用して初期の説明を生成

    1. アイデア出し(インスピレーションの獲得):エフェクトの説明方法が分からない場合、まず AI にアイデア出しを依頼できます。

      • 動画のコンテンツを詳細に説明してください」を直接送信し、モデルの出力を確認します。

      • モデルが使用するエフェクトの動きの軌道(例:「豪雨のように降り注ぐ」、「カメラがゆっくりとズームインする」)を説明する言葉に注目してください。これらの言葉は、後の最適化のための素材として使用できます。

    2. 固定された文構造(出力の標準化):一般的な考え方が得られた後、アノテーションの公式に基づいて固定された文構造を設計し、AI がフォーマットに準拠したプロンプトを生成するよう誘導できます。

      サンプルコード

      コード呼び出しの詳細については、画像および動画の理解をご参照ください。
      import os
      from openai import OpenAI
      
      client = OpenAI(
          # シンガポールリージョンおよび北京リージョンの API キーは異なります。API キーの取得方法:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
          # 環境変数が設定されていない場合は、以下の行を Model Studio API キーに置き換えてください:api_key="sk-xxx"
          api_key=os.getenv("DASHSCOPE_API_KEY"),
          # 以下の base_url はシンガポールリージョン用です。北京リージョンのモデルを使用する場合は、base_url を https://dashscope.aliyuncs.com/compatible-mode/v1 に置き換えてください。
          base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
      )
      completion = client.chat.completions.create(
          model="qwen3-vl-plus",
          messages=[
              {"role": "user","content": [{
                  # 動画ファイルを直接渡す場合、type の値を video_url に設定します
                  # OpenAI SDK を使用する場合、動画ファイルからデフォルトで 0.5 秒ごとに 1 フレームが抽出され、この設定は変更できません。フレーム抽出頻度をカスタマイズするには、DashScope SDK を使用してください。
                  "type": "video_url",            
                  "video_url": {"url": "https://cloud.video.taobao.com/vod/Tm1s_RpnvdXfarR12RekQtR66lbYXj1uziPzMmJoPmI.mp4"}},
                  {"type": "text", "text": "動画を慎重に分析し、以下の固定された文構造に従って詳細な動画説明を生成してください。"
                                          "文のテンプレート:動画は、[被写体の説明] から始まります。背景は [背景の説明] です。その後、s86b5p メルティング効果が始まり、[詳細な動きの説明]。"
                                          "要件:"
                                          "1.[被写体の説明]:シーン内に元々存在する人物または物体の外見、服装、表情などの詳細を説明してください。"
                                          "2.[背景の説明]:被写体が位置する環境の詳細(環境、照明、天候など)を説明してください。"
                                          "3.[動きの説明]:エフェクト発生時の動的変化プロセス(物体の動き方、照明の変化、カメラの動きなど)を詳細に説明してください。"
                                          "4.すべての内容は、文構造に自然に統合する必要があります。「[ ]」記号は保持せず、説明に関係のないテキストを追加しないでください。"}]
               }]
      )
      print(completion.choices[0].message.content)

  1. エフェクトテンプレートの洗練

    1. 同じエフェクトを持つ複数のサンプルに対してこのプロセスを繰り返し実行し、エフェクトを説明するために使用される共通かつ正確なフレーズを特定することを推奨します。そこから、汎用的な「エフェクトの説明」を抽出してください。

    2. この標準化されたエフェクトの説明を、そのエフェクトのすべてのデータセットにコピー&ペーストしてください。

    3. 各サンプルの固有の「被写体」および「背景」の説明は保持しますが、「エフェクトの説明」の部分は統一されたテンプレートに置き換えてください。

  1. 手動による確認

    AI はハルシネーションを起こしたり、認識エラーを発生させたりする可能性があります。たとえば、被写体と背景の説明が実際のシーンと一致するかどうか、最終的な手動チェックで確認してください。

検証セットを用いたモデル評価

検証セットの指定

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

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

ファインチューニングジョブの作成時に、検証セットを指定する validation_file_ids パラメーターを渡さない場合、システムは以下の 2 つのハイパーパラメーターに基づいて、トレーニングセットの一部を検証セットとして自動的に分割します:

  • split:トレーニングセットのうちトレーニングに使用する割合。たとえば、0.9 はデータの 90% をトレーニングに使用し、残りの 10% を検証に使用することを意味します。

  • max_split_val_dataset_sample:自動分割される検証セットの最大サンプル数。

検証セットの分割ルール:システムは、データセット全体のサイズ × (1 - split)max_split_val_dataset_sample のうち小さい方の値を採用します。

  • 例:トレーニングセットのみ 100 件をアップロードし、split=0.9(検証に 10% を使用)および max_split_val_dataset_sample=5 と仮定します。

    • 理論上の分割:100 × 10% = 10 件。

    • 実際の分割:min(10, 5) = 5。したがって、システムは検証セットに5 件のみを採用します。

方法 2:検証セットをアップロード(validation_file_ids を使用して指定)

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

注:検証セットのアップロードを選択した場合、システムは完全に自動分割ルールを無視し、アップロードしたデータのみを検証に使用します。

手順:検証セットのアップロード

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

  2. 検証セットのアップロードデータセットのアップロード API を呼び出して検証セットの .zip ファイルをアップロードし、固有のファイル ID を取得してください。

  3. ジョブ作成時の検証セットの指定ファインチューニングジョブの作成 API を呼び出す際に、このファイル ID を validation_file_ids パラメーターに入力してください。

    {
        "model":"wan2.5-i2v-preview",
        "training_file_ids":[ "<file_ID_of_the_training_set>" ],
        "validation_file_ids": [ "<file_ID_of_the_custom_validation_set>" ],
        ...
    }

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

学習プロセス中、システムは定期的にモデルの「スナップショット」(チェックポイント)を保存します。デフォルトでは、システムは最終チェックポイントを最終的なファインチューニング済みモデルとして出力します。ただし、中間プロセスで生成されたチェックポイントの方が最終バージョンよりも優れた効果を発揮する場合があります。そのようなチェックポイントをデプロイメントに選択できます。

システムは、ハイパーパラメーター eval_epochs で指定された間隔で、チェックポイントを検証セット上で実行し、プレビュー動画を生成します。

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

  • 選択基準:効果が最も優れており、動作の歪みがないチェックポイントを選択します。

手順

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

この API 操作は、検証セット上で検証を通過し、プレビュー動画の生成に成功したチェックポイントのみを返します。検証に失敗したチェックポイントはリストに含まれません。

リクエスト例

curl --location 'https://dashscope-intl.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_selected_checkpoint>:これをチェックポイントの値(例:「checkpoint-160」)に置き換えてください。

curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes/<replace_with_fine-tuning_job_id>/validation-details/<replace_with_selected_checkpoint>?page_no=1&page_size=10' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"

レスポンス例

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

{
    "request_id": "375b3ad0-d3fa-451f-b629-xxxxxxx",
    "output": {
        "page_no": 1,
        "page_size": 10,
        "total": 1,
        "list": [
            {
                "video_path": "https://finetune-swap-wulanchabu.oss-cn-wulanchabu.aliyuncs.com/xxx.mp4?Expires=xxxx",
                "prompt": "The video begins with a young man sitting in a cafe. He is wearing a beige Polo shirt, looking focused and slightly contemplative, with his fingers gently touching his chin. In front of him is a cup of hot coffee. The background is a wall with wooden stripes and a decorative sign. Then the s86b5p money rain effect begins, and countless enormous US dollar bills (beige with dark green patterns) pour down like a torrential rain, densely hitting and surrounding him. The bills continue to fall as he stretches his arms upward, neck slightly tilted back, with a surprised expression, completely immersed in this wild money rain.",
                "first_frame_path": "https://finetune-swap-wulanchabu.oss-cn-wulanchabu.aliyuncs.com/xxx.jpeg"
            }
        ]
    }
}

ステップ 2:チェックポイントをエクスポートして、デプロイメント用のモデル名を取得
ステップ 2.1:モデルのエクスポート

「checkpoint-160」が最も効果的であると仮定し、次のステップでエクスポートします。

リクエスト例

  • <replace_with_fine-tuning_job_id>:このプレースホルダーを、ファインチューニングジョブの作成操作によって返されるレスポンスパラメーター job_id の値に置き換えてください。

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

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

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_name_for_console_display>' \
--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 を取得した後、以下の操作を実行します:

本番環境に適用

本番環境で、最初に学習したモデルのパフォーマンスが低い場合(例:フレームの破損、エフェクトの不明瞭さ、動作の不正確さ)、以下のディメンションに基づいてファインチューニングできます:

1. データとプロンプトの確認

  • データの一貫性:データの一貫性が重要です。逆方向の動きや大きく異なるスタイルの「不良サンプル」がないか確認してください。

  • サンプル数:高品質なデータエントリの数を20 件以上に増やすことを推奨します。

  • プロンプト:トリガー語が意味のない珍しい単語(例:s86b5p)であることを確認し、干渉を避けるために一般的な単語(例:running)の使用を避けてください。

2. ハイパーパラメーターの調整: パラメーターの説明については、ハイパーパラメーターをご参照ください。

  • n_epochs(学習エポック数)

    • デフォルト値:400。デフォルト値の使用を推奨します。調整する場合は、「合計学習ステップ数 ≥ 800」の原則に従ってください。

    • 合計ステップ数の数式:steps = n_epochs × ceil(トレーニングセットサイズ / batch_size)

    • したがって、最小 n_epochs の数式は:n_epochs = 800 / ceil(データセットサイズ / batch_size)

    • 例:トレーニングセットに 5 件のデータエントリがあり、Wan2.5 モデル(batch_size=2)を使用していると仮定します。

      • エポックあたりの学習ステップ数:5 / 2 = 2.5、切り上げて 3。合計学習エポック数:n_epochs = 800 / 3 ≈ 267。これが推奨される最小値です。ビジネスニーズに応じて、たとえば 300 に増やすことができます。

  • learning_rate、batch_size:デフォルト値の使用を推奨します。通常、これらを変更する必要はありません。

課金

  • モデル学習:課金対象。

  • モデルデプロイメント無料

  • モデル呼び出し:課金対象。

    • ファインチューニングされた基盤モデルの標準呼び出し価格で課金されます。詳細については、モデル価格をご参照ください。

API リファレンス

動画生成モデルのファインチューニング API リファレンス

よくある質問

Q:トレーニングセットと検証セットのデータ量はどのように計算しますか?

A:トレーニングセットは必須で、検証セットは任意です。計算方法は以下のとおりです:

  • 検証セットを渡さない場合:アップロードされたトレーニングセットが「データセット全体のサイズ」となります。システムはトレーニングセットの一部を自動的に検証用に分割します。

    • 検証セットのサイズ = min(データセット全体のサイズ × (1 − split), max_split_val_dataset_sample)。計算例については、検証セットの指定をご参照ください。

    • トレーニングセットのエントリ数 = データセット全体のサイズ − 検証セットのエントリ数

  • 検証セットをアップロードする場合:システムはトレーニングデータを検証用に分割しなくなります。

    • トレーニングセットのエントリ数 = アップロードされたトレーニングセットのデータ量。

    • 検証セットのエントリ数 = アップロードされた検証セットのデータ量。

Q:良いトリガー語を設計するにはどうすればよいですか?

A:ルールは以下のとおりです:

  • 意味のない文字の組み合わせを使用します。例:sksstyle、a8z2_bbb。

  • 一般的な英単語(beautiful、fire、dance など)の使用は避けてください。これは、モデルがこれらの単語に対して元々持っている理解を妨げるためです。

Q:ファインチューニングで動画の解像度や再生時間を変更できますか?

A:いいえ。ファインチューニングはコンテンツと動きを学習するものであり、仕様を学習するものではありません。出力動画のフォーマット(解像度、フレームレート、最大再生時間)は、依然として基盤モデルによって決定されます。