終了フレームを指定する
FramePackで動画を生成すると、開始フレーム(1枚目の画像)を表示した後どう動くかは完全にAIに委ねられており、「特定の動きをさせたい」という場合に制御が難しいという問題がある。
これに対処するため、多くの動画生成AIサービスでは「開始フレーム」と「終了フレーム」の2枚を指定する手法が採用されている。例えば「笑ってない人」から「笑っている人」へ、といった指定をすると、AIが自然に表情が変化するよう中間フレームを生成するという仕組みだ。
しかし現時点のFramePack公式版(イリヤスフィール版)はこの終了フレーム指定に対応していない。ここで役立つのがNirvash氏によるフォーク版だ。フォーク版とは元のプログラムのコードを複製し、機能追加や改良を加えた派生バージョンのこと。オープンソースソフトウェアの特徴的な発展形態で、誰でも元のコードを基に独自の改良版を作れる。
Nirvash版は公式GitHubリポジトリを基に「終了フレーム指定機能」を実験的に追加したもので、GitHubでは「nirvash/FramePack」として公開されている。同リポジトリからコードを入手しセットアップすれば、開始と終了の2枚の画像を指定し、その間を自然につなぐ動画生成が可能になる。
ただし、4月21日現在インストーラーは用意されていないので公式版をコピーしてgitで差し替えるなど、セットアップには少し知識が必要だ。下記を参考に、わからなければLLMにしつこく質問すればいいだろう。
UIは「Final Frame(終了フレーム)」を配置する欄が増えている以外はオリジナルとほぼ変わらない。開始・終了フレームを指定して試してみよう。プロンプトは下記だ。
プロンプト:smiling girl zoom up smooth
開始フレームと終了フレームがきれいにモーフィングする結果を期待していたがうまくいかなかった。両フレームの画像が違いすぎるのか、それともプロンプトの問題か。
Framepack pic.twitter.com/3YB8EcwqJ3
— kazuhiro taguchi (@tagkaz) April 21, 2025
そこで今度は同じモチーフを違う向きから描画した2枚の画像を使って生成させてみた。
画像の作成にはChatGPT 4oの新しい画像生成機能を利用した。
うーん、うまくいかない。変更する角度が大きすぎるのか、プロンプトにもっと詳細に動きを記述すべきなのか。
Framepack pic.twitter.com/N0JgazJ8uE
— kazuhiro taguchi (@tagkaz) April 21, 2025
そこで今度は再び人物で挑戦。
こちらはGoogle AI Studio経由で「Gemini 2.0 Flash (ImageGeneration) Experimental」を使用して作成。アスペクト比を維持するのがなかなか難しい。
おお、比較的うまくできたのではないだろうか。
Framepack pic.twitter.com/9OoAdsYbJX
— kazuhiro taguchi (@tagkaz) April 21, 2025
なお、このバージョンは開始・終了フレームの他に複数の中間キーフレームも指定できるので、ControlNetなどを使って 細かく動きを制御することも可能だろう。すでにXではかなり複雑な動きを実現した作例が多数見られる。
週刊アスキーの最新情報を購読しよう
本記事はアフィリエイトプログラムによる収益を得ている場合があります