NokiMo
スタジオ真榊
スタジオ真榊

fanbox


【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持)










こんばんは、スタジオ真榊です。今回は、Wan2.2でのimage to video(i2v)が簡単にできるアプリ「EasyWan22」特集の第2回。第1回では導入方法からプロンプト記述までの基本を見ていきましたが、今回は動画生成の実践編です。


前回の記事がまだの方は、先にこちらをお読みください。(Refiner機能の追加や各種アップデートを踏まえて大幅に加筆修正しています)

【第1回】「EasyWan22」でイラストを動画に◆カンタン環境構築から操作の基本まで

こんばんは、スタジオ真榊です。今回は、最新のローカル動画生成モデル「Wan2.2」の環境構築が簡単にできるパッケージツール「EasyWan22」の特集シリーズ第1回です。以前特集した「EasyWanVideo」と同様に、静止画の動画化(image2video)や最終フレームの画像指定など、一通りのことがかなり高品質にできるようになって...


第2回では、EasyWan22を使った基本的なi2vのやり方に始まり、アップスケールなどによる高品質化、ループ動画化、各種プロンプト補助機能、そして画風保持のやり方などについて紹介しています。さらに、無料動画編集アプリ「Shotcut」を使って背景を透過・合成する「クロマキー合成」のやり方についても触れています。高品質な動画を快適に生成するためには「VRAM16GB/メインメモリ64GB~」となかなかなスペックを求められますが、思い入れのあるイラストが実際に動き出すと本当に楽しいので、環境構築する価値は十分にあると思います!


目次

実践1:キャラクター回転

  ・SelectPrompts機能

  ・生成開始

  ・最終フレームのみ指定

実践2.Refiner機能

実践3.アップスケール

実践4.フレーム補間

  <60FPS>

  <60FPS x1.3speedの生成結果>

  <30FPS>

  ・「後処理」の戻し忘れに注意

実践5.ループ動画(ウォーキング)

実践6.クロマキー合成

  ・クロマキー合成とは?

  ・なぜ合成する必要があるのか?

  ・透過用のグリーンバック動画を作る

  ・Shotcutでクロマキー合成する方法

実践7.動画の「自分画風化」

  ・荒ワザ「全フレームi2i」

  ・バラバラのpngを動画に戻す

終わりに



実践1:キャラクター回転

さて、まずは基本的なimage to videoのやり方から見ていきます。こちらの1枚絵をi2vして、定番の「くるっと回るダンス動画」を作ってみましょう。たっぷりしたスカートの動きを自然に再現できるかや、顔立ちの保持、入力画像にない背面の自然な推論ができるかどうかがポイントです。

実践を始める前に、update.batを実行しておきましょう。デフォルトのワークフロー「00_i2v(ImagetoVideo).json」は日々更新されているので、レイアウトが毎日変わっています。この記事では、25年8月7日現在の同ワークフローをベースに検証していきます。


最新版にアップデートできたら、まずは「00_i2v(ImagetoVideo).json」を開き、Output欄をチェック。webpとmp4、最終フレームのpng画像を出力する設定になっているか確認します。


プロンプトはいつも通り、ChatGPTにこのように画像参照させて作ってもらいます(このときは4oを使っていますが、現在はGPT-5が登場していますね)。どんな動きをするかをできるだけ具体的に書き込むとよいのですが、あえてシンプルな指示にしてみます。


こちらが生成されたプロンプト。ちょっと雑な指示でしたが、きちんと女の子の容姿や表情、動きをとらえた英語プロンプトにしてくれました。これをこのままPositive Promptノードにコピペします。


最初の生成設定はこのような感じ。Seed値ランダム(-1)、長辺は小さめの640px、秒数5、UseEndImageオフ(開始画像だけ)。その上で、テストとして「SelectPrompts」機能をすべてオン(yes)にしてみます。


・SelectPrompts機能

SelectPrompts機能はプロンプトの自動翻訳や拡張をcomfyUI上で行ってくれる機能です。


詳しくは前回記事を参照いただくとして、これを使うとどんな風にプロンプトが変化するかを見てみます。PositiveInput欄にはさきほどChatGPT4oが作ってくれた英語プロンプトを入力し、TranslatePrompt欄にはさきほど4oに渡した雑な日本語指示を入れます。


実行ボタンを押した後、しばらくするとFinalPositivePrompt欄が右下のように変化し、中国語や英語の翻訳結果やExtended(プロンプト拡張)が行われていることが分かります。詳しく見ていきましょう。

1行目が自分で入力したPositivePrompt欄の内容。次がTranslatePromptに入力した日本語。その次にそのローカル翻訳(LocalEn)が記述されています。が、よく見ると「無表情でくるくるまわる」を「くるみのような表情(it looks like a walnut)」と誤訳しており、ChatGPTによるプロンプト作成に比べるとちょっと頼りにならないかも…という感じですね。

次の行はグーグル英語翻訳(GoogleEn)と中国翻訳(GoogleCn)。Google翻訳は主語が「He(彼)」になっていますね。その次の短い英文は、「ImageToPrompt」機能でメイドさん絵から自動検出された説明文ですが、「メイド服の女の子が写真のポーズを取っている」としか検出されていないので、あまり効果はなさそうですね。最後に、メインプロンプトを踏まえた英語・中国語のプロンプト拡張が追記されています。


自動翻訳ゆえの心許なさもありますが、とりあえず、これらのプロンプト補助機能を全部オンの状態で生成してみましょう。


・生成開始

生成設定は、「長辺640px」「5秒」「Seed:-1(ランダム)」としました(下図)。右の方の「PostProcess(後処理)」欄を使うとアップスケールやフレーム補間もできますが、今回はなし。webpとmp4両方を生成します。


・長辺640pxでテスト生成

VRAM16GB、メインメモリ64GBの環境では、100秒ほどでこちらのmp4動画が生成されました。

0807_221354_I2vMp4_00001

360度くるりと回ってほしいのに、途中で逆方向の回転になってしまっていますね。また、瞳や髪の毛のまわりにはジャギー(低品質なけば立ち)が目立ち、品質の悪さが気になります。640pxでアップスケールもしていないと、おおむねこれくらいの画質です。


この動画のような「逆回し」や、謎の光が映る「フラッシュ」、不自然に場面や動作が変化する「ジャンプ」といった現象は、プロンプト指示が適切でなかったり、秒数が長すぎたり、エンドフレームとの整合性が取りにくかったり、長辺サイズが小さかったりすると発生確率が上がるようです。


上の生成結果を見る限り、プロンプトにさまざまな翻訳やプロンプト拡張が入り乱れていることが「逆回し」の原因かもしれません。そこで、より動画内容を具体的にしたプロンプトをこのように組んでみました。


さらに、プロンプト翻訳は使わず、「ExtendedCn(中国語拡張)」のみをオンにしてみます。TranslatePrompt欄は空欄でOK。最終的なプロンプトは下図のようにシンプルになりました。(※この機能はときどきなぜか中国語でなく英語になることがあります)


長辺サイズやSeed値などの設定は前回と全く同じで、ポジティブプロンプトだけが異なる状態です。生成結果がこちら。

0807_224205_I2vMp4_00001

今度はイメージ通りに回転できました。単に「くるくる回る」でおしまいにするより、「目を閉じてにこっと笑う」「首をかしげる」など、具体的かつ時系列が明らかになるよう記述すると、より狙った生成結果に近づけることができるようですね。


・長辺1024pxでテスト生成

次に気になるのは、全体的な品質の低劣さや、表情があまり自然でないところ。今度は、Seed値は同じで、長辺640pxだった部分を1024pxに変更して生成してみます。アップスケールやRefinerなしだと、どのようになるでしょうか。

0807_224558_I2vMp4_00001

生成時間は3倍の約290秒。Seed値やプロンプトが全く同じでも、長辺サイズが違うと生成結果も変わることが分かるかと思います。画質は各段によくなりましたが、やっぱり「逆回し」現象は起きてしまいました。


ガチャをやり直すときれいに1回転できましたが、印象に残ったのは、640pxと1024pxで比べたところ、1024pxのほうが打率が高い結果になったことです。長辺のサイズ設定は画質だけでなく、動画自体の品質(プロンプト再現度)にも関わっていることが推測されます。

0807_114533_I2vMp4_00002

また、この動画のように「指示していないのに口パクをしがち」という問題もWan2.2の特徴の一つです。「talking,speaking,moving mouth」などをネガティブプロンプト欄に入れるのが有効かと思いますが、それでも防げないようなら、ポジティブプロンプトでも「口を閉じたまま」などと指示する必要があろうかと思います。


・翻訳機能のみで生成する場合

ChatGPTに頼まず、自分で書いた日本語で動画生成をすることももちろん可能です。このように各種翻訳・拡張を有効にし、TranslateInput欄で日本語指示をするだけです。

FinalPP欄を見ると、きちんと翻訳されていることが確認できます。単に「1回転する」ではなく「時計回りに回ってまず背中を見せる」「その勢いのままもう半回転してカメラに向く」と分割して書くことで、逆回し現象を起こしにくくする狙いがあります。こういうところは、ChatGPTに頼むよりも自分で細かく書いたほうがより効きやすくなる感覚があります。


こちらが一発生成結果。(1024px・5秒)

0812_144727_Share_00001


・最終フレームのみ指定

8月20日付アップデートで追加された、動画の最終フレームのみを指定する生成を試してみます。生成設定やプロンプトは上記と同じで、BasicSettings(基本設定)ノード群に追加された「SwapStartEnd」をONにするだけです。

こうしておくと、StartImageに指定した画像が最終フレームとして扱われます。UseEndImageをオンにしてしまうと、単純にそれぞれが入れ替わるだけですので、基本的に最終フレームのみ指定するときにだけ使う機能です。


こちらが生成結果。

0822_123033_Share_00001

最終フレームを元に、「過去の5秒間」が推論されました。表情などはプロンプト指示で「満面の笑顔を浮かべる」ことになっていますが、最終フレームが無表情なので、このテストではすぐ笑顔が消え、指定した表情とポーズにたどり着いています。

この1枚だけの画像から過去の5秒と未来の5秒をそれぞれ生成してつなぎあわせることで、計10秒の続き動画を作るなどの用途が考えられるところです。


実践2.Refiner機能

今度は、EasyWan22に追加された「Refiner」機能を使ってみます。イメージ的には高解像度補助(Hires)処理を全フレームに掛けるような工程ですので、最終サイズによってはかなり時間がかかります。具体的な目安としては、Refinerを使う場合は長辺640pxくらいまでにしておかないと、VRAM12~16GBではきつい印象。Zuntanさんおすすめの「640pxで生成▶Refinerオン(STEP4&1.5倍)・フレーム補間60FPSで後処理」が一番安定しているように思います。


後処理のやり方は簡単。まずは後処理を加えたいwebp動画をcomfyUIの画面上にドラッグ&ドロップして、その動画を再生した時のワークフローを呼び出します(重要)。そうしたら「PostProcessSource」を「Enable LoadWebpVideo」にし、いま読み込ませたのと同じwebp動画をPostProcess欄の「LoadWebpVideo」ノードに読み込ませるだけです。

LoadWebpVideoモードなら画面左側は関係ないように思えますが、後処理だけをする場合でも入力画像や各種入力値を参照していますので、かならず先に当該ワークフローを呼び出してから後処理ノードを操作するようにしましょう。


さきほど作った長辺640pxの5秒動画を読み込ませて、Steps4で1.5倍にしてみます。LongSideノードの「a * 1.5」とある部分が「長辺を1.5倍にする」意味で、StepsがRefinerによる書き換え量です。RefinerColorMatchをオンにしておくと、入力画像(1フレーム目)を参照して、Refiner過程で色合いが大きく変わらないように調整してくれます。


こちらがRefiner前のwebp動画(640px・5秒・ColorMatchなし)で…

0812_114225_Share_00001


こちらがRefiner後の生成結果です。設定は上のスクショの通りで、後処理のColorMatchもオンにしています。

0812_141755_Share_00001


動きだけは全く同じですが、元動画の顔立ちや表情、服のしわなどを見ていると、毎コマimage2imageしたようにかなり違うものにリファインされていることが分かります。ColorMatchのおかげで、色合いは入力画像に沿ったものになっていますね。このように、細部が大きめに変化するのがRefinerの特徴。動画をできるだけそのままに低劣部分を補うUpscaleとは異なる動作をします。


ただ、長辺1024pxで生成した動画をさらに大きくリファインしようとすると、VRAM16GBでは容量がいっぱいになってフリーズしてしまいます。12〜16GB環境では、640pxか720pxくらいでたくさんシードガチャをして、よくできたものを選んで1.2~1.5倍くらいのサイズにリファインして整えるのがよいかと思いますが、今度は入力した画像から画風が変化してしまいがち。このあたりの解決については「実践7.動画の"自分画風化"」で詳しく検討しています。


実践3.アップスケール

今度は、同じメイドさん回転動画にアップスケールをかけてみます。「Enable LoadWebpVideo」をyesにし、右側の「PostProcess LoadWebpVideo」ノードにアップスケールしたいwebp動画を読み込ませるまではRefinerと全く同じ。今度は「upscale(アップスケール)」ノードで、Enable Upscaleを「yes」に変更します。


ちなみに、Promptノード群より少し下あたりに、アップスケールに使うモデルを選択できるノードがあります。デフォルトではAnimeSharpV4のファスト(高速)モデルが選択されていますが、好みに合わせて別のアップスケールモデルに変更することも可能です。


で、こちらがアップスケール(右側)なのですが、並べると同じサイズになってしまうのであまり違いがわかりませんね。ウィンドウサイズを2倍にし、拡大によって生まれた低劣さをアップスケーラーで補うような動作です。

upscale


今度はSharedModelノードから、アップスケーラーを4x-AnimeSharpに変更して、4倍サイズにしてみました。


こちらが4倍サイズにしたもの。要するに、低劣部分を補いつつキャンバスを大きくすることはできますが、Refinerのように侵襲的に(元動画を変更して)整える力はないことが分かります。

0807_235342_I2vMp4_00001



実践4.フレーム補間

今度はフレーム補間を行います。再びPostProcess欄に戻り、左下の「FrameInnerpolationMode(フレーム補間モード)」のノードで、フレーム数をどうするか決めましょう。FPSは、動画が1秒間に何枚の画像で構成されているかを示す単位のことです。

ここでは、1秒間あたり60枚(=60フレーム毎秒)になるよう補う「60FPS」をyesにし、「実行」しました。

こちらは画質がきれいでないとあまり効果を感じられないので、さきほど1024pxできれいに生成したこちらの動画をフレーム補間したいと思います。

0807_114533_I2vMp4_00002



<60FPS>

まずこちらは60フレーム毎秒。上の動画のぎこちなさが取れて、動きがリッチな感じになっているかと思います。補間にかかった生成時間は130秒ほど。

0808_002926_I2vMp4_00001


<60FPS x1.3speedの生成結果>

こちらは画質自体は上の60FPS動画と同じものですが、再生速度が1.3倍で出力されています。比べるとちょっとだけ早い!フレーム数を補ったことで動きがもっさりするのを防ぐことができます。生成時間は同じくらい。

0808_002928_I2vMp4_00001



<30FPS>

こちらは30フレーム毎秒。個人的には、60FPSまで行かなくても十分きれいに見える気もします。読み込ませたwebpは16FPSですので、毎秒14フレーム補っていることになりますね。生成時間は80秒ほどで、ほとんど変わらないなら60FPSでいいじゃない?という考え方もあるかもしれません。

0808_002930_I2vMp4_00001


ここまでで、Refiner、Upscale、フレーム補間の3種を試せました。いずれの後処理も毎回オンにしていると生成時間が無駄に掛かるので、完成品のwebpができたときだけ行うようにしましょう。

個人的な感想では、後処理よりもやはり最初のwebp動画段階の長辺サイズが重要という印象。ここが小さいと、その後の後処理をどうやっても低劣さが拭えない結果になるように思います。



・「後処理」の戻し忘れに注意

アップスケールなどの後処理が済んだら、「PostProcess LoadWebpVideo」モードから「PostProcess GeneratedVideo」モードに戻しておかないと、左の方の画面でどんな指示をして「実行」してもwebpのアップスケール作業だけが繰り返されてしまいます。思ったのと違う動画ができてしまったときは、PostProcess欄の設定がおかしくなっていないかチェックするようにしましょう。




実践5.ループ動画(ウォーキング)

今度は、こちらの画像で5秒間の「ループ動画」を作ってみます。最初のフレームと最後のフレームを同じにすることで、ループ再生するとキャラクターがずっと左に向かって歩いて行く動画になるはずです。カメラは固定状態で、右から左へ景色が流れていくイメージですね。


これまでと同様、ChatGPTにこのイラストを見せて「この男性が左に向かって歩いている動画。カメラは固定で、風景が左から右へと流れていく。しっぽが楽しそうに上下に揺れる。耳もときどき動く」と指示すると、次のようなプロンプトを組んでくれました。


A fox-eared boy in a blue kimono walks casually across a red bridge while spinning a traditional red wagasa umbrella in one hand. The camera remains fixed, and the background scrolls smoothly from left to right, showing trees, traditional Japanese buildings, and clouds. His fluffy tail bounces up and down playfully with each step, and his fox ears occasionally twitch as if reacting to subtle sounds. He looks relaxed and slightly aloof as he walks forward.


エンドフレーム指定はこのように、「Enable EndImage」ノードを「yes」にするとEndimageを読み込めるようになるので、同じ画像を読み込ませればOKです。


1024px・5秒でさきほどのプロンプトを使用すると、このような動画ができました。

0805_142701_I2vMp4_00003

開始フレームと最終フレームが一緒なので、Xなどループ再生が可能なプレイヤーだとずっと歩き続けているように見えます。ところで、背後の赤い欄干の部分が不ぞろいなのがちょっと気になりますね。こういうときは、インペイントなどでこのように、読み込ませる画像を修正してあげると多少ましになります。


        ▲不揃いな欄干をインペイント機能で消して等間隔に


処理済みの画像で生成しなおすと、このようになりました。

(frame embed)


だいぶマシですが、人物の影になる部分を通り抜けるときにやや間隔がおかしく感じます。ここに正確性を求める場合は、さらにガチャを繰り返すか、背景と前景を別々に動画生成してクロマキー合成するなどの手間を掛けることになります。


また、Wan2.2では最終画像(Endimage)を指定するとどうしても色合いの変化が起こりやすくなってしまいます。色合いの変化が起こると、再び動画の先頭にループした際に「ぱっ」と画面が明るくなったように見えて不自然になってしまうので、そういうときはPostProcess欄で「ColorMatch」機能をオンにすると、入力画像の色合いを参照するのでかなり軽減できます。もし640pxなど小さめで生成していた場合は、さらにRefinerでも「RefinerColorMatch」を掛けることで、色合いの変化を軽減することができるはずです。


実践6.クロマキー合成

ここからは、EasyWan22だけで完成に持っていくのではなく、動画編集ソフトShotcutを使った合成について触れていきます。Shotcutの導入や基本的な扱い方については、こちらの記事の「6.動画編集ソフトShotcutの使い方」をご覧ください。クロマキー合成自体は、AviutlやPremirProなどたいていの動画編集ソフトでできると思います。

「FramePack-eichi」でH動画を作ろう エンドフレーム指定、ループ動画モード搭載

20250426AM:v1.51で新装された「1秒モード」について追記しました。 20250426PM:v1.6で新装された新UIに合わせて、内容を順次フィックスしています。一部旧UIのスクリーンショットがありますのでご注意ください 20250427PM:v1.61で、主なUIが再び1.51のもの(生成処理順)に戻りました。一方、スタート・エンドフレー...


・クロマキー合成とは?

クロマキー(Chroma Key)合成は、画像内にある特定の色を透明にして、その色の部分に別の映像を透過合成する編集技術のこと。たとえば左の画像の緑色になった部分を透過し、一つ下のレイヤーに置いたSDwebUIのスクリーンショットと合成するようなことができます。Chromaは色調のことですので、色調をキーにした合成ということですね。

透過する色は自分で指定できるのですが、注意したいのは、透過したくない部分も同じ色なら問答無用で透けてしまうこと。赤みがかった肌色からできるだけ遠くした方がよいので、キーカラーには反対色の黄緑が選ばれることが多いです。ただ、ミナちゃんは服や髪留めに緑の部分が多いので、あまりグリーンバック向きではありません。テストではできるだけ被らないような黄緑色を背景にしていますが、本当はピンクや紫の方が良い結果になると思います。


・なぜ合成する必要があるのか?

ところで、「わざわざグリーンバックにしなくても、右のスクリーンショットをそのまま開始画像にして、ミナちゃんだけが動くよう指示すればいいのではないか」と思った方もいるでしょう。「女の子がウィンドウの中にいる。他の黒い画面は全く動かさず、女の子だけがこのウィンドウから出てくる」のように指示すればうまくいくような気もします。

しかし、実際にやってみるとどうなるかというと、どうしてもウィンドウ全体(特に文字部分)がAI文字化けするなど、品質がよくならないのですね。また、固定していてほしい部分を動かしてしまって失敗することもよく起こります。

静止画でも背景と前景を別々に生成して合成すると見栄えがよくなりますし、細部のミスが減るのですが、動画においても前景・背景の分離合成で困難を分割する手段が有効というわけです。


・透過用のクロマキー動画を作る

まずは透かしたい部分を一色で塗りつぶした動画を作るところから始めます。今回作ってみたのは、SDwebUIの生成画面からミナちゃんが突然動き出し、ウィンドウを「よいしょ」とばかりに飛び出してくるユニークな動画。となると、まずはこちらの画像をスクリーンショットしたのちに、ミナちゃんの部分以外を緑で塗りつぶすことで動画の開始画像を得るのが手っ取り早そうです。


クリスタで簡単に「塗りつぶし」をかけてこのようになりました。2枚を重ねたときにきちんとミナちゃんの位置が重なっていないと不自然な動画になるので、注意して作業する必要があります。


あとはこのクロマキー開始画像をEasyWan22で読み込み、動画化するだけです。


ChatGPT4oに「この子がこちらに気づいて、笑顔になって手を振って、緑のふちに手を掛けて窓から「よいしょ」と上半身が出てくる動画プロンプトを作ってください。セーラー服の上にグレーのカーディガンを着ています」と伝えると、以下のようなプロンプトを組んでくれました。


「A chibi anime girl with a ponytail tied with a mint green scrunchie, red glasses, and wearing a sailor school uniform with a grey cardigan, is sitting inside a window-like frame on a green background.

She is reading a book calmly, then suddenly notices the viewer. She smiles warmly and waves with one hand. Then she closes her book, places both hands on the green border of the frame, and says "yoisho!" as she pulls herself up.

She steps one foot on the inner edge, leans forward, and climbs out of the white window frame into the viewer’s space. Her upper body ends up fully outside the frame, elbows resting on the edge, smiling directly at the camera.

Fixed camera. Green background for chroma key. The white rectangle is treated as a window.」


あとは、これをプロンプトにし、1024px+5秒設定でガチャを引くだけです。例えばこのような感じになりました。

0809_014455_Share_00006

やや気になるのは、画風の変化と細部の低劣化ですね。顔立ち(特に目のデザイン)が変化してしまっているのと、動きが激しくなるほど細部に低劣なブロックノイズが生じています。この低劣感はアップスケールでは修正できないので、Refinerを掛けてみます。元動画が長辺1024pxだったのを、「1.2倍、強度0.5」でRefinerしたのがこちら。

0809_095748_Share_00001

VRAM16GBがいっぱいになって共有VRAMにも漏れてしまいましたが、なんとか600秒ほどでできました。低劣なブロックノイズは消せましたが、顔立ちの変化はやはり気になるところですね。


こうした画風変化を戻すやり方については次項で見ていくとして、まずは合成をしてみましょう。


・Shotcutでクロマキー合成する方法

まずはShotcutのこちらのボタンから、「プレイリスト」に必要ファイルを呼び出します。今回はRefinerしたmp4動画と、その下に合成したいSDwebUIのスクリーンショットpngを読み込みました。


読み込んだファイルを下部のタイムラインにドラッグします。


この下にpngを合成したいので、「V1」部分を右クリックして「映像トラックを追加」します。


このように「V2」ができるので、そこへpngファイルをドラッグしましょう。


このままだとpngが上でグリーンバック動画が下になっているので、「トラック操作▶トラックを下に移動」で順序を入れ替えます。これで下準備は終わり。


グリーンバック動画の下のレイヤーにSDwebUIの静止画が置かれているので、あとは緑色の部分を透過するだけです。透かしたい「V1」タイムラインのグリーンバック動画クリップを選択して、「フィルタ」タブを開きます。


「+」ボタンを押すとフィルタ一覧が出てくるので、「クロマキー:シンプル」を選びましょう。ウィンドウに「クロマキー」と入力するとすぐ見つけることができます。


最初から黄緑色が選ばれているので、この時点でプレビュー画面が透過されて感動します。スゲー。

ただ、ふちに黄緑色が残っていてやや低劣なので、きれいに整えましょう。まずは「キーカラー」となっている部分を正確にこの動画の黄緑色に合わせます。スポイトボタンを押すと、透過前の動画がプレビューに出てくるので、プレビュー画面の黄緑部分をクリックして色をピックしましょう。


かなりふちの黄緑が軽減されました。でもまだ少し残っているので、今度は「距離」バーを左右に調整してちょうどよい具合に調整しましょう。


値が弱いとこのように消しきれず、強いと緑色っぽいところが全て透過されてしまいます。きれいに消し切りたい場合は、やはり動画に存在しない色を背景にしたほうが良かったですね。


うまくできたら、最後に映像クリップの長さを帳尻合わせておきましょう。これだと途中でpng背景がなくなってしまうので、クリップの右側をドラッグして揃えます。


これでぴったり揃いました。あとは、映像を「書き出し」するだけですね。


こちらが出力されたmp4です。

ミナちゃん動画出力

このように、AI生成動画でも透過動画が安定して作れるので、表現の幅がさらに広がるかと思います。




実践7.動画の「自分画風化」

さて、最後に残ったのが、Wan2.2で動画化したときに、元画像の画風が変化してしまう問題です。2.1に比べれば一貫性の保持力は非常に素晴らしいものがあるのですが、画風を完全にコピーすることはまだまだ難しいのが現状のようです。


こちらの最初のフレーム画像と上の動画を見比べると、グリーンバックにするために縮小した影響もありますが、特に瞳のデザインが全く違ってしまっていますね。


一つの解決策としては、最終フレームをこのように自分で用意してしまい、1枚ではなく2枚で画風を強調するという方法があります。


設定はこのような感じ。


生成結果はこうなりました。

0809_104150_Share_00001

先ほどの動画に比べて、瞳のデザインがかなり保持できているのが分かるかと思います。特に、エンドフレームはかなり大きく顔立ち(瞳)が映っているため、整合性を取りやすかったのでしょう。一方で、エンドフレーム指定は動画生成の自由度を束縛するため、フラッシュ(謎の光)やジャンプ(不自然な動作・場面転換)などが起こりやすくなる点に注意が必要です。


・荒ワザ「全フレームi2i」

これでもまだ足りない!という場合は、このpng動画をいったんバラバラの静止画群にしてしまい、全フレームを自分モデルでimage2imageして再びつなぎ直す…という荒ワザも存在します。この手法だと、1フレームだけフラッシュしてしまったとか、一瞬変なものが映り込むといったミスもフレーム単位で修正できますので、非常に時間はかかりますが高品質な動画にすることが可能です。


やり方は簡単…ではありませんが単純です。まずはmp4動画をフレームにばらすところから。色んなやり方がありますが、「mp4 png」で検索するとオンライン上でもそうした作業をやってくれるフリーサイトがいくつもあります(怪しい利用規約のものでないか注意しましょう)。


ShotcutでMP4をPNG連番にするには、右上の 「書き出し」 をクリックして左側のプリセット一覧の下の方にある「stills▶PNG」 を選択。出力フォルダを指定して保存すると、frame0001.png, frame0002.png... のように連番画像として保存されます。

ただ、Shotcutからだと約5秒の動画で300枚あまりのpngが出力されてしまいました。つまり、生成時と同じ60FPSで各フレームが出力されてしまうのですね。この枚数を全部image2imageするのはあまりに多すぎるので、他のソフトやサービスを使って16FPSで出力することをおすすめします。


あとはこのフォルダを指定して全コマimage2imageするだけです。プロンプトがやや悩ましく、コマによっては「looking away」だったり「looking at viewer」だったり、「expressionless」だったり「smile」だったりします。ですので、コマにやって変化するプロンプトはあえて書かず、モデルの解釈に任せるのがよいかと思います。


reForgeなどいつもの画像生成環境で、img2imgタブを開き、こちらの「バッチ」タブからさきほどの連番画像をおさめたフォルダを入力ディレクトリに指定します。出力先は同じにすると混じってしまうので、末尾に「2」などと加えておけば、連番画像のフォルダの隣に出力フォルダを新規に作ってもらえます。


image2image強度が少しでも強いと、動画としての一貫性が失われてしまうので、まずは普通のimg2img画面で1フレームだけ実験してみましょう。特にこういう、動きのあいまのフレームがきれいにimage2imageできるかを確かめたいところです。


プロンプトは以下の通り。

1girl, solo,headphones around neck,white headphones, ponytail, (black hair:1.2), red-framed eyewear, cardigan, glasses, dark blue sailor collar, blue eyes, neckerchief, bright pupils, white pupils, ribbon, long sleeves, school uniform, grey cardigan,(light green neckerchief,mint scrunchie:1.3), hair scrunchie,white shirts, closed mouth,open clothes, semi-rimless eyewear, under-rim eyewear, open cardigan, medium hair, oversized cardigan,sidelocks,hair between eyes,sleeves past wrist,gradient hair, mint hair,ahoge,green background,white window + クォリティタグ


まずは強度0.4でimage2imageしてみます。すると、やはり表情が変わってしまいました。色や細部の線が変わり過ぎているので、全コマこの設定でi2iすると、1フレームごとに細部がちらつきまくる謎動画になってしまいます。(AI動画といえば昔は全部そうでしたね)


そこで、困ったときのanytest v3。元画像の線画部分を保持してもらい、塗りの品質だけを上げることを試みます。


ノイズ除去強度は0.4のままで、Anytest v3を掛けた状態で生成するとこう。今度は、元フレームの絵そのままで品質向上に成功しました。


アップにするとこんな感じ。このクォリティで動いてくれるならいいですね!


しかし、念のためこの一番難しそうなフレームを使ってimg2imgしてみると、この設定にも不都合があることが分かりました。プロンプトに「blue eyes,bright pupils,white pupils」が入っていたせいで、目を開いてしまうのです。このように、フレームによっては思わぬ現象も起こるので、全コマimg2imgはなかなかスマートにはいかない荒業なのですね。また、眼の周辺も範囲が小さすぎて低劣になっています。


そこで、プロンプトから「blue eyes,bright pupils,white pupils」を取り除いて、2倍サイズで生成するとこうなりました。おおむねよさそうな感じですね。


あとは、バッチタブから全コマをいよいよimage2imageしていきます。できるだけばらつきが出にくくしたいので、シード値は「-1」ではなく固定しておきましょう。(1とか1234とか適当でOK)


キャンバスサイズは「x2」、シード値:1、CNオン(強度1)、ノイズ除去強度0.4。プロンプトは目や口の開閉、ポーズ、行動、視線などコマごとに変化する部分は記述しないよう気を付けて、生成開始します。FPSを16にしておいたので、計80枚あまりのフレームを順次image2imageする形になります。私の環境では20分弱掛かりました。

出力先にした「minachan2」フォルダにどんどんi2i結果が保存されていくので、ときどきチェックしておくとよいでしょう。i2i設定に失敗して一貫性が失われていると感じたら、その時点で生成を止めてやり直しです。


出力が終わったら、再びパラパラ漫画のように動画に戻しましょう。クリスタでもできますが、Shotcutでやるにはまず、「新規▶映像モード▶カスタム▶追加」とします。


するとこのような画面が出てくるので、フレーム/秒(FPS)を16にしましょう。解像度やアスペクト比も入力する画像に揃えておきます。


そうしたら、「開く」から先ほど作ったi2i群の1フレーム目を選びます。これではただの静止画として開かれるだけなので「プロパティ▶画像シーケンス」にチェックを入れると、連番画像が映像として認識されます。


そうしたら、下のタイムラインにプレビューをドラッグするだけ。これで、連番画像がShotcut上で映像クリップとして扱えるようになりました!


先ほどと同じ手順でクロマキー合成したのがこちらです。画風保持と品質アップがいずれもできており、ちらつきも最小限に抑えられているかと思います。

テスト

ただ、胸のリボン部分が緑色に近く、透過されないようにすると今度はキャラクターのふちに緑色のフリンジが出てしまったのは反省点の一つでした。やはり緑のキャラにグリーンバックは向きませんね…

また、image2imageの際にプロンプトから「blue eyes」を抜いたために、ややミナちゃんの瞳が緑がかって変化しているところも気になります。あとは、画面を最大化してみないと気付きにくいですが、最初のほうのヘッドホンの細かいデザインにちらつきが出ていますので、ここまで完璧を期すには手作業で1コマ1コマ直さないとなかなか難しいように感じます。



終わりに

というわけで、第2回「実践編」でした。


全体的な所感として、やはり動画生成はVRAMの限界を強く感じるジャンルですね。16GBでも、1024px生成はかなり負担が大きく、そこからさらにフレーム補間やアップスケールを行おうとするとエラーを起こすかフリーズしがちです。


今回紹介した「全コマimage2image」はなかなかの荒業ですが、最終成果物の品質を上げていくにはこうした地道な作業もときに必要かなと思います。ただ、5秒のカットの中にいろいろ詰め込むと、動画に緩急を作ることはなかなか難しく、「読書▶こちらに気づく▶手を振る▶ウィンドウをがしっとつかむ▶よいしょと出てくる▶こちらに近づく」が一定速度で進んでしまうことが避けられません。


やはり、こちらに気づいたときに「おっ?」という風に一度静止してほしいし、笑顔になって手を振るまでにちょっとした間がないと、見ていて気持ち良いアニメになりにくいように思います。ウィンドウをつかんだところで左右をきょろきょろしたり、ぐいっと押し下げてみたりしてから、おもむろにこちらに飛び出してくるともっと面白いですよね。1回のスタート・エンドフレーム指定生成でクリアするのではなく、やはり複数のクリップをがんばってつなぎ合わせていく地道な作業をしないと、そうした気持ちよさは再現できないのかなと(現時点では)思っています。

0809_143304_Share_00001

いずれにしても、我々素人がまがりなりにもアニメーションらしきものを休日にこうして作れるというのは大変ありがたいこと。次回はいよいよLoRAを使ったR-18動画について検証していきますので、引き続きお付き合いください。


それでは今回はこのへんで。スタジオ真榊でした。


<特集第3回・NSFW編に続く>

【第3回】「EasyWan22」でイラストを動画に◆NSFW編(R-18プロンプト・LoRA・モザイク)

<注意:この記事には成人向けの性的表現が多数掲載されています。閲覧時は周囲にご注意ください> こんばんは、スタジオ真榊です。今回はEasyWan22(ニャンニャン)特集の第3回、NSFW編です。ループ動画を中心に、AIイラストをimage to video(i2v)してさまざまなプレイのR-18動画を作るやり方の実践例を見ていきます。Wan...




【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持)
【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持)
【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持)
【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持)
【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持)
【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持)
【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持)
【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持)
【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持)
【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持)
【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持)
【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持)
【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持) 【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持)
【第2回】「EasyWan22」でイラストを動画に◆実践編(高品質化/ループ化/画風の一貫性保持)

Comments

了解しました。丁寧にありがとうございます

エリンギ

単純に表示が小さいときれいに見えるということではなくてでしょうか?ワークフローのデフォルト設定ならwebpとmp4で出力結果はそこまで大きく変わらないと思いますが、生成サイズや設定によっては劣化が目に見えて大きくなるかもしれません。キュー画面のプレビューをクリックして全画面再生したものとoutputのmp4を見比べて明らかに画質が下がるのであれば、アップスケールやrefiner、フレーム補間などでmp4出力の品質を上げることになります。

AIイラストが理解る!【スタジオ真榊】

とても分かりやすかったです。 一つ質問なのですがcomfuiの画面下に出てくる生成結果の動画はとてもきれいに見えるのですがいざoutputを開いて確認すると...少し画質動き等が荒いように見えてしまいます。comfuiの生成結果のようにきれいに出すことはできないでしょうか....?

エリンギ

第一回のトラブルシューティングに書いたことをチェックしてみてください。long sideでなくsquare sideになっているなどの可能性があります。

AIイラストが理解る!【スタジオ真榊】

がっつりとまとめられていて、毎度助かっております。すぐに導入してかなり満足のいくアニメを生成できました。 さて初歩的な質問で申し訳ございません。 2025年8月13日(水)更新後、200秒程度だった生成時間が800秒まで伸びました。 「おそらく追加されたPostProcessが有効になっているのかなぁ」と思い、 Enable Refiner no Enable Upscale no Enable interpolation no をしても生成時間は変わりませんでした。 Enable GeneratedVideoをnoにすれば、生成の度にPostProcess(後処理)が走らなくなることは分かるのですが、代わりにEnable LoadwebpVideoをyesにすると、文字通りwebbを元に生成が始まります。 (Enable LoadMp4Videoも同様) 今の所、Enable GeneratedVideoをONにして800秒にするほか無い状態です。 Zuntan様や真榊様の言うところの『後処理はせずにガチャする』『後処理はOFFにしておく』処理が、赤いノードや緑のノードをいじるだけではどうすればOFFになるのかが、分からない状態です。 すみません、純粋にスペック不足の可能性もありますが、『後処理をしない』方法が分かれば幸いです。 今の所、最新Verで生成を開始すると、デュフォルトでEnable GeneratedVideoがyesのままでしか動作しない、という状況でした。

braun.nara

助言ありがとうございます! 神機能ですねこれ

lyrano

と、思っていましたが、後処理ノードに新装されたColorMatch機能でかなりましになることが分かりました。神。 https://x.com/studiomasakaki/status/1955098988962881757

AIイラストが理解る!【スタジオ真榊】

私もそのことについていろいろ困って検討しているのですが、スタート・エンドフレーム指定の生成では多かれ少なかれ色味の変化が避けられない…というのが現時点の結論です。「長辺1024pxほどに大きくすると多少マシ」というのと、あとは入力画像の色味次第ではあまり出にくい、というくらいでしょうか。ウォーキング動画は画像の色合いが良かったのか、さほど繰り返したときにフラッシュは感じませんが、これはもうプロンプトや入力画像やSeed値次第で強く出たり弱くなったりするもののようです。Zuntanさんも書かれていましたが、当面技術の進歩を待つほかありませんね。

AIイラストが理解る!【スタジオ真榊】

はじめまして、わかりやすい解説ありがとうございます。 よければ教えていただきたいことがありまして。 ループ動画を作るためのEndimage設定で開始と同じ画像を指定すると完成した動画の最初0.3秒ほどが明るみが強く、その後は元画像より暗い感じになります。 公式によると 「`HighNoiseFastLora` の `lightx2v_I2V` LoRA の重みを `2.5` 下げると色味の変化を多少軽減できるようです。」 とあったので設定したのですが(3.0→0.5へ変更)特に変わりありません。 ↑のウォーキング動画を拝見しましたがそのようなちらつきはなく、どのような設定で行ったのか、よろしければ教えていただけると嬉しいです。

lyrano


Related Creators