はじめに
Wan 2.2 LoRA は、Alibaba の Wan 2.2 画像から動画モデルで開始フレームを動かし、その上に独自に学習させた LoRA の重みを重ねて、スタイル、キャラクター、動きを方向づけられるモデルです。開始フレームと動きを記述するプロンプトは必須です。LoRA は任意の 3 つのスロットにそれぞれ最大 3 件まで入れられ、各エントリは 1 GB までの重みファイルへの直接 URL と、0 から 4 の強度の組み合わせです。クリップの長さは 5 秒か 8 秒のどちらかで、解像度は 480p または 720p です。
主な機能とハイライト
3 つのスロットと 2 つのノイズ除去パス
Wan 2.2 は 2 段階でノイズを除去します。high_noise_loras は構図と動きが決まる高ノイズ側のエキスパートに、low_noise_loras はディテールと質感が仕上がる低ノイズ側のエキスパートに重みを適用し、loras は両方に適用します。線画や粒子感の処理はたいてい低ノイズ側、カメラワークや動きのスタイルは高ノイズ側が適しています。
カメラのスタイルと描画スタイルを別々の強度で
スロットごとに適用されるパスが異なるため、動きの LoRA と質感の LoRA を 1 つのリクエストに入れて、それぞれに強度を設定できます。混ざり合った 1 つの重みで釣り合いを取るのではなく、片方を上げてもう片方を下げるという調整ができます。同じスロットに重ねた LoRA は層にならず混ざり合うため、1 つずつ追加していくのが安全な順序です。
重みはご自身のホスティングに置いたまま
各ファイルは実行中にだけ指定の URL から取得され、プラットフォームには何も保存されません。直接ダウンロードできるリンクのほか、Civitai のモデルページやダウンロードリンク、Hugging Face の blob や resolve のリンクも使え、これらは自動的にファイル本体へ解決されます。それ以外の共有ページやログインが必要な場所は取得に失敗します。非公開にしたい重みは署名付きリンクの後ろに置いてください。
スロットが空ならベースモデルのまま
3 つの配列はいずれも既定で空です。LoRA を指定しないリクエストは、同じ画像とプロンプトに対するベースの Wan 2.2 画像から動画の結果を返します。強度を振って比べるときは、これが基準になります。
リクエストパラメーター
| パラメーター | 必須 | 説明 |
|---|---|---|
prompt | はい | 必須です。何が動き、カメラがどう振る舞うかを書いてください。 1 文字以上 |
image_url | はい | 開始フレームです。被写体、衣装、セット、そしてクリップのアスペクト比もここから来ます。 1 文字以上 |
resolution | いいえ | 480p か 720p、既定は 480p。LoRA の組み合わせを 480p で確かめてから、720p で再レンダリングしてください。 |
duration_seconds | いいえ | ちょうど 5 か 8。それ以外は丸められずに拒否されるので、支払う長さが想定外になることはありません。 |
loras | いいえ | 両方のノイズ専門家に効く LoRA を 3 つまで。各項目は重みへの直接 URL と強度を取ります。 デフォルト値: |
high_noise_loras | いいえ | 構図と動きが決まる高ノイズ側の専門家に、LoRA を 3 つまで。カメラや動きの作風に向いた枠です。 デフォルト値: |
low_noise_loras | いいえ | ディテールと質感が定まる低ノイズ側の専門家に、LoRA を 3 つまで。線画、粒子、描画の処理に向いた枠です。 デフォルト値: |
seed | いいえ | 0〜2147483647。LoRA の scale を掃引するあいだは固定してください。 |
料金
| 仕様 | 料金 |
|---|---|
| $0.024 / 秒 |
| $0.048 / 秒 |
ユースケース
自社のイラストスタイルをシリーズ全体に
線画と配色の扱いで LoRA を学習させ、強度 1 前後で低ノイズ側のスロットに読み込みます。各クリップのキャラクターとセットは開始フレームが、描画は LoRA が担うため、シリーズのどのクリップにも同じ描画が乗ります。屋上を歩く例は、そのための出発点にあたります。夜の屋上に立つセル調のキャラクターを LoRA なしで動かし、プロンプトではトラッキングの間もアニメ調の描画を保つよう指示しています。
カメラのスタイルと描画スタイルを切り離す
同じリクエストの中で、動きやカメラの LoRA を高ノイズ側に、質感の LoRA を低ノイズ側に入れます。動きは合っているのに質感が強すぎる場合は、低ノイズ側の強度だけを下げ、同じ画像、プロンプト、シードで実行し直してください。
無検閲スタイルの重み
無検閲の作風で学習させた重みも、ほかのファイルと同じように実行されます。リクエストで内容を申告することはなく、LoRA が検査されることもありません。作業の範囲を決めるのは、重み、学習データ、開始フレームに対するあなたの権利と、映っている全員の同意、年齢、現地の法律です。
ちょうどよい強度を見つける
画像、プロンプト、シードを固定し、ひとつの LoRA の強度を 0.5 から 1.5 まで 480p で 4 回に分けて振ります。およそ 1.5 を超えると、スタイルが被写体を彩るのではなく飲み込み始める傾向があります。スタイルが効いていて、画像の被写体がまだ崩れていない回を選び、その組み合わせを 720p で生成し直してください。
プロンプトガイドと実践のヒント
書き始める前にスロットを決める
LoRA に何を変えさせたいのかを先に決めます。描画スタイルは低ノイズ側、動きやカメラのスタイルは高ノイズ側、構図と質感の両方に効かせたいときは共通のスロットです。そうすれば、プロンプトには何が動き、カメラがどう動くかだけを書けば済みます。
スタイルを二重に指定しない
LoRA を読み込んだうえでプロンプトにも同じスタイル名を書くと、効果が二重にかかりがちです。見た目を LoRA に任せるときは、プロンプトは動作とカメラに絞り、スタイルの言葉を足す代わりに強度で調整してください。
付属の例を応用する
屋上を歩く例は、duration_seconds 5、resolution 480p で、LoRA のスロットは 3 つとも空のまま実行されています。
She pushes off the railing, straightens her blazer over one shoulder and turns to walk along the rooftop, city lights and the vending machine glow sliding past behind her, hair lifting in the night wind. Smooth tracking move, anime cel-shaded style held stable.
まずご自身の画像で、同じ形のプロンプト(動作ひとつ、カメラワークひとつ)と固定したシードを使ってベースのクリップを作ります。次に、ひとつのスロットに重みの URL を 1 件だけ強度 1 で加え、ほかは何も変えずに実行して 2 本を見比べれば、その LoRA が何を変えるのかがわかります。
長さ、シード、画像を意図して設定する
duration_seconds に指定できるのは 5 か 8 だけで、それ以外の値は丸められずにエラーになります。シードは 0 を指定するとランダムになるため、強度を振っている間は 0 以外の値を使ってください。画像は透過なしの PNG、JPEG、BMP、WebP で 20 MB まで使えます。クリップのアスペクト比は画像から決まるので、先に納品する形へトリミングしておきます。
API クイックスタート
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "alibaba/wan-2.2-lora/image-to-video",
"input": {
"duration_seconds": 5,
"image_url": "https://example.com/reference.png",
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"resolution": "480p"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
認証、完全なスキーマ、ポーリング、エラー処理は API リファレンスを参照してください。




























