Wan 2.2 Fun Controlとは?動画生成を狙い通りに制御する方法

今回は「Wan 2.2 14B Fun Control」を紹介します。動画用のコントロールネットとして、人物の動きやタイミングなどを条件に沿って整えやすくなるのが特長です。本記事では、機能の概要を押さえたうえで、公式テンプレートを動かしながら改良版ワークフローの考え方と手順を解説します。
Wan 2.2 14B Fun Controlとは
「Wan 2.2 14B Fun Control」は、単なるプロンプト(テキスト)からの動画生成だけでなく、「Control Codes」メカニズムとマルチモーダルな条件入力を組み合わせることで、指定した制御条件に従う動画を生成しやすくする点が最大の特徴です。
Wan 2.2 14B Fun Controlの主な機能
Wan 2.2 14B Fun Controlで使える制御は次の通りです。
- OpenPose(骨格/ポーズ制御):アバターのモーション制御、ダンス動画の転写、モーションキャプチャデータの動画化、スポーツ動作の解析
- Depth(深度制御):アバターのシルエットの保持、カメラワークの再現(パララックス効果)、空間の一貫性維持、立体的な表現
- Canny(輪郭制御):アバターの細かい形状や構造の保持、ディテールの維持、背景の書き換え
- MLSD(幾何学的輪郭制御):建築物や室内の構造の制御、安定した背景の生成、立体的な表現
- Trajectory Control(軌道制御):特定の物体の動きや経路を指定した動画生成
生成できる解像度の目安は次の通りです。
- 512サイズ:
SD1.5と同等 - 768サイズ:
SD2.0と同等 - 1024サイズ:
SDXLと同等
ComfyUIのテンプレート「Wan 2.2 14B Fun Control」を見てみる
これまではComfyUI_examplesを参照していましたが、今回はComfyUIのテンプレートから例を呼び出して確認します。
ComfyUIテンプレートの使い方
テンプレートは画面左側のTemplatesボタンから読み込みます。
Templatesを開くと、さまざまなテンプレートが表示されます。
左側メニューのGENERATION TYPEからVideoを選択します。
動画関連のテンプレートが表示されるので、Wan 2.2 14B Fun Controlを選択します。
テンプレートを開くと不足しているモデルが表示されます。指示に沿ってダウンロードすれば、そのままテンプレートを使えます。
カスタムノードが不足している場合も警告が出ます。ComfyUI ManagerのInstall Missing Custom Nodesからインストールしましょう。
「Wan 2.2 14B Fun Control」で使用するモデル
テンプレートでは以下のモデルを使用しています。
Diffusion Model (High) Diffusion Model (Low) Text Encoder VAE Lightning LoRA (High) Lightning LoRA (Low)✅間違えやすい点として、Diffusion ModelをUnetに置いてしまうことがあります。GGUFモデルはUnetに置きますが、FP8などの通常モデルはdiffusion_modelsフォルダーに置きましょう。
ComfyUIテンプレート「Wan 2.2 14B Fun Control」用インプット素材
インプットに使う画像とOpenPose動画は、次のリンクページの中ほどにあるのでダウンロードしましょう。
ComfyUIテンプレート「Wan 2.2 14B Fun Control」のノードについて
このテンプレートには通常版とLightning4StepsLoRA版の2つのワークフローがあります。✅読み込んだ直後は通常版になっています。
基本の構成は「Wan2.2 14B I2V」のワークフローと近いため、ここではコントロール部分に絞って解説します。
参照画像の読み込み
Load Image:「Wan 2.2 14B Fun Control」が参照する画像を読み込みます。
コントロール動画の読み込み
- Load Video:コントロールに使う動画を読み込みます。
- Get Video Components:読み込んだ動画を連番の静止画に変換します。
- Canny:読み込んだ画像から輪郭線を抽出します。(今回のインプットでは使いません)
動画の基本設定
Wan22FunControlToVideo:動画の基本パラメーターを設定します。
ComfyUIテンプレート「Wan 2.2 14B Fun Control」の使い方
通常版
では、先ほどダウンロードした参照画像とOpenPose動画を、「Load Image」と「Load Video」ノードにそれぞれ読み込ませます。
この例ではOpenPose動画を使うため、「Canny」ノードはバイパスされています。CannyやDepthを使いたい場合はここで変換します。✅場合によってはカスタムノードの「🔗comfyui_controlnet_aux」を使います。
ほかの設定は触らずにワークフローを実行してみましょう。
しばらくするとインプット画像のキャラクターがOpenPose動画に合わせた動きをします。
Lightning4StepsLoRA版
こちらを使う場合は、まずDefault workflowグループを右クリックメニューからBypass Group Nodesにして、全体をバイパスします。
次に、Wan2.2 Fun Control fp8 scaled+ 4 steps LoRAグループを右クリックメニューからSet Group Nodes to Alwaysにして、全体を有効化します。
通常版と同じく「Canny」ノードは使わないので、「Preview Image」とともにバイパスします。
あとは参照画像とOpenPose動画を、「Load Image」と「Load Video」ノードにそれぞれ読み込ませれば設定完了です。
Lightning4StepsLoRA版は通常版と比べて、少ない生成時間で動画を生成できていることが確認できると思います。
生成結果
手の部分が不自然なのは、Seedの当たり外れ、またはOpenPoseで手が十分にキャプチャーできていないことが原因と考えられます。
公式ワークフローをカスタムする
今回のカスタムでは、各プロセスを別々のワークフローに分けたほうが使い勝手が良かったため、3つのワークフローに分割しました。下準備を含めると手順は4つです。以下はOpenPoseの例です。
- インプット動画の下準備:コントロール動画に変換する動画の下準備。
- 動画からコントロール動画への変換:DCAI_Video2Control-OpenPoseでインプット動画からコントロール動画を作成します。
- 参照画像の作成:DCAI_Control2RefImage-OpenPoseでコントロール動画から参照画像を生成します。
- Wan 2.2 14B Fun Control:DCAI_Wan22_14B_Fun_Control-OpenPoseでコントロール動画と参照画像を使って動画を生成します。
インプット動画の人物の動きを手がかりに、任意の画像をコントロールしています。
インプット動画は🔗PixabayよりAmorn_mimi氏の動画をお借りして生成しました。
ワークフロー今回のカスタムワークフローはOpenPose、Depth、Canny+MLSDそれぞれのワークフローです。ワークフローはPatreonにて公開しており、有料サポーター様のみ閲覧・ダウンロードが可能となっています。
OpenPoseのコントロール動画の作り方
まずはOpenPoseから見ていきましょう。
インプット動画の下準備
今回は🔗PixabayよりAmorn_mimi氏の動画をお借りして生成します。このままではWan 2.2 14B Fun Controlに適した動画ではないため、動画編集ソフトで調整して書き出しています。編集後の動画はPatreonに置いておきます。
では、動画からコントロール動画に変換するワークフローを使ってコントロール動画を書き出します。
インプット動画は、あらかじめ動画編集ソフトでサイズとフレームレートを調整しておくと品質が上がります。
✅オススメの書き出し設定- ファイル形式:
MP4 - コーディック:
H264 - サイズ:
1344×768(任意) - フレームレート:
16FPS(動画編集ソフトによって15FPSに変換される場合があります。) - 長さ:
6:00
⚠️Wan2.2 Fun Controlのフレームレートは16FPSです。通常の動画は24FPSから60FPSまでさまざまなフレームレートが使われていますが、たとえば30FPSの動画をそのまま使うとスローモーションのような生成になりやすくなります。あらかじめ動画のサイズや長さもWan2.2 Fun Controlの設定に合わせておくと、ムダの少ない変換ができます。
⚠️通常、16FPSで5秒の動画は79フレームあります。一方、Wan2.2 Fun Controlでは5秒で81フレームになるため、最後の数フレームの参照がなく、結果が不安定になる場合があります。コントロール動画の長さは少し長めの6秒で作成しましょう。
✅「DaVinci Resolve」や「Adobe Media Encoder」などをお持ちでない方は、操作性は落ちますが🔗FFmpegを使うことで無料で高品質な変換が可能です。(Adobe Media Encoderの内部処理で使われています。)ここでは詳しい使い方は説明しませんが、以下のコマンドで変換できます。
ffmpeg -i input.mp4 -vf "scale=1344:768:force_original_aspect_ratio=increase,crop=1344:768,fps=16,trim=duration=6,setpts=PTS-STARTPTS" -c:v libx264 -crf 20 -pix_fmt yuv420p -an output.mp4ffmpeg -i input.mp4 -vf "scale=768:1344:force_original_aspect_ratio=increase,crop=768:1344,fps=16,trim=duration=6,setpts=PTS-STARTPTS" -c:v libx264 -crf 20 -pix_fmt yuv420p -an output.mp4input.mp4とoutput.mp4を任意のファイル名にしましょう。
完成したのが以下の動画になります。
オリジナルより少しだけズームインしています。
動画からコントロール動画への変換
動画の準備ができたら、Patreonに置いてあるワークフローのDCAI_Video2Control-OpenPose.jsonを開きます。
「Load Video」ノードに先ほどの動画を読み込みます。ワークフローを実行するとOpenPose動画が生成されます。
✅ここで注意したい点は、「DWPose Estimator」ノードのdetect_faceをdisableにしていることです。イラスト調の生成では表情がリアル寄りに引っ張られたため、無効化しています。
完成したのが以下の動画になります。
参照画像の作成
次に参照画像を作成します。動画の先頭(イニシャル画像)がOpenPose動画の先頭に近いほど生成の品質が上がりやすいため、動画の先頭画像からOpenPoseを生成し、その結果をもとに参照画像を作ります。
ワークフローのDCAI_Control2RefImage-OpenPose.jsonを使って参照画像を生成します。
「Load Video」ノードにコントロール動画を読み込みます。
以下のモデルを読み込みます。
- ControlNet Model:🔗OpenPoseXL2
- VAE:🔗sdxl.vae(ダウンロード後
sdxl.vae.safetensorsに変更) - Checkpoint:🔗Nova Anime XL – IL v5B | NoobAI EPS 1.1
- LoRA:🔗DCAI Girl – NoobAI XL (ε‑Pred)
今回はOpenPoseの効きが悪かったため、「Apply ControlNet」ノードのstrengthを1.50まで上げています。
あとは気に入る画像が生成されるまで、「Interactive Seed」ノードのNew Random Seedボタンを押しましょう。画像が気に入れば「Control Bridge」ノードのmodeをActiveに切り替えてから、Runボタンを押すとアップスケールとフェイスディテーラーを実行します。
完成したのが以下の画像です。
以上で素材がそろったので動画を生成してみましょう。
OpenPoseを使ったWan 2.2 14B Fun Control
ワークフローのDCAI_Wan22_14B_Fun_Control-OpenPose.jsonを開き、Load ImageとLoad Videoに先ほど生成した画像と動画を読み込みます。
必要なモデルやカスタムノードはMarkdown Noteにまとめています。足りないものがあればダウンロード・インストールしましょう。
プロンプトは生成したい動画の様子を指示します。公式の例では状況をプロンプトにしていますが、インプット画像の説明はそこまで詳しく入力する必要はありません。動かしたい要素のみでも問題ありません。
「Interactive Seed」ノードを使って満足する動画が生成されるまで生成します。
品質が気に入らない場合は、サブグラフの👟 Steps & 🎚️ Shiftでステップ数を5や6に上げてみましょう。
High:Lowの目安は2:2(steps4、swap_at2)ですが、2:3(steps5、swap_at2)や3:3(steps6、swap_at3)も試してみましょう。
また、時間は掛かりますがLightning4StepsLoRAなしで生成する(steps20、swap_at10)方法も高品質になります。
気に入った動画が生成されたら、「🛑 Stop Process」ノードのvalueをTrueにしてRunボタンを押すとアップスケールとフレーム補完のプロセスに移ります。このプロセスが不要の場合は、「Preview Animation」ノードでは動画の保存がされていないため、手前の「Color Match」ノードをOutputグループの「Create Video」ノードに接続してfpsを16に変更しましょう。
以上でコントロールされたアニメーションが生成できました。以下は完成した動画のサンプルです。
Depthのコントロール動画の作り方
Wan22_Fun_ControlのDepthとCannyは、OpenPoseのようにキャラクターを自由にコントロールする目的には適していません。Depthは元画像のシルエットを保ちつつ、カメラワークの再現や空間の一貫性を維持したいときに使います。
こちらは🔗PexelsよりDr. Samar Layek氏の動画をお借りして生成します。
動画の準備ができたら、ワークフローのDCAI_Video2Control-Depth.jsonを開きます。
OpenPoseのときと同じで、「Load Video」ノードに動画を読み込みます。ワークフローを実行するとDepth動画が生成されます。
次に参照画像の準備をします。
ワークフローのDCAI_Control2RefImage-Depth.jsonを使って参照画像を生成します。
Depthを使ったWan 2.2 14B Fun Control
ワークフローのDCAI_Wan22_14B_Fun_Control-Depth.jsonを開き、Load ImageとLoad Videoに先ほど生成した参照画像と動画を読み込みます。このワークフローはOpenPoseのワークフローと同じで、違う点はインプットとプロンプトがDepth向けに調整されていることです。
以上でコントロールされたアニメーションが生成できました。以下は完成した動画のサンプルです。
Canny+MLSDのコントロール動画の作り方
Cannyはキャラクターの細かい形状や構造、ディテールを保持したい場合に適しています。たとえば実写動画をアニメ調の動画にしたい場合などに使います。また、この例ではMLSDをミックスして元動画のパースを保持しています。
こちらは🔗Pixabayより動画をお借りして生成します。
ダウンロードした動画の準備ができたら、ワークフローのDCAI_Video2Control-Canny+MLSD.jsonを開きます。
このワークフローも他と同じ操作方法で使えます。他と違う点はCannyとMLSDを抽出して50%で混ぜているところです。
Canny+MLSDを使ったWan 2.2 14B Fun Control
ワークフローのDCAI_Wan22_14B_Fun_Control-Canny.jsonを開き、Load ImageとLoad Videoに先ほど生成した画像と動画を読み込みます。
このワークフローも他と同じなので、使用方法はOpenPoseのワークフローを参考にしてください。
以上でコントロールされたアニメーションが生成できました。以下は完成した動画のサンプルです。
Trajectory Controlのコントロール動画の作り方
本記事では長くなるため、別記事で詳しく解説する予定です。
まとめ
「Wan 2.2 14B Fun Control」は、テキスト入力に加えてポーズや深度などの条件を取り込み、動画の動きや構図を狙いに近づけやすいコントロールネットです。ComfyUIのテンプレートを使えば、必要なモデルやノードをそろえたうえで、検証をスムーズに進められます。
- まずはテンプレートで全体像を確認:TemplatesからVideoを選び、「Wan 2.2 14B Fun Control」を読み込みます。
- 制御方法は目的で使い分け:OpenPoseは動き、Depthはシルエットとカメラ、Cannyは輪郭とディテールの保持に向きます。
- 下準備で品質を安定:フレームレートを16FPSに合わせ、長さは6秒程度で作成すると扱いやすくなります。
まずはOpenPoseのワークフローで一連の流れをつかみ、目的に合わせてDepthやCanny+MLSDへ広げていくとスムーズです。
最後までお読みいただきありがとうございます。
もし少しでも参考になったら、ぜひ「いいね」で応援してください!


