静止画のキャラクターにダンスをさせる、あるいは既存動画の人物だけを差し替える。Wan2.2 Animateは、その2つを単一フレームワークで扱えるAlibabaのオープンソース14Bキャラクターアニメーションモデルだ。2025年9月19日にApache-2.0で公開され、ComfyUIまたは公式CLIからローカル実行できる。ただし、出力をきれいに仕上げる鍵は生成ボタンを押すことではない。FPSの整合、ポーズの位置合わせ、マスク処理が結果を大きく左右する。
Wan2.2 Animateとは何か
Wan2.2-Animate-14Bは、Wan-AIによるWan2.2 I2V-A14B画像生成動画モデルの、MoEベースのキャラクターアニメーション派生モデルだ。モデルカードによると、各デノイジングステップで有効になるパラメータは約14Bで、2つのエキスパート全体では27Bとなる。入力はキャラクター画像と動きの参照となる動画の2つ。選ぶモードに応じて、動画の動きをキャラクターに転写するか、動画内の俳優をキャラクターに置き換える。
公式ウェイトはBF16で提供される。一方、ComfyUIワークフローで使うWan2_2-Animate-14B_fp8はFP8量子化版で、16ビットではなく8ビット精度でウェイトを保存する。ウェイト用メモリを半減できるため、コンシューマー向けGPUでも現実的な選択肢になる。
MoveとMixの違い:アニメーションと人物差し替え
Wan2.2 Animateには2つの動作モードがある。ComfyUIでの名称はMoveとMix、CLIと公式ドキュメントではanimationとreplacementだ。スケルトン抽出、暗黙的な顔特徴抽出、キャラクター画像を見た目の参照として使う点は共通するが、何を維持し、何を置き換えるかが異なる。
Moveモード(animation)は、参照動画の身体の動きや表情をキャラクター画像へ転写する。主役はキャラクター画像で、動画は演技を提供する側だ。静止ポートレートを踊るアバターにしたり、コンセプトキャラクターに動画の振り付けを引き継がせたりできる。身体動作は空間的に整列したスケルトン信号で制御され、表情は元動画の俳優からリターゲティングされる。
Mixモード(replacement)は逆に、既存動画の俳優をキャラクター画像で置き換えながら、元のシーンを維持する。専用のRelighting LoRAにより、挿入するキャラクターを元映像の光源や色調へ合わせられるため、単に貼り付けたような合成になりにくい。
| 項目 | Move(アニメーション) | Mix(置換) |
|---|---|---|
| 変わるもの | 静止画がアニメーション化される | 動画内の俳優が置き換わる |
| 維持されるもの | 画像由来のキャラクター同一性 | 動画のシーン、照明、色 |
| 動きを与える入力 | 動画の動作と表情 | 動画内の演技 |
| CLIフラグ | --retarget_flag --use_flux | --replace_flag --use_relighting_lora |
| ポーズリターゲティング | 推奨(体格差に対応) | デフォルトで無効(キャラクターと環境の干渉リスク) |
| 向く用途 | コンセプトキャラクター、アバターのアニメーション化 | 俳優の差し替え、ブランドキャラクターの挿入 |
動作要件とハードウェアの目安
公式リポジトリはGitHub上のWan-Video/Wan2.2で、PyTorch 2.4.0以上が必要になる。高速化にはFlashAttentionが必要だが、初回のインストールで失敗する場合は最後に導入してもよい。公式には固定のVRAM最低要件が示されていないため、コンシューマーGPUではFP8版とモデルオフロードを使うのが基本ルートになる。ダウンロード前に、利用するComfyUIワークフローのメモリ要件を必ず確認したい。
モデルカードの効率性に関する結果は、文章ではなく図表で掲載されている。単一GPUでの実行では、モデルオフロードとdtype変換を使用する。コミュニティの報告も参考にはなるが、あくまで限定的だ。たとえばr/comfyuiのユーザーは、RTX 3070でマスキングとインペインティングを組み合わせ、ダンスアニメーションを生成している。また、リンク先の派生版には8 GB VRAMでの編集をうたうものもある。ただし、いずれもAnimate-14Bの完全なパイプラインではない。
Wan2.2 Animateをローカルで動かす方法
ローカル実行の方法は、公式CLIとComfyUIの2つ。どちらも先にウェイトをダウンロードする必要がある。
git clone https://github.com/Wan-Video/Wan2.2
huggingface-cli download Wan-AI/Wan2.2-Animate-14B --local-dir ./Wan2.2-Animate-14B
CLIで実行する
まず参照動画を前処理し、スケルトンと顔ランドマークを抽出する。その後に推論を実行する。選択するモードによって前処理フラグが変わる。引数の完全な一覧は、モデルカードの実行セクションを参照してほしい。
- アニメーション(Move):
--retarget_flag --use_flux - 置換(Mix):
--replace_flag --use_relighting_lora --iterations 3 --k 7 --w_len 1 --h_len 1
モデルカードのコマンド例では、単一GPU実行に--refert_num 1を指定している。また同カードには、「Wan2.2で学習したLoRAモデルの使用は推奨しない」との注意もある。サードパーティ製LoRAによるウェイト変更は、アニメーションパイプラインで予期しない挙動を招く可能性がある。
ComfyUIで実行する
ComfyUIのネイティブワークフローでは、以下のモデルファイルを所定のディレクトリに配置する。
| ファイル | ディレクトリ | 役割 |
|---|---|---|
Wan2_2-Animate-14B_fp8_e4m3fn_scaled_KJ.safetensors | diffusion_models/ | Kijai FP8メインウェイト |
umt5_xxl_fp8_e4m3fn_scaled.safetensors | text_encoders/ | UMT5 XXLテキストエンコーダー(FP8) |
clip_vision_h.safetensors | clip_visions/ | CLIP Visionエンコーダー |
wan_2.1_vae.safetensors | vae/ | Wan2.1 VAE |
lightx2v_I2V_14B_480p_cfg_step_distill_rank64_bf16.safetensors | loras/ | LightX2V 4ステップ高速化LoRA |
カスタムノードも2つ必要になる。ComfyUI-KJNodesと、スケルトン前処理用のDWPose Estimatorを提供するcomfyui_controlnet_auxだ。実用上の制約は2つある。出力の幅または高さは16で割り切れる必要があり、ベース生成より長い動画を作る場合、Video Extendノードを1つ追加するごとに77フレーム(約4.8秒)が加わる。Mixモードはすべての接続を維持する。Moveモードでは、出力サブグラフノードからbackground_videoとcharacter_maskを切断する。
ホステッドAPIの料金を比較
ローカル環境の構築が重いなら、Wan2.2 Animateをホストするサービスを従量課金で使える。一見すると料金は近いが、請求の基準が異なり、実際のコストには無視できない差が出る。
| 提供元 | 480p | 720p | 課金方式 | 尺の制限 |
|---|---|---|---|---|
| fal.ai | $0.04/秒 | $0.08/秒 | フレーム数を16 fps基準に正規化。高FPSの入力ほど高額 | — |
| WaveSpeed | $0.20 / 5秒 | $0.40 / 5秒 | 出力1回ごと、5秒単位の段階制 | 5~120秒 |
| APIXO | $0.04/秒 | $0.08/秒 | 検出された参照動画の秒数ごと | 最短5秒、最長120秒 |
| Replicate | — | — | 推論1,000秒あたり$3(出力時間ではなく計算時間) | — |
WaveSpeedの5秒単位は実質的に480pで$0.04/秒、720pで$0.08/秒となる。つまり、表面的な単価ではfal.ai、WaveSpeed、APIXOは競争力が拮抗している。注意すべきは計測対象だ。fal.aiはフレーム数を16 fpsに正規化するため、30 fpsの参照動画は、表示上の秒数あたり料金から想像するより高くなる。Replicateは出力尺ではなくGPU推論時間で課金する。たとえば10秒の動画出力に40秒の計算時間がかかれば、料金は$0.12だ。利用前には、各エンドポイントで使えるモードも確認したい。上記のfal.ai URLはMove/animation専用エンドポイントを指している。
実際にうまくいくケース、崩れやすいケース
公式のデモ映像は洗練されているが、コミュニティの使用感を見ると、初回のローカル実行結果との間には差がある。
「秘訣は何だろう。後処理か、フレーム補間か」 — u/Grand-Summer9946, r/comfyui
このスレッドと公式の前処理ガイドから、機能しやすい条件と破綻しやすい条件を整理すると以下のようになる。
得意なケース:背景が比較的静的な状態で、1人のキャラクターにダンスや動きを転写する動画。元動画で人物が正面を向き、表情が明瞭なら、表情の再現も強い。
崩れやすいケース:
- 複数人のシーン。マスク抽出は1人だけが映る動画向けに設計されており、別の人物のポーズを追跡してしまうことがある。
- 体格の大きな違い。キャラクター画像と参照動画で体の比率が異なると、Mixモードではアーティファクトや変形が出やすい。
- FPSの不一致。参照動画とワークフロー設定のFPSが食い違うと、カクつき、スローモーション、ズームのアーティファクトが起こりうる。
- マスクの粒度。粗いマスクは背景を多く残せる一方で形状の漏れを招き、細かいマスクは生成を強く制約するため背景の一貫性を損なうおそれがある。
素の出力でも、プレビューやコンセプト検証には使える。ただし制作品質まで持っていくには、紹介したコミュニティスレッドでも話題になっているように、マスキング、インペインティング、フレーム補間を重ねる必要があるかもしれない。
Wan2.2 Animateと他のWanモデルの位置づけ
Wanファミリーは更新が速く、バージョン名も混同しやすい。モデルカードに基づくと、Wan2.2 Animateの位置づけは次のとおりだ。
| モデル | できること | 本記事との関係 |
|---|---|---|
| Wan2.2-Animate-14B | キャラクターアニメーション+俳優置換(video-to-video) | 本記事の対象 |
| Wan-Animate-2 | コミュニティで後継モデルと報告されているモデル | r/LocalLLaMAで議論(2026年) |
| Wan 2.7 Image Pro | 画像生成・編集(動画ではない) | 異なるモダリティ:静止画 |
| Wan 3 | 汎用text-to-video/image-to-video | より新しい汎用動画モデル。専用キャラクターアニメーションモードはない |
| Wan2.2-S2V-14B | speech-to-video(音声駆動アニメーション) | 音声で動かすための姉妹モデル |
FAQ
Wan2.2 Animateで複数キャラクターを同時に扱える?
できない。公式の前処理ガイドでは、マスク抽出を1人用動画向けに設計している。そのため、どちらのモードでも1回の実行で扱えるのは1キャラクターだ。複数人が入力に含まれると、失敗したり、誤った人物のポーズを追跡したりする可能性がある。複数キャラクターを扱う場合は、それぞれを個別に処理し、後処理で合成する。
対応する解像度は?
ワークフローで対応する解像度は480pと720p。公式の前処理サンプルでは1280×720を使用している。720pを超える解像度は文書化されていないため、高解像度化は別工程でのアップスケーリングが必要になる。
生成物にはどのライセンスが適用される?
モデルのコードとウェイトはApache-2.0で提供される。Wan-AIは生成コンテンツに対する権利を主張しない一方、合法かつ有害でない利用についてはユーザーが責任を負うとしている。モデルカードでは、違法コンテンツの生成、脆弱な人々を標的にする行為、悪意ある個人データの利用を禁じている。
Wan2.2 Animateは音声も生成する?
しない。Animateが出力するのは動画のみだ。音声からのリップシンクなど、音声駆動アニメーションが必要なら別モデルのWan2.2-S2V-14Bを使う。Wan2.2のモデルカードの更新ログによれば、同モデルには2025年9月5日にCosyVoice TTSサポートが追加された。
結論:静止画を動かすならMove、俳優を差し替えるならMixを選ぶ。GPU環境とComfyUIの知識があるならローカル実行が適している。手早く使うならホステッドAPIを選べる。fal.ai、WaveSpeed、APIXOは$0.04~0.08/秒だが、fal.aiの16 fps正規化と、Replicateの計算時間課金は予算に織り込んでおきたい。