AI動画でBGVを作る(5)|ComfyUI + Wan2.2 A14B I2V で狙った映像を作る

AI動画でBGVを作る(3)|Wan2.2 Image-to-Videoで狙った映像を作る — AI動画, BGV, Wan2.2 AI動画

こんにちは、パレイド技術部です。

前回は Wan2.2 14B T2V の fp8_scaled モデル + デュアルサンプラー構成で、VRAM 12GB 環境でも高品質な動画生成ができることを確認しました。

T2V でも品質は十分でしたが、BGV 素材としては「この構図・この色味で動画にしたい」というコントロールが効きません。今回は前回の T2V ワークフローを I2V(Image-to-Video)に変更し、1枚の画像から狙った動画を生成します。

T2V vs I2V:BGV用途での使い分け

観点T2VI2V
入力テキストのみテキスト+画像
構図の制御難しい(ランダム性が高い)容易(画像で指定)
色味の統一シード依存元画像に準拠
適したユースケース抽象パターン、偶発的な表現ブランド素材、特定シーンの演出

BGV 素材では「サイトのカラーに合った背景動画」のように色味や構図を揃えたいケースが多く、I2V のほうが適している場面は多いです。

T2V → I2V の変更点

前回の T2V ワークフローでは、実は画像入力のポート(image_embeds)に空の入力を繋いでいる状態でした。そのため I2V への変更は最小限で済みます。

変更 1: モデルの差し替え

HIGH / LOW noise model と LightX2V LoRA を T2V 用から I2V 用に差し替えます。

種別T2V(前回)I2V(今回)
HIGH noiseWan2_2-T2V-A14B_HIGH_fp8_e4m3fn_scaled_KJ.safetensorsWan2_2-I2V-A14B_HIGH_fp8_e4m3fn_scaled_KJ.safetensors
LOW noiseWan2_2-T2V-A14B-LOW_fp8_e4m3fn_scaled_KJ.safetensorsWan2_2-I2V-A14B-LOW_fp8_e4m3fn_scaled_KJ.safetensors
LoRA(ステップ蒸留)lightx2v_T2V_14B_...lightx2v_I2V_14B_480p_cfg_step_distill_rank64_bf16.safetensors

I2V モデルも同じ Kijai 氏の HuggingFace リポジトリ(Kijai/WanVideo_comfy_fp8_scaled)から取得できます。LightX2V の LoRA も I2V 専用版があるので注意してください。

変更 2: 画像入力の接続

Load Image ノードで開始画像を読み込み、WanVideoImageToVideoEncode ノードで VAE エンコードして image_embeds としてサンプラーに渡します。

[Load Image] → [WanVideoImageToVideoEncode] → image_embeds → [サンプラー]

前回は image_embeds が空の状態だったので、ここに実際の画像を繋ぐだけです。

変更 3: 画像サイズの調整ノード追加

入力画像の解像度を生成動画のサイズに合わせるため、ImageResize+ ノードを追加しました。Wan2.2 は辺の長さが 16 の倍数である必要があるので multiple_of=16 を設定しています。

入力画像のアスペクト比がそのまま生成動画に反映されるため、横長の BGV が欲しければ横長の画像を入力します。

変更なし: その他の構成

以下は T2V と共通のためそのまま流用しています。

  • デュアルサンプラー構成: HIGH(前半3ステップ)→ LOW(後半3ステップ)
  • BlockSwap: blocks_to_swap=40(VRAM 12GB 対応)
  • LightX2V LoRA: 6ステップ生成(I2V用に差し替え済み)
  • VAE: wan_2.1_vae.safetensors(T2V と同じ)
  • VAE Tiled Decode: タイルサイズ 448
  • テキストエンコーダー: umt5-xxl-enc-fp8_e4m3fn.safetensors(fp8版に変更)

入力画像の準備

画像生成AIで入力画像を作る

高精細なチェックポイント使い、Stable Diffusion や Flux で生成した画像をそのまま入力に使えます。ComfyUI 上でワークフローに組み込んでもよいでしょう。BGV 向けに効果的なモチーフとしては下記が挙げられます。

  • グラデーション背景: 単色〜2色のグラデーション。光の揺らぎを加えると映える
  • 自然風景: 海・空・森など。パンやズームとの相性が良い
  • 抽象パターン: ボケ感のある光の点、幾何学模様

下記は後程サンプル動画として掲載している例の入力画像です。ChatGPTで作成しました。

ChatGPTで生成した例。のちほど動画サンプルも掲載します。
こちらもChatGPTで生成した例。

入力画像の解像度

ワークフロー内の ImageResize+ で自動リサイズされるため、厳密に合わせる必要はありません。ただしアスペクト比は生成動画にそのまま反映されるため、BGV として使いたい画面比率の画像を用意します。

今回は前回と同じ 832×480(16:9 に近い横長)で生成しています。

プロンプトの書き方

I2V のプロンプトでは「画像に何が映っているか」ではなく「何をどう動かすか」を指示します。元画像の内容はモデルが自動で認識します。

BGV向けプロンプトのテンプレート:

[カメラワーク], [被写体の動き], [光や雰囲気の変化]

効果的なプロンプト例:

Gentle waves moving slowly, camera slowly panning right, warm golden light shifting gradually
Slow zoom in, cherry blossom petals falling gently, soft breeze
Light particles floating gently, subtle color shift, dreamy atmosphere

終了フレーム画像の指定

Wan2.2 の I2V では、開始画像だけでなく 終了フレームの画像も指定 できます。WanVideoImageToVideoEncode の end_image 入力に2つ目の Load Image を接続するだけです。

  • ループ素材: 開始画像と同じ画像を終了画像に設定すれば、シームレスなループが作りやすい
  • シーン遷移: 昼→夕、晴れ→曇りなど、意図した変化を確実に表現できる
  • 動きの破綻が減る: 終点が決まっているため、途中で不自然な動きが入りにくい

2枚の画像の差が大きすぎると破綻するため、「同じ被写体の変化」程度に留めます。

サンプル動画

BGV でよく見る下記の様なパターンを試してみました。

No.入力画像プロンプト概要結果
1夕焼けの海ゆっくりした波、カメラパン(動画埋め込み予定)
2森の木漏れ日光が揺れる、葉が微かに動く(動画埋め込み予定)
3抽象グラデーション色が滑らかに変化、パーティクル浮遊(動画埋め込み予定)
4都市の夜景車のライトが流れる、ゆっくりズームイン(動画埋め込み予定)

ここでは「夕焼けの海」の例を2つ掲載します。元画像は ChatGPT で生成し、ループ素材を意識して視点と終点に同じ画像を与えています。まずは縦長の例。

後述しますが、太陽のぎらつきが気になります。日没後を指定した横長のパターンも生成してみました。

生成結果と VRAM 使用量

832×480 / 121 frames(約5秒)で生成した場合の結果です。T2V 時とほぼ同等で、画像エンコード処理の分だけわずかに増える程度です。

設定blocks_to_swapVRAM 使用量生成時間(RTX 4070 12GB)
832×480, 121frames, fp8_scaled40約12GB約15分
832×480, 121frames, fp8_scaled30約11GB約13分

前回の T2V と体感的にはほぼ同じ速度です。

BGV としての課題:動きが大きすぎる問題

事前に生成した画像を使うため、構図や色味のコントロールは I2V で大幅に改善されました。しかし実際に BGV 素材として使おうとすると 動きが大きすぎる という問題に直面しました。これは T2V でも起こりうることですが、体感的に I2V の方が影響を受けやすい様に思います。

具体的な症状

  • 太陽がぎらつく: 光の変化が激しく、背景としては主張が強すぎる
  • 波が強く打ち付ける: 穏やかな海を指示しても、波の動きが荒くなりがち
  • 風が強すぎる: 木の葉や草が大きく揺れ、落ち着かない印象になる
  • カメラの揺れ: 微妙な揺れを指定しても、モデルが過剰に動かしてしまう

BGV は「見ている人が意識しない程度のゆっくりした動き」が理想ですが、Wan2.2 は「映える動画」を作る方向に学習されているため、動きを積極的に付けてきます。

プロンプトでの改善を試みたが…

Very gentle, minimal movement, almost still, subtle changes only, slow motion

のようにプロンプトで動きの抑制を試みましたが、効果は限定的です。gentle subtle minimal といったワードを入れても、モデルが解釈する「穏やか」のレベルが BGV 用途には依然として激しすぎます。

次回の方向性

プロンプトだけでの動き制御には限界があるため、次回は以下のアプローチを試す予定です。

  • 生成パラメータでの制御: CFG、Shift 値の調整で動きの大きさを抑える
  • フレーム数の短縮 + ループ化: 短い秒数で生成し、クロスフェードで自然にループ
  • 後処理での速度調整: 生成後にスロー再生化して動きの印象を抑える
  • V2V Refiner やアップスケール: 低解像度で生成→高解像度化のパイプライン

使用モデル一覧

種別ファイル名配置先
HIGH noise modelWan2_2-I2V-A14B_HIGH_fp8_e4m3fn_scaled_KJ.safetensorsdiffusion_models/
LOW noise modelWan2_2-I2V-A14B-LOW_fp8_e4m3fn_scaled_KJ.safetensorsdiffusion_models/
LoRA(ステップ蒸留)lightx2v_I2V_14B_480p_cfg_step_distill_rank64_bf16.safetensorsloras/
VAEwan_2.1_vae.safetensorsvae/
テキストエンコーダーumt5-xxl-enc-fp8_e4m3fn.safetensorstext_encoders/

モデル出典:Kijai/WanVideo_comfy_fp8_scaledKijai/WanVideo_comfy(HuggingFace)

まとめ

  • 前回の T2V ワークフローから モデル差し替え + 画像入力接続 + リサイズノード追加 のみで I2V 化できた
  • デュアルサンプラー構成・BlockSwap・LightX2V LoRA・VAE はすべて T2V と同じ構成を流用
  • I2V により構図・色味のコントロールが効くようになり、BGV 素材の「打率」が大幅に向上
  • ただし BGV としては動きが大きすぎる 問題が残る。プロンプトだけでの改善は難しい

次回は、動きの大きさを制御するためのパラメータ調整やポストプロセスを掘り下げます。

タイトルとURLをコピーしました