カメラや動きの LoRA は high_noise_loras に、質感やルックの LoRA は low_noise_loras に、両方に効かせたいファイルは loras に入れてください。 作者が HIGH ファイルと LOW ファイルを公開している場合は、それぞれを専用のスロットに入れてください。5秒・480p のテストクリップは $0.102 なので、本番実行の前に約 $0.41 で配置を確認できます。
Wan 2.2 の image-to-video は、2つの独立したエキスパートネットワークで2段階に分けてノイズを除去します。ハイノイズのエキスパートが先に構図と動きを決め、ローノイズのエキスパートがクリップを仕上げて質感、照明、細部を描き込みます。Wan 2.2 LoRA はエキスパートごとに1つのスロットと共有スロットを用意しているため、重みファイルが変化を許す工程を自分で決められます。
どの LoRA をどのスロットへ
| LoRA が主に変えるもの | 入れるスロット | 理由 |
|---|---|---|
| カメラ移動(オービット、プッシュイン、トラッキング)や繰り返せる動作 | high_noise_loras | 動きと構図は前の工程で決まる |
| 線画、フィルムグレイン、布や肌の表現、カラーグレード | low_noise_loras | 質感は後の工程で描き込まれ、被写体は冒頭のフレームがすでに示している |
| 構図にも表面にも効かせたいルック | loras | 両方のエキスパートに適用される |
| HIGH ファイルと LOW ファイルで公開されている | 対応するスロットに1つずつ | 各ファイルは1つのエキスパート向けに訓練されており、入れ替えないこと |
| ファイルが1つで、工程の指定がない | スロットを選ぶ前に対象のエキスパートを確認してください | 両方のエキスパートと互換がある場合のみ loras を使ってください |
この分け方は強い傾向であって、境界ではありません。動きの LoRA でも見た目は変わることがありますし、グレインの LoRA でも布が動きの中でどう見えるかが変わることがあります。2つの工程の間に固定の強度比はありません。作者のメモがあればそれに従ってください。

コンセプト図:カメラワークとポーズはハイノイズの工程から、布や表面のディテールはローノイズの工程から来ます。
まずは Playground で試す
- Wan 2.2 LoRA の image-to-video ページ を開き、Playground タブの Form ビューに留まってください。実行には残高のあるアカウントでログインします。
- Input image の下に冒頭のフレームを追加し、テストでは Resolution を 480p、Duration を 5 に設定します。
- High-noise LoRAs、Low-noise LoRAs、Style LoRAs(API では共有スロットの
loras)の下の Add item をクリックし、.safetensorsへの直接リンクを貼り付けて強度を設定します。最初は 1 から始めます。 - Seed を設定して実行し、ファイルをもう一方のスロットへ移して再度実行します。下記の4クリップのテストが正式版です。
Playground が送る JSON は API が受け取るものと同じなので、ここで機能した配置はそのままコードに写せます。
続いてコードから実行する
Python SDK(pip install spicyapi)をインストールし、サーバー環境で SPICY_API_KEY を設定してください。各スロットは { "path", "scale" } 形式の項目を最大3つまで受け付けます。path は .safetensors への直接リンク(最大 1 GB、非公開の重みには署名付きリンク)、scale は 0 から 4 です。プレースホルダーの URL を、自分の冒頭フレームと LoRA ファイルに差し替えてください。
import uuid
from spicyapi import SpicyClient, output_assets
client = SpicyClient() # reads SPICY_API_KEY from the environment
task = client.create_task(
model="alibaba/wan-2.2-lora/image-to-video",
input_data={
"image_url": "https://your-storage.example.com/opening-frame.png",
"prompt": "She turns toward the camera and walks forward. One slow orbit around her.",
"duration_seconds": 5,
"resolution": "480p",
"seed": 12345,
"high_noise_loras": [
{"path": "https://your-storage.example.com/orbit-high.safetensors", "scale": 1.0}
],
"low_noise_loras": [
{"path": "https://your-storage.example.com/film-grain-low.safetensors", "scale": 1.0}
],
},
idempotency_key=str(uuid.uuid4()),
)
final = client.wait_for_terminal(task["taskId"])
if final["state"] != "succeeded":
raise RuntimeError(f"{task['taskId']} ended as {final['state']}: {final.get('errorCode')}")
print(output_assets(final)[0]["url"]) # copy the clip to your own storage nowプロンプトに必要なのは動作1つとカメラ指示1つだけです。LoRA がすでにルックを持っているなら、同じ内容をプロンプトに重ねて書かないでください。効果が二重になりがちです。実行を比較するときは、0 以外の固定シードを使ってください(0 はランダム値です)。フィールドと結果は API リファレンス、重みへのリンクの規則は ホスト型 API で自分の LoRA を動かす にあります。
Agent に実行させる
3つの公式ツールはいずれも価格を表示し、有料呼び出しの前に確認を求めます。
- CLI。
inputオブジェクトをinput.jsonとして保存し、npx @spicyapi/cli tasks create --model alibaba/wan-2.2-lora/image-to-video --input-file input.json --waitを実行します(CLI ドキュメント)。 - MCP サーバー。 アシスタントに MCP サーバー を追加し、こう依頼します。「このフレームで Wan 2.2 LoRA image-to-video を実行して。オービット用ファイルはハイノイズのスロットに、グレイン用ファイルはローノイズのスロットに入れて」。
spicyapi_task_createを呼び出し、価格確認のためそこで停止します。 - Skill。
npx skills add spicyapi-ai/spicy-skillは Agent Skill をインストールします。フィールドを推測するのではなく、最新のモデルスキーマを読ませることができます。
強度
作者が指定する各ファイルは 1.0 から始め、scale を1つずつ変えてください。単一の LoRA を一通り試すには、フレーム・プロンプト・シードを固定したまま 480p で 0.5 から 1.5 まで実行します。概ね 1.5 を超えるあたりから、ルックが被写体を覆い隠しがちです。ルックがはっきり出ながら人物がまだ認識できる実行を1つ残し、それを 720p で再レンダリングしてください。ローカルの ComfyUI ワークフローにある高速化(蒸留)LoRA の強度はそのままでは移りません。このエンドポイントにはステップ、サンプラー、切り替え位置のフィールドがないためです。
4クリップでスロットを証明する
冒頭のフレーム(まったく同じファイル)、プロンプト、シード、長さ、解像度を固定して実行してください。
- LoRA なし
- ファイルをハイノイズのスロットだけに入れる
- ファイルをローノイズのスロットだけに入れる
- 両方のスロット(ペアなら HIGH ファイルを
high_noise_loras、LOW ファイルをlow_noise_lorasへ。両方のエキスパートと互換のある単一ファイルならlorasでも動きます)
2つのファイルを必ずペアで使う必要がある場合は、条件 1 と 4 だけ実行してください。合格の目安は次の通りです。オービットの LoRA ならカメラが認識できる弧を描き、被写体が識別できること。質感の LoRA なら質感が動きを越えて残り、最初のフレームにだけ現れないこと。キャラクターの LoRA なら顔と衣装が一貫していること。ポスターの1フレームではなく、冒頭と中間と終わりを見てください。
価格には現在の 15% の LoRA 値下げが含まれます。標準価格は 480p で 1秒あたり $0.024、720p で $0.048 です。
| クリップ | 価格 | 標準 |
|---|---|---|
| 5秒、480p | $0.102 | $0.12 |
| 8秒、480p | $0.163 | $0.192 |
| 5秒、720p | $0.204 | $0.24 |
| 8秒、720p | $0.326 | $0.384 |
480p、5秒での4クリップの検証は合計 $0.41 です(標準価格なら $0.48)。LoRA の個数やファイルの大きさは価格を変えません。Wan 2.2 Spicy LoRA も同じ3つのスロットを使い、動画の延長にも対応します。
クリップが変化しない場合
実行ごとに1つだけ、次の順で変えてください。
- ベースが違います。 ファイルは Wan 2.2 の image-to-video 向けに訓練されている必要があります。別のベース(Wan 2.1、text-to-video、5B モデル)向けの重みは、LoRA が効かない最も一般的な原因です。
- 工程が違います。 動きがない場合は、ファイルを
high_noise_lorasへ移します。質感やルックがない場合はlow_noise_lorasへ移します。 - scale が低すぎます。 ファイル1つずつ、段階的に 1.5 まで上げてください。
- 同一性が揺れる、またはルックが被写体を覆う。 競合している scale を下げる、冒頭のフレームを単純化する、あるいは動作1つと短いクリップを依頼してください。
- リクエストが失敗または拒否される。 リポジトリのページと
blob/ページは送信時に拒否されます。resolve/...の直接ファイルリンクを使ってください。期限切れのリンクはタスク開始後にも失敗することがあるので、先に.safetensorsの完全な URL をブラウザで開いてください。 - タスクは終わるのにシーンが弱められている。 Wan 2.2 LoRA はプラットフォームのコンテンツスキャンがない無検閲エンドポイントなので、結果はベースモデルと重みによって決まります。LoRA を適用しない場合、このエンドポイントは レビュー にある最も強いシーンの一部が弱められました。欲しい結果に合わせて訓練された互換アダプターを選び、LoRA なしの実行と比較してください。
LoRA を組まないほうがよい場面
互換ファイルがあり、名前を付けて確認できる効果があるときは LoRA の経路を使います。繰り返せる動き、カメラ移動、またはクリップをまたいで認識できるルックなどです。フレームとプロンプトだけで目的の動きが既に得られているなら、アダプターは外してかまいません。手元の LoRA ファイルがない場合、Wan の通常版のほうが始めとしては安くなります。Wan のバージョン比較 がシーンの種類別の選択肢を示し、クリップを長くする必要がある段階では Wan 3 のワークフロー選択 が役立ちます。
FAQ
LoRA が HIGH と LOW のペアで届く場合、両方のファイルが必要ですか?
作者がペアでの使用を要求しているなら、対応するスロットに両方を使います。ファイル1つだけを使うのは、作者がそのエキスパート専用の使用を認めている場合だけです。2つのファイルは交換できません。
LoRA を複数重ねられますか?
はい、スロットごとに最大3つまでです。重なるのではなく混ざるため、1つずつ追加してください。
音声を作りますか。テキストから始まりますか?
どちらも該当しません。クリップは無音で、エンドポイントは image-to-video 専用なので、冒頭のフレームとプロンプトが必要です。
ローカルの ComfyUI ワークフローだと、同じプロンプトがなぜ違って見えるのか?
ローカルのワークフローではステップ、shift、エキスパート間の受け渡し位置を設定します。ここではそれらは固定で、調整できるのはスロットと scale だけです。






