動画と画像から動画生成 VI2V チュートリアル - Zuntan03/EasyWanVideo GitHub Wiki
Wan Fun Control で動画と画像から動画を生成する VI2V のチュートリアルです。 参考動画はこちら。
画像からの動画生成の I2V や、プロンプトからの動画生成の T2V と比べて、VI2V には次の利点があります。
- 圧倒的に計算コストが低く、より高速に生成できます。
- 他の手法では同等の計算量では動画の品質が低くなりますが、VI2V は元動画の動きと元画像の見た目を組み合わせるため、1.3B モデルでも一定の品質を得られます。
- 動画生成としては生成時間がとても短く、高解像度での生成やガチャがはかどります。
- I2V と同様にキャラやシチュエーションを強力に制御しつつ、LoRA がないと制御が難しかった動きを再現できます。
- 元の動画の音声を、生成する動画で活用することもできます。
VI2V の欠点は 相性の良い元動画が必要 なことと、準備に手間が掛かることです。
NSFW などの元動画の動きや音声を活用しつつ、お好みのキャラやシチュに変更できます。
VI2V は動きが元動画に準ずるため、素材の準備に手間がかかります。
EasyWanVideo では追加の動画編集ソフトなどを用意しなくとも、VI2V で生成できる環境を用紙しています。
元動画を用意するには様々な方法があります。
- 自分で撮影
- インターネットからダウンロード
- PC 画面をスクリーンキャプチャ
- I2V や T2V の動画生成
元動画の要件は長辺のサイズが 512px~1024px 以上、フレームレートが秒間 16フレーム(16 FPS) 以上、長さが 5秒 以上で、動画の要件としては低スペックで問題ありません。
動画のサイズや長さや FPS が揃っていなくても、後で修正できます。
- 動きの大きい・速い動画は 16FPS での差が大きくなるため、精度が低くなる傾向があります。
- 顔の表示面積が小さい動画は、顔が崩れやすくなります。
- イラスト・アニメ調の顔を再描画する際に、リアル調に寄りやすい性質があります。
スマホなどで動画を撮影して、何らかの手段で PC に動画を転送してください。
動画サイトからダウンロードしたり、誰かから共有された動画を入手したりです。
動画を手軽にダウンロードできるツールなんかもあります。
今回のチュートリアルでは、動画サイトの pexels で共有されいる 動画 を VI2V してみます。

Windows の標準機能では、Snipping Tool, Xbox Game Bar, Microsoft Clipchamp でスクリーンをキャプチャできます 。
-
Snipping ToolはWin + Shift + Rで動画キャプチャできます。- 画質は悪くなりますが、キャプチャ矩形を指定できるのが便利です。
-
Xbox Game BarはWin + Alt + Rで動画キャプチャ、Win + Gでキャプチャ済み動画を確認できます。- 画質などは Windows 設定の
設定 - ゲーム - キャプチャから設定できます。
- 画質などは Windows 設定の
ニコニコ動画など、スクリーンキャプチャを制限していない動画共有サイトもあります。
I2V や T2V の動画生成でお気に入りの動画を生成できれば、それを元に他のキャラやシチュエーションのバリエーションを生成できます。
いずれかの手段で元動画を用意できたら、Wan Fun Control の VI2V 用に動画の前処理をします。
VI2V の元動画では 512px~1024px のサイズ、16FPS のフレームレート、81フレーム の長さといった制約を守ると、生成する動画の品質が高まります。
動画の編集には ComfyUI を利用しますが、ComfyUI は長い動画を編集するのに適していません。
ですので、まずは FFmpeg で長尺の動画から利用する部分を切り出します。
元動画の再生速度を変更します。再生速度の変更が不要であれば、次に進んでください。
- 動画の再生速度は
VideoTool/にあるSetPlaySpeed.batで変更できます。-
SetPlaySpeed.batを実行したらコンソールウィンドウに動画をドラッグ&ドロップしてEnterし、再生速度を0.5~2.0の範囲で入力してEnterします。 -
動画 ではスロー再生を解除するために
2.0倍速で再生しました。
-
TIPS: VideoTool/ の *.bat ファイルに動画を直接ドラッグ&ドロップすることもできます。
元動画を 16FPS の 81フレーム または 49フレーム で動画を切り出します。
-
VideoTool/にあるCut_16FPS_81framesかCut_16FPS_49framesを実行して、コンソールウィンドウに動画をドラッグ&ドロップしてEnterし、切り取り開始秒数を数値で入力するかhh:mm:ssフォーマットで指定します。-
開始フレームを画像生成で参照しますので、扱いやすそうな普通の画像が開始フレームとなるように、切り取り開始秒数を微調整してください。
切り取った*.webpのサムネイルが最初の画像になります。
-
開始フレームを画像生成で参照しますので、扱いやすそうな普通の画像が開始フレームとなるように、切り取り開始秒数を微調整してください。
- 同時に保存される音声の
*.wavファイルは、『5. 音声の用意』で使用します。
TIPS: *_Mirror.bat では、合わせて左右反転もします。
元動画の幅と高さを調整して、開始画像も得る前処理です。
-
ComfyUi.batを起動してEasy/にあるVi2vPreprecessワークフローを開き、*.webpを読み込みます。- 実行すると
*.webpを適切なサイズで保存しつつ、開始フレームの*.pngも保存します。- 開始フレームの
*.pngは次の『3. 元画像の用意』で使用します。
- 開始フレームの
- 下側にある
PointsEditorにてCtrl + 左ドラッグで矩形指定すると、動画サイズの切り抜き範囲を指定できます。-
PointsEditorの下部にあるNew canvasボタンで、矩形指定をリセットできます。
-
- 実行すると

以下は 動画 を 2.0 倍速にして、0 秒から 16FPS の 81フレーム で切り出し、サイズを長辺 1024px で調整した動画と先頭フレーム画像です。
| 元動画, 1024x816, 16FPS, 81フレーム | 開始画像, 1024x816 |
|---|---|
![]() |
![]() |
開始画像と同様の構図でキャラやシチュエーションや画風などを、お好みに書き換えた画像を EasyReforge などで用意します。
- 手、足、顔、目、口といった、各パーツの位置が一致しているほど、VI2V 動画生成の精度が高まります。
-
img2imgではなく、txt2imgと ControlNet で構図を寄せたほうが、書き換えの自由度が高まります。 - 動きの激しい顔の書き換えでは、実写調や
Uncanny valleyのようなセミリアル調に寄せたほうが精度が高くなるようです。 - 不要なモノが映り込んでいる場合は、
EasyReforge付属のLamaCleaner.batでの削除が便利です。
今回は ControlNet の Tile で強力に絵を寄せつつ、Tile 後も AnyTest で補助しながらガチャりました。
Starting/Ending Control Step は、お好みで調整してください。
Tile, 0 から 0.2~0.3 まで |
Anytest, Tile 後から 0.4~0.6 まで |
|---|---|
![]() |
![]() |
TIPS: セミリアルモデルで生成した開始画像と動画を元にして、アニメモデルの開始画像と動画を生成することもできます。
| 開始画像 セミリアル調 Uncanny valley |
開始画像 アニメ調 Libras |
|---|---|
![]() |
![]() |
- ちょっと古いですが画像編集の参考情報です。
- ポン出しで満足する画像が得られなくても、部分書き換えで確実に理想へ寄せることもできます。
EasyReforge をそろそろ大規模更新したいので、後で書き換えるかもしれません。
VI2V 動画は Easy/ にある KijaiFun_Vi2v ワークフローで生成します。
黄色いノードが『I2V Kijai 版チュートリアル』から変更のある主な操作ノードです。
SageAttention をインストールしていない環境では 高速化: コンパイル の無効化と、sageattn から spda への変更が必要です。

-
プロンプト入力左側の動きを指定する動画を読み込むで元動画読み込み、その下の見た目を指定する画像を読み込むで開始画像の改変画像を読み込みます。 -
プロンプト入力でアニメーションについてのプロンプトを入力します。-
Multilingual prediction support.らしいので、日本語プロンプトが通るかもしれません。
-
-
プロンプト入力下側のコントロールネット関連のパラメータを設定して、実行で生成します。

-
長辺: 生成する動画の大きさを512~1024ぐらいで指定します。- メモリ不足が発生する場合は、この値を下げてください。
-
開始画像の強度: 開始画像の影響を強めたい場合に1.2~1.4ぐらいを指定します。 -
動画コントロールネットの機能選択: 元動画と開始画像の組み合わせによって、利用する動画コントロールネットが変わります。
複数の動画コントロールネットを組み合わせることで、特性を組み合わせることができます。-
保存済動画の読み込み:コントロールネット動画も保存するで保存した動画を下部のの保存済みコントロールネット動画を読み込むでコントロールネット動画を再利用できます。- 時間の掛かる
ポーズの前処理などを省略できます。
- 時間の掛かる
-
デプス: 奥行き情報からモノの形を再現します。
イラスト・アニメ顔の再現に優れています。-
デプスのスケールでデプスの効き具合を調整できます。- デプスの影響が強くなりすぎる場合に、
0.4ぐらいで指定します。
- デプスの影響が強くなりすぎる場合に、
-
デプスのみガウスぼかし,ガウスぼかしの半径で、デプスがディティールを再現しないようにできます。- 形状を変えたいが、大まかな動きをデプスから拾いたい場合に利用します。
-
-
キャニー: 画面上の線を再現します。- 画面上の線が、良くも悪くもモノの形ではなく線としてのみ再現されます。
-
ポーズ: 人のポーズのみを再現します。- カメラの動きなど、ポーズ以外の要素を拾えません。
- 人体パーツの識別精度もあまり高くありません。
-
-
動画コントロールネットの終了: 動画コントロールネットの終了タイミングを指定します。0.3程度でも十分な効果が得られることが多く、後の描画を開始画像とモデルに任せられます。- 動画コントロールネットが対象であり、開始画像には影響しません。
-
全体を二乗でメリハリ: デプス利用時にディティールを潰しつつ、大まかな動きをしっかり取れるようになる、気がします。 -
全体をガウスぼかし: 全体としてディティールを拾わないようにします。 -
キャニーのパラメータ: キャニーのエッジ抽出用のパラメータです。-
CannyCheckワークフローで適切な値を探すことができます。
-

-
ポーズ+デプス,デプスのスケール:0.4,デプスのみガウスぼかし:8px,コントロールネットの終了:0.3 - ポーズのみだとカメラの動きが再現されないため、デプスをぼかしながら弱く適用しています。
- ポーズでは見切れている手の識別もできていません。
- デプスをぼかさずに強めると、ツインテールなどの形状違いが扱えなくなります。
- 動画の自由度を高めるため、動画コントロールネットの適用を
0.3で止めています。
動画に合わせる音声を生成したり、元動画の音声を加工したりします。
Spaces for Audio / Voices の T2S スペースなどが利用できます。
- TTS 例 1 2 3、
- BGM: Stable Audio
-
Easy/のAudioSeparationでVocalを分離できます。 -
Spaces for Audio / Voicesの音声入力を受け付けるスペースなどで加工できます。 -
Easy/のAudioCombineで平均や加算で結合できます。-
AudioCombineのExpected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu!エラーは、素材をAudioSeparationに通せばとりあえず回避できる。要修正。
-
『動画の仕上げチュートリアル』も参考にしてください。
- (スキップ可)
Mosaicワークフローでモザイクを付与できます。 - (スキップ可)
Upscaleワークフローで 2倍サイズにアップスケールできます。- 動画が大きくなりすぎる場合は、アップスケール後に
Resizeワークフローで縮小できます。- アップスケールしてから縮小することにより、アンチエイリアスのような微細な品質向上が見込めます。
- 動画が大きくなりすぎる場合は、アップスケール後に
- (スキップ可)
AddLabelワークフローで上部や下部に日本語での説明を付けられます。 - (推奨)
Interpolateワークフローで、フレーム補間と音声との結合ができます。





