いまや、画像生成AIだけでなく動画生成AIもいろいろ出てきましたよね。
「RUNWAY GEN-3」や「Kling」、「Luma Dream Machine」、
他にも報道などもされたOpenAIの「Sora」なども有名かと。
どれもクオリティが高くて、やってみたいなぁと思いつつ、IDを登録したり、
無料で使えるのは作成回数に限度があったり。。。面倒で。。。(無料ですから仕方ないのですが)
そんな中、ローカルでしかも無料で作り放題な「Pyramid Flow」という動画生成モデルがでました!
ComfyUIで使用できるのというので、是非とも使ってみたい!!といった記事です。
1.インストール その1
こちらが「Pyramidal Flow」の公式サイトです。
見る限り、かなり質の良い動画ができそうでわくわくです!
テキストからビデオを作る「t2v」と
画像からビデオを作る「i2v」というものがありますので覚えておきましょう(^O^)
早速インストールしていきます。まだ情報が少なく、
公式サイトなど見て自分がやった方法で書いていきますね。
・ComfyUIの最新化
ComfyUIのフォルダに移動し、右クリックでターミナルを開きます。
以下のコマンドを入力します。
git pull
いろいろダウンロードされるので待ちます。
・PyramidFlowに必要なコンポーネントをインストール
ComfyUIの「custom_nodes」フォルダに移動します。
先ほどのターミナルから以下のコマンドで移動してください。
cd custom_nodes
次に、PyramidFlow用のラッパーをダウンロードします。
ラッパーなどの言葉は調べてください笑。
既存の機能はそのままに、そこに機能を追加して、既存と同じように動いてもらうような感じです。
以下のコマンドを実行してダウンロードします。
git clone https://github.com/kijai/ComfyUI-PyramidFlowWrapper.git
次に、必要なパッケージをダウンロードします。
「ComfyUI-PyramidFlowWrapper」というフォルダができているのでこちらに移動します。
cd ComfyUI-PyramidFlowWrapper
pipコマンドでパッケージのインストールを行います。
pip install -r requirements.txt
※ 注意 ※
私の場合ですが、上のコマンドで以下のようなコメントがでました。
No global/local python version has been set yet. Please set the global/local version by typing:
pyenv global 3.7.4
pyenv local 3.7.4
これは、システムがpyenvを使用していることを検出し、Pythonのグローバルまたはローカルバージョンが設定されていないことを警告しているそうです。
pyenvの設定が完了していないので、ComfyUIに適したバージョンを選択します。
ComfyUIは通常、Python 3.10以降を推奨しています。
ということで、設定しましょう。
pyenv versions
pyenv versionsで、Pythonバージョン3.10.9がインストールされているのがわかりました。
グローバル、ローカルのPythonバージョンも3.10.9にしたいと思います。
pyenv global 3.10.9
pyenv local 3.10.9
pyenv rehash
$env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")
python --version
これで、3.10.9がインストールされました。
もう一度以下のコマンドでインストールしましょう!
pip install -r requirements.txt
2.インストール その2
・モデルのダウンロード
続いて、モデルをダウンロードします。
まずは、ComfyUIの「models」フォルダ内に「pyramidflow」という名前の新しいフォルダを作成します。
コマンドで先ほど作成したフォルダに移動します。
cd ../../models/pyramidflow
以下のコマンドでモデルをダウンロードします。(結構時間がかかります。。。)
git clone https://huggingface.co/rain1011/pyramid-flow-sd3
・追加のセットアップ
他にも必要となるファイルをダウンロードします。
まず、ComfyUIのルートフォルダに移動します。
cd ../../
以下のComfyUIの中に「snapshot_dl.py」というファイルを作成します。
ファイルをメモ帳なので開いて、以下のコードを記載しましょう。
import os
from huggingface_hub import snapshot_download
base_dir = os.path.dirname(os.path.abspath(__file__))
model_path = os.path.join(base_dir, "models", "pyramidflow", "pyramid-flow-sd3")
snapshot_download("rain1011/pyramid-flow-sd3", local_dir=model_path, local_dir_use_symlinks=False, repo_type='model')
保存をしたら、コマンドプロンプトで、以下のコマンドを打ちます。
python snapshot_dl.py
追加ファイルをダウンロード出来たら、ComfyUIを起動しましょう!!
3.ワークフローのダウンロード
以下のサイトから、サンプルとなるワークフローをダウンロードします。
・「pyramidflow_image2vid_example_01.json」というのが、画像から動画にするワークフロー。
・「pyramidflow_text2vid_example_01.json」というのが、テキストから動画にするワークフローですね。
とりあえず、「i2v」の「pyramidflow_image2vid_example_01.json」をダウンロードします。
ファイル名をクリックして、以下のボタンでダウンロードしましょう。
ダウンロードしたファイルを、ComfyUIにドラック&ドロップします。
そうすると、ワークフローが読み込まれました!!
もし、ノードが赤くなっているところがありましたら、それはカスタムノードが入っていないということです。
具体的には、「KJNodes」と「VideoHelperSuite」といったカスタムノードが必要になるので、
「ComfyUI Manager」からインストールしましょう!
Managerというボタンから、「Install Missing Custom Nodes」を選んで、チェックを入れて、
インストール→再起動をしてください。
基本的にここに出てくるのは、足りないノードなので、全部チェックでインストールしましょう。
4.動画生成しよう
あとは動画を作ってみましょう!!
こちらの記事で使用した、サムネイル画像を動かしてみたいと思います。
画像を読み込ませて、「Queue Prompt」でとりあえず出ますが、
サンプルワークフローのプロンプトが、「万里の長城をドローンで」みたいになっているので変更しましょう。
いろいろ調整後、こんな感じで作れました。
いやーすごいですね。。。。動いてます。
でも、、、、なかなか綺麗に作れません、、、
上の動画も20回ぐらい生成して、これがなかなか良い出来かな?って感じです。
動画時間を長くすると、顔が破綻します。。。手も怪しいです。
短い時間にしたり、フレームレートを落として作ったり、
プロンプトを調整したり、試行錯誤が必要ですね・・・
ちなみに上記の設定はこんな感じです。
temp = 8
guidance_scale = 8.5
ideo_guidance_scale = 2.75
左下の「Load Image」から画像を読み込ませて、
その上の「PyramidFlow Text Encode」にシチュエーションなどを入れて作りました。
もっといろいろ「t2v」もやってみたりいろいろ調整してみたいと思います!
他の作成できた動画も置いておきます。
手などは見えない方がいい感じに出力できるかもですね。