Wan2.2 Animateガイド|ComfyUIで画像を動画化する方法

今回の記事では「Wan2.2 Animate」について詳しく解説します。これまでWan2.2シリーズを紹介してきましたが、Wan2.2 AnimateはImage-to-Video(I2V)とVideo-to-Video(V2V)の技術を融合したモデルです。参照画像と参照動画を組み合わせることで、生成する動画の見た目と動きを自在にコントロールできます。
この記事で学べる事
- Wan2.2 Animateの基本的な仕組みと2つのモード(キャラクターアニメーション/キャラクター置換)の違い
- ComfyUI公式ワークフローの導入方法と必要なモデル・カスタムノードの準備
- 各ノード(Points Editor、SAM2、WanAnimateImageToVideoなど)のパラメーター解説
- インプット素材の下準備からコントロール動画・参照画像の作成手順(💎プレミアム記事)
- カスタムワークフローを使った高品質な動画生成とサンプリング延長の方法(💎プレミアム記事)
- フレーム数の計算方法とキャラクター置換モードでのマスク設定(💎プレミアム記事)
WAN2.2 animateとは
「Wan2.2 Animate」は、1枚の画像(参照画像)と動きの元となる動画(参照動画)を組み合わせることで、画像のキャラクターに動画の動きを反映させることができるモデルです。
具体的には、Image-to-Video(I2V)の要素とVideo-to-Video(V2V)の要素を統合した仕組みになっています。キャラクターの見た目(参照画像)を維持したまま、動き(参照動画)だけを適用できるのが大きな特徴です。
公式では「Unified Character Animation and Replacement with Holistic Replication」と題されており、キャラクターの全体的な特徴を保ちながらアニメーション化することに特化しています。
Wan2.2 Animateの2つのモード
Wan2.2 Animateには、大きくわけて以下の2つのモードがあります。
- キャラクターアニメーションモード:参照画像のキャラクターに、参照動画のモーション(動き)のみを適用するモード。背景は参照画像のものが維持されるか、シンプルな背景になります。
- キャラクター置換(リプレイスメント)モード:参照動画のキャラクターを参照画像のキャラクターに入れ替えるモード。参照動画の背景やライティング、カメラワークなどがそのまま維持されます。
用途に合わせて使い分けることで、映像表現の幅が大きく広がります。
ComfyUIのテンプレート「Wan2.2 Animate」を見てみる
ComfyUIのテンプレートには含まれていなかったため、今回はComfyUIの公式チュートリアルページからワークフローをダウンロードしましょう。
このワークフローには「キャラクターアニメーションモード」と「キャラクター置換モード」の2つが含まれています。✅読み込んだ直後は「キャラクター置換モード」になっています。
「Wan2.2 Animate」で使用するモデル
ワークフローでは以下のモデルを使用しています。今回のワークフローではCLIP Visionも必要です。CLIP Visionのダウンロード先はComfyUI/models/clip_visions/になります。
ComfyUIワークフロー「Wan2.2 Animate」用インプット素材
インプットに使う画像と動画は、先ほどのリンク先ページの中ほどに掲載されています。参照画像(Reference Image)と参照動画(Reference Video)の2つをダウンロードしておきましょう。
ComfyUIワークフロー「Wan2.2 Animate」のカスタムノードについて
このワークフローでは以下の3つのカスタムノードが使われています。事前にインストールしておきましょう。
ComfyUIワークフロー「Wan2.2 Animate」のノードについて
基本的な構成はほかのWan2.2系ワークフローと共通のため、ここでは新たに追加されたノードに絞って解説します。
Points Editorノードについて
「Points Editor」ノードは、画像上の任意の座標(ポイント)を指定するためのノードです。SAM2でセグメンテーションを行う際のポイント指定に使用します。各パラメーターの役割は以下のとおりです。
- bg_image:ポイントを指定する画像を読み込みます。
- points_store:ポイント情報を保持する内部的な文字列データです。
- bbox_store:バウンディングボックス情報を保持する内部的な文字列データです。
- bbox_format:バウンディングボックスのフォーマット(xyxy/xywhなど)を指定します。
- width:編集キャンバスの幅を指定します。
- height:編集キャンバスの高さを指定します。
- normalize:
Trueにすると座標を画像のサイズに対する割合(0.0〜1.0)で出力し、Falseにするとピクセル単位の絶対座標で出力します。
(Down)Load SAM2modelノードについて
「(Down)Load SAM2model」ノードは、SAM2(Segment Anything model 2)のモデルを読み込むためのノードです。モデルがない場合は自動的にダウンロードされます。
- model:使用するSAM2モデルを選択します(例:sam2_hiera_large.ptなど)。
- segmentor:使用するセグメンテーションのモード(single/video/automaskgenerator)を指定します。
automaskgeneratorは画像全体から自動的にマスクを生成します。 - device:計算処理を行うデバイス(cuda/cpu)を指定します。
- precision:計算精度(fp16/bf16など)を指定します。
Sam2Segmentationノードについて
「Sam2Segmentation」ノードは、SAM2モデルと指定したポイント情報を使用して、画像から特定のオブジェクトをセグメンテーション(切り抜き)するノードです。
- sam2_model:ロードしたSAM2モデルを入力します。
- image:セグメンテーション対象の画像を入力します。
- coordinates_positive:セグメンテーションする対象のポジティブ座標(含める領域)を入力します。「Points Editor」ノードなどの座標データを受け付けます。
- coordinates_negative:セグメンテーションから除外するネガティブ座標(含めない領域)を入力します。
- bboxes:セグメンテーション対象を囲むバウンディングボックス(矩形領域)を入力します。
- mask:既存のマスク画像を入力してセグメンテーションのヒントとして使用できます。
- keep_model_loaded:処理後にモデルをVRAMに残すかどうかを設定します。
- individual_objects:
Trueにすると検出された複数のオブジェクトを個別に処理します。
Grow Maskノードについて
「Grow Mask」ノードは、マスク領域を拡張(太らせる)または縮小(痩せさせる)ためのノードです。セグメンテーションの境界を微調整する際によく使用します。
- mask:処理対象のマスクを入力します。
- expand:マスクを拡張するピクセル数を指定します。マイナス値を指定すると縮小します。
- tapered_corners:
Trueにすると角を丸くして自然な形状にします。
Blockify Maskノードについて
「Blockify Mask」ノードは、マスクをブロック状(モザイク状)に変換するノードです。細かいノイズを除去したり、特定のスタイライズ効果を狙う場合に使用します。
- mask:処理対象のマスクを入力します。
- block_size:ブロックのサイズを指定します。値が大きいほど粗いブロックになります。
- device:計算処理を行うデバイス(cpu/gpu)を指定します。デフォルトは
cpuです。
WanAnimateImageToVideoノードについて
「WanAnimateImageToVideo」ノードは、参照画像と参照動画を組み合わせて動画を生成する、Wan2.2 Animateの中核となるノードです。
- positive/negative:プロンプトを入力します。
- vae:VAEを入力します。
- clip_vision_output:clip vision outputを入力します。
- reference_image:キャラクターや被写体の参照画像を入力します。
- face_video:表情の動きのコントロール動画を適用するための入力です。
- pose_video:全身のポーズや動きのコントロール動画を適用するための入力です。
- background_video:キャラクター置換モードで使用する動画を入力します。
- charactor_mask:キャラクター置換モードでbackground_video上の置き換えたい被写体の領域を指定するマスクを入力します。
- continue_motion:生成する動画が前の動画(またはフレーム)からの動きを継続するかどうかを設定します。長尺動画の生成時に使用されます。
- width/height:動画のサイズを設定します。
- length:動画の長さをフレーム数で設定します。
- batch_size:一度に生成する動画の数を設定します。
- continue_motion_max_frames:モーション継続時の参照フレーム数を設定します。このフレーム数分だけ前の動画の末尾を参照して次の生成を行うことで、つなぎ目を馴染ませる効果が期待できます。
- video_frame_offset:参照動画の読み込み開始フレーム位置を設定します。
TrimVideoLatentノードについて
「TrimVideoLatent」ノードは、動画のLatent(潜在空間表現)データをビデオの先頭から指定したフレーム分だけトリミング(カット)するノードです。参照動画の長さを調整したい場合などに使用します。
- samples:トリミング対象のLatentを入力します。
- trim_amount:ビデオの先頭からトリミングするフレーム数を指定します。値を増やすと動画が短くなります。
ImageFromBatchノードについて
「ImageFromBatch」ノードは、画像のバッチ(束)から特定の画像を取り出すノードです。
- image:バッチ画像を入力します。
- batch_index:取り出す画像のインデックス(番号)を指定します(0から始まります)。
- length:取り出す枚数を指定します(最大は4096フレーム)。
Batch Imagesノードについて
「Batch Images」ノードは、複数の画像を結合して1つのバッチにするノードです。
- image1:1枚目の画像を入力します。
- image2:2枚目の画像を入力します。これらが結合されて出力されます。
ComfyUIワークフロー「Wan2.2 Animate」の使い方
それでは、実際にワークフローを使ってみましょう。ここではキャラクター置換モードを例に手順を説明します。
- ダウンロードした参照画像を「Load Image」に読み込みます。
- ダウンロードした参照動画を「Load Video」に読み込みます。
- 各モデルが正しく読み込まれていることを確認したら、「Run」ボタンで実行します。
しばらく待つと、参照画像のキャラクターが参照動画のモーションで動く動画が生成されます。✅動画の上部にインプットを表示していますが、このインプット動画ではうまくキャプチャーできていないのが確認できます。
公式ワークフローをカスタムする
ここからは公式ワークフローを実用向けにカスタマイズしていきます。今回も各プロセスをワークフローごとに分けたほうが使い勝手がよかったため、3つのワークフローに分割しました。下準備を含めると手順は全部で4つです。
- インプット動画の下準備:コントロール動画に変換する動画の下準備。
- 動画からコントロール動画への変換:DCAI_Video2Control-OpenPoseでインプット動画からコントロール動画を作成します。
- 参照画像の作成:DCAI_Control2RefImage-OpenPoseでコントロール動画から参照画像を生成します。
- 動画の生成:DCAI_wan2_2_14B_animateでコントロール動画と参照画像を使って動画を生成します。
ワークフロー生成例
カスタムワークフローを実行すると、参照画像のキャラクターに参照動画のモーションを適用した高品質な動画が生成されます。⚠️こちらの例では音付きの参照動画を使用しています。ミュートを解除すると音が出るのでご注意ください。
今回は🔗Pixabayよりsatynek氏の動画をお借りしました。
Wan2.2 Animateには2つのモードがあります。上の動画が「キャラクターアニメーションモード」、下の動画が「キャラクター置換モード」で生成した結果です。
ワークフローやインプット素材はPatreonで公開しています。有料サポーター様のみ閲覧・ダウンロードが可能です。
まとめ
今回はWan2.2 Animateの基本的な仕組みから、ComfyUIでの実践的な使い方までを解説しました。Wan2.2 Animateは参照画像と参照動画を組み合わせることで、キャラクターの見た目を維持したまま自然な動きを付けられる強力なモデルです。「キャラクターアニメーションモード」と「キャラクター置換モード」の2つを使い分ければ、幅広い映像表現が可能になります。カスタムワークフローを活用して、ぜひ高品質な動画生成に挑戦してみてください。
最後までお読みいただきありがとうございます。
もし少しでも参考になったら、ぜひ「いいね」で応援してください!



