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

Alibaba Cloud Model Studio:画像生成 - チューニングジョブの作成

最終更新日:Oct 11, 2026

画像生成モデルのファインチューニングジョブを作成します。データセットはAPI経由でアップロードするか、OSSからマウントできます。

前提条件

  • サポートされているリージョン:本ドキュメントに記載されている機能は、Singaporeリージョンでのみ利用可能です。このリージョンのAPI Keyを使用する必要があります。
  • アカウント権限:Alibaba Cloud サブアカウント(RAM ユーザー)を使用する場合は、サブアカウントにモデル呼び出し、トレーニング、およびデプロイメントの権限を付与する必要があります。
  • 環境変数の設定:API Keyの取得および環境変数としての設定が正常に完了していること。
  • 準備:画像生成モデルのファインチューニングを読み、ファインチューニングをサポートするモデル、ファインチューニングの手順、データ形式、および課金に関する説明を理解していること。

ファインチューニングジョブの作成

Singapore

POST https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes

Windows CMDの場合は、$DASHSCOPE_API_KEYを%DASHSCOPE_API_KEY%に置き換えてください。PowerShellの場合は、$env:DASHSCOPE_API_KEYに置き換えてください。

リクエストパラメーター

ヘッダー

Content-Type string (必須)

固定値:application/json

Authorization string (必須)

API Key認証。形式:Bearer sk-xxxx。

リクエストボディ

model string (必須)

ファインチューニング用のベースモデルを指定します。

  • wan2.7-image-pro:テキストから画像/画像から画像へのファインチューニングに推奨されます。
  • wan2.7-image
  • qwen-image-2.0:Qwenの画像生成モデルです。Wanとは異なるハイパーパラメータセットをサポートしています。以下のハイパーパラメータのプロパティ(qwen-image-2.0、qwen-image-2.0-pro)を参照してください。
  • qwen-image-2.0-pro:Qwenの画像生成モデルです。ハイパーパラメータはqwen-image-2.0と同一です。以下のハイパーパラメータのプロパティ(qwen-image-2.0、qwen-image-2.0-pro)を参照してください。

training_file_ids array[string] (条件付き必須)

トレーニングデータセットのファイルIDの配列。複数のIDを渡すことができます。training_datasetsとは排他的です。training_datasetsを使用する場合、このパラメータは不要です。ファイルIDはUpload File APIを通じて取得します。

validation_file_ids array[string](任意)

検証データセットファイルIDの配列です。複数のIDを渡すことができます。validation_datasetsとは排他的です。validation_datasetsを使用する場合、このパラメータは不要です。どちらも指定されていない場合、システムはトレーニングセットから自動的に分割します。ファイルIDはファイルアップロードAPIを通じて取得します。

training_type string (必須)

ファインチューニングタイプ。現在はefficient_sft(LoRA効率的ファインチューニング)のみをサポートしています。

hyper_parameters object(任意)

ハイパーパラメータ設定。初期トレーニングでは、デフォルトのハイパーパラメータを使用することを推奨します。モデルのパフォーマンスが低い場合やトレーニングが収束しない場合は、トレーニング量(Wanの場合はmax_steps、qwen-image-2.0とqwen-image-2.0-proの場合はn_epochs)またはlearning_rateの調整を試してください。サポートされるハイパーパラメータはベースモデルによって異なります。以下の対応するハイパーパラメータのプロパティを参照してください。

ハイパーパラメータのプロパティ(wan2.7-image-pro、wan2.7-image)

max_steps int (必須)

合計トレーニングステップ数。トレーニング期間を制御する主要なパラメータです。推奨値:800。

max_stepsはトレーニングの反復回数を決定し、max_token_lengthはステップごとに処理されるデータ量を決定します。

モデルが十分に収束するように、少なくとも500ステップを使用することを推奨します。データセットが大きい場合はステップ数を増やすことができます。

重要このパラメータはトレーニングの課金に影響します。適切に設定してください。

eval_steps int (必須)

検証間隔。推奨値:200。値は>= 0である必要があります。トレーニング中の検証評価の間隔ステップ数を指定し、モデルのトレーニング進捗を定期的に評価するために使用されます。現在のステップのモデルファイルも保存されます。

learning_rate float (必須)

学習率。推奨値:3e-5。モデルの重みの更新幅を制御します。高すぎるとモデルの性能が低下し、低すぎると変化がほとんど見られなくなる可能性があります。

generation_type string (必須)

生成モード。トレーニングデータの形式と推論方法を決定します。有効な値は以下の通りです。

  • t2i:テキストから画像モード。
  • i2i:画像から画像モード。

max_pixels string (必須)

トレーニング画像の最大解像度です。トレーニングセット内の画像の総ピクセル数(幅 x 高さ)の上限を設定します。システムはこの値を超える画像のみをスケーリングし、制限内の画像は変更されません。3つの解像度パラメータ(max_pixels、max_token_length、val_img_size)を一致させることを推奨します。

  • 1k:つまり 1024x1024 です。
  • 2k:つまり 2048x2048 です。

推奨値:テキストから画像へは2k、画像から画像へは1kです。

val_img_size string (必須)

検証用画像の生成解像度。トレーニングプロセス中の検証評価時に生成される画像のターゲット解像度です。有効な値はmax_pixelsと同じです。推奨値:テキストから画像へは2k、画像から画像へは1kです。

max_token_length string (必須)

トレーニングステップごとの最大トークン長で、ステップごとの計算量と課金に影響します。max_stepsとともにトレーニングプロセスを制御します。max_stepsは反復回数を決定し、max_token_lengthはステップごとのデータ量を決定します。有効な値は以下の通りです。

  • 1k:画像から画像への生成シナリオに推奨されます。
  • 2k:テキストから画像への生成シナリオに推奨されます。

max_token_lengthと課金対象のLmaxのマッピング:

generation_type

max_token_length

Lmax

t2i(テキストから画像)

1k

12,800

2k

23,220

i2i(画像から画像)

1k

23,220

2k

32,000

gradient_clip float (必須)

勾配クリッピング。推奨値:0.5。勾配爆発を防ぐために、すべての学習可能なパラメータに対するグローバル勾配ノルムのクリッピング閾値です。クリッピングを無効にするには-1を設定してください。

weight_decay float (必須)

Weight decay。推奨値:0.02。AdamWの分離型Weight decay係数で、過学習を防ぐためにすべての学習可能なパラメータに適用される正則化です。

lora_rank int (必須)

LoRA低ランク行列のランク。推奨値:32。この値はファインチューニングパラメータの数を決定します。値が大きいほどモデルの適合能力は強くなりますが、トレーニング速度は低下します。値は2のn乗である必要があります(例:16、32、64)。

save_total_limit int(任意)

保存するチェックポイントの最大数。推奨値:10。保存されるモデルの最大数を制限します。システムはトレーニング中に生成された最後のN個のチェックポイントのみを保持します。

split float(任意)

トレーニングセットの分割比率です。推奨値は0.9です。値の範囲は(0, 1)です。validation_file_idsとvalidation_datasetsのいずれも指定されていない場合にのみ有効になります。このパラメータは、トレーニングセットの一部を自動的に検証セットとして分割するために使用されます。例えば、0.9はトレーニングセット90%、検証セット10%を意味します。

ハイパーパラメータのプロパティ(qwen-image-2.0、qwen-image-2.0-pro)

qwen-image-2.0とqwen-image-2.0-proは、エポック(n_epochs)の数によってトレーニングプロセスを制御します。これらはmax_steps、eval_steps、またはmax_token_lengthをサポートしていません。2つのモデルは同じハイパーパラメータを共有しますが、推奨される学習率は異なります。qwen-image-2.0の場合は5e-5、qwen-image-2.0-proの場合は1e-4です。

n_epochs int (必須)

トレーニングのエポック数。トレーニングセット全体を完全に通過する回数です。推奨値:10。有効範囲:[1, 10000]。エポック数を増やすと適合度が向上しますが、多すぎると過学習を引き起こす可能性があります。

重要このパラメータはトレーニングの課金に影響します。適切に設定してください。

eval_epochs int (必須)

エポック単位の検証間隔。推奨値:10。有効範囲:[1, 1000]。トレーニング中の検証評価の間隔エポック数を指定し、モデルのトレーニング進捗を定期的に評価するために使用されます。現在のエポックのモデルファイルも保存されます。

batch_size int(任意)

バッチサイズ。各パラメータ更新に使用されるサンプル数。推奨値:8。有効範囲:[1, 2048]。このパラメータは課金や総トレーニングトークン数には影響しません。

learning_rate float (必須)

学習率。qwen-image-2.0の推奨値は5e-5、qwen-image-2.0-proの推奨値は1e-4です。モデルの重みの更新幅を制御します。高すぎるとモデルの性能が低下し、低すぎると変化がほとんど見られなくなる可能性があります。

generation_type string (必須)

生成モード。トレーニングデータの形式と推論方法を決定します。有効な値は以下の通りです。

  • t2i:テキストから画像モード。
  • i2i:画像から画像モード。

推奨値:i2i。

max_pixels string (必須)

トレーニング画像の最大解像度。トレーニングセット内の画像の総ピクセル数(幅×高さ)の上限を設定する文字列ティアです。システムはこの値を超える画像のみをスケーリングし、制限内の画像は変更されません。有効な値は以下の通りです。

  • 1k:つまり 1024x1024 です。
  • 2k:つまり 2048x2048 です。

推奨値:2k。val_img_sizeと一致させてください。

重要このパラメータはトレーニングの課金に影響します。適切に設定してください。

val_img_size string (必須)

検証用画像の生成解像度。トレーニングプロセス中の検証評価時に生成される画像のターゲット解像度です。有効な値はmax_pixelsと同じです。推奨値:2k。

gradient_clip float (必須)

勾配クリッピング。推奨値:0.5。有効範囲:[0, 10.0]。勾配爆発を防ぐために使用される、すべての学習可能なパラメータに対するグローバル勾配ノルムクリッピングの閾値です。

weight_decay float (必須)

Weight decay。推奨値:0.02。有効範囲:[0, 1.0]。AdamWの分離型Weight decay係数です。すべての学習可能なパラメータに適用され、過学習を防ぐための正則化に使用されます。

lora_rank int (必須)

LoRA低ランク行列のランク(次元)。推奨値:32。有効範囲:[8, 128]。この値は学習可能なパラメータの数を決定します。値が大きいほど適合能力は向上しますが、トレーニング速度は低下します。

save_total_limit int(任意)

チェックポイントの保存上限。推奨値:20。有効範囲:[1, 40]。保存するモデルチェックポイントの最大数です。システムは最新のN個のチェックポイントのみを保持します。

split float(任意)

トレーニングセットの分割比率です。推奨値は0.9です。有効範囲は[0, 1]です。validation_file_idsまたはvalidation_datasetsが指定されていない場合にのみ有効になります。トレーニングセットの一部を自動的に検証セットとして分割します。例えば、0.9はトレーニングセット90%、検証セット10%を意味します。

training_datasets Array of Dataset (条件付き必須)

トレーニングデータセットのファイルリスト。training_file_idsとは排他的です。training_file_idsを使用する場合、このパラメータは不要です。

データセット構造

data_source_type string (必須)

データソースタイプ。有効な値:

  • oss_mount(OSS ファイルのマウント)
  • file_id(ファイル管理API経由でアップロードされたファイル)

mount_storage object(条件付き必須)

data_source_typeがoss_mountの場合に必須です。OSSマウント情報。

プロパティ

region string (必須)

マウントするOSSバケットのリージョン。北京(cn-beijing)およびシンガポール(ap-southeast-1)をサポートします。

bucket string (必須)

マウントするOSSバケットの名前。

file_path string (必須)

マウントするOSSファイルパス(オブジェクトキー)。複数のファイルを含むデータセットの場合は、data.jsonlのファイルパスを使用してください。file_idアプローチとは異なり、圧縮されていないデータセットフォルダ全体をOSSにアップロードする必要があります。Zipファイルはサポートされていません。

file_id string(条件付き必須)

data_source_typeがfile_idの場合に必須です。Upload File APIによって生成されたファイルID。

validation_datasets Array of Dataset(任意)

検証用データセットのファイルリスト。構造はtraining_datasetsと同じです。

validation_file_idsとは排他的です。どちらも指定されていない場合、システムは自動的にトレーニングセットから分割します。

job_name string(任意)

チューニングジョブの名前。

model_name string(任意)

チューニング完了後のモデル名。

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_file_ids": [
        "<Replace with the training dataset file ID>"
    ],
    "training_type": "efficient_sft",
    "hyper_parameters": {
        "learning_rate": 3e-5,
        "max_steps": 800,
        "eval_steps": 200,
        "max_token_length": "2k",
        "gradient_clip": 0.5,
        "weight_decay": 0.02,
        "max_pixels": "2k",
        "val_img_size": "2k",
        "generation_type": "t2i",
        "lora_rank": 32,
        "save_total_limit": 10
    }
}'
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",
    "training_file_ids": [
        "<Replace with the 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": "i2i",
        "lora_rank": 32,
        "save_total_limit": 10
    }
}'
curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model": "qwen-image-2.0",
    "training_file_ids": [
        "<replace_with_training_dataset_file_id>"
    ],
    "training_type": "efficient_sft",
    "hyper_parameters": {
        "learning_rate": 5e-5,
        "n_epochs": 10,
        "eval_epochs": 10,
        "batch_size": 8,
        "gradient_clip": 0.5,
        "weight_decay": 0.02,
        "max_pixels": "2k",
        "val_img_size": "2k",
        "generation_type": "t2i",
        "lora_rank": 32,
        "save_total_limit": 20
    }
}'
curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model": "qwen-image-2.0-pro",
    "training_file_ids": [
        "<replace_with_training_dataset_file_id>"
    ],
    "training_type": "efficient_sft",
    "hyper_parameters": {
        "learning_rate": 1e-4,
        "n_epochs": 10,
        "eval_epochs": 10,
        "batch_size": 8,
        "gradient_clip": 0.5,
        "weight_decay": 0.02,
        "max_pixels": "2k",
        "val_img_size": "2k",
        "generation_type": "t2i",
        "lora_rank": 32,
        "save_total_limit": 20
    }
}'
curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model": "wan2.7-image-pro",
    "training_datasets": [
        {
            "data_source_type": "oss_mount",
            "mount_storage": {
                "region": "ap-southeast-1",
                "bucket": "example_bucket",
                "file_path": "dataset/data.jsonl"
            }
        }
    ],
    "training_type": "efficient_sft",
    "hyper_parameters": {
        "learning_rate": 3e-5,
        "max_steps": 800,
        "eval_steps": 200,
        "max_token_length": "2k",
        "gradient_clip": 0.5,
        "weight_decay": 0.02,
        "max_pixels": "2k",
        "val_img_size": "2k",
        "generation_type": "t2i",
        "lora_rank": 32,
        "save_total_limit": 10
    }
}'

レスポンスパラメーター

request_id string

リクエストの一意な識別子。

output object

ジョブの詳細。

プロパティ

job_id string

ファインチューニングジョブの一意な識別子で、ジョブの詳細やログのクエリ、ジョブのキャンセルまたは削除に使用されます。生成ルール:ft-{yyyyMMddHHmm}-{4-digit uuid}。

job_name string

ファインチューニングジョブの名前。

status string

ファインチューニングジョブのステータス:

  • PENDING:トレーニングは保留中です。
  • QUEUING:トレーニングがキュー待ち中です(一度に実行できるファインチューニングジョブは1つのみです)。
  • RUNNING:トレーニング進行中。
  • SUCCEEDED:トレーニングに成功しました。
  • FAILED:トレーニングに失敗しました。
  • CANCELED:トレーニングがキャンセルされました。
  • CANCELING:トレーニングをキャンセル中です。

finetuned_output string

ファインチューニング後に生成された新しいモデルのIDで、デプロイおよび呼び出しに使用されます。ジョブのステータスがSUCCEEDEDの場合に返されます。

model string

使用されたベースモデル。

base_model string

使用されたベースモデル。

training_file_ids array

後方互換性のためのレガシーフィールドです。新しいジョブでは常に空の配列を返します。training_datasetsを使用してください。

training_datasets Array of Dataset

トレーニングデータセットのリスト。

validation_file_ids array

後方互換性のためのレガシーフィールドです。新しいジョブでは常に空の配列を返します。validation_datasetsを使用してください。

validation_datasets Array of Dataset

検証用データセットのリスト。検証セットが指定されていない場合は空の配列を返します。

hyper_parameters object

実際に使用されたハイパーパラメータ。

training_type string

モデルのファインチューニングに使用するトレーニング方法。

create_time string

ジョブの作成時刻。

end_time string

ジョブの終了時刻。ジョブのステータスがSUCCEEDED、FAILED、またはCANCELEDの場合に返されます。

usage integer

ファインチューニングジョブによって消費されたトークン数。ジョブのステータスがSUCCEEDEDまたはCANCELEDの場合に返されます。

workspace_id string

Alibaba Cloud Model Studio API Keyに関連付けられたワークスペースID。ワークスペースIDの取得を参照してください。

user_identity string

ユーザーID、Alibaba CloudアカウントID。

creator string

作成者のAlibaba CloudアカウントID。

modifier string

更新者のAlibaba CloudアカウントID。

group string

ファインチューニングジョブグループ。

max_output_cnt integer

トレーニング中に保存されるチェックポイントの最大数。save_total_limitハイパーパラメータの値と等しくなります。

code string

エラーコード。呼び出しが失敗した場合に返されます。以下のエラーコード表を参照してください。

message string

エラーの詳細説明。呼び出しが失敗した場合に返されます。

成功レスポンス例

主要なフィールド:output.job_id(ジョブID)、output.finetuned_output(ファインチューニング後に生成された新しいモデルの名前)。

{
    "request_id": "0eb05b0c-02ba-414a-9d0c-xxxxxxxxx",
    "output": {
        "job_id": "ft-202606030110-xxxx",
        "job_name": "ft-202606030110-xxxx",
        "status": "PENDING",
        "finetuned_output": "wan2.7-image-pro-ft-202606030110-xxxx",
        "model": "wan2.7-image-pro",
        "base_model": "wan2.7-image-pro",
        "training_file_ids": [],
        "training_datasets": [
            {
                "data_source_type": "file_id",
                "file_id": "xxxxxxxxxxxx"
            }
        ],
        "validation_file_ids": [],
        "validation_datasets": [],
        "hyper_parameters": {
            "max_steps": 800,
            "learning_rate": 3.0E-5,
            "eval_steps": 200,
            "max_token_length": "2k",
            "max_pixels": "2k",
            "val_img_size": "2k",
            "generation_type": "t2i",
            "lora_rank": 32
        },
        "training_type": "efficient_sft",
        "create_time": "2026-06-03 01:10:47"
    }
}

エラーレスポンス例

{
    "code": "InvalidParameter",
    "request_id": "BE213CDD-8A5C-59EE-9A67-055EAB0CB59B",
    "message": "The model wan2.7-image-pro does not support training_type: full_sft"
}

エラーコード

呼び出しが失敗してエラーメッセージが返された場合は、トラブルシューティングのために以下の表を参照してください。

HTTP ステータスコード

エラーコード

解決策

400

InvalidParameter

パラメータエラー、パラメータの欠落、またはパラメータ形式の問題があります。エラーメッセージに基づいてパラメータを修正してください。

400

UnsupportedOperation

リソースが特定の状態にあるときは操作できません。リソースが操作可能な状態になるまで待ってから操作を実行してください。

404

NotFound

クエリまたは操作対象のリソースが存在しません。リソースIDが正しくないか確認してください。

409

競合

同じ名前のデプロイメントインスタンスが既に存在します。区別するためにサフィックスを指定してください。

429

スロットリング

リソースの作成がプラットフォームの制限に達しました。使用していないモデルを削除してください。

500

InternalError

内部エラー。request_idを記録し、チケットを通じてAlibaba Cloudエンジニアにお問い合わせください。

次のステップ

チューニングは非同期操作です。このAPIを呼び出した後、チューニングジョブのクエリと管理APIを使用してジョブのステータスを確認できます。