私的AI研究会 > ComfyUI6

画像生成AI「ComfyUI」6(動画編) == 編集中 ==

 「ComfyUI」を使ってローカル環境でのAI画像生成を検証する

▲ 目 次
※ 最終更新:2026/01/11 

「ComfyUI」FramePack による動画生成

「FramePackWrapper」を使って「FramePack」で動画を作成してみる

プロジェクトで作成するワークフロー

動画生成のための環境構築

  1. 「Stability Matrix」上の「ComfyUI」にカスタムノード「ComfyUI-FramePackWrapper」 を導入
    ComfyUI-Manager ではレポジトリからの導入が出来ないので「Git via URL」からの導入か「Git clone」での導入が必要。
    Git via URL だと、ComfyUI-Manager のセキュリティを変更する必要があるので、Git clone を使って導入する
    ・「Anaconda PowerShell」を起動し一時的に PATH を変更(例:D:\StabilityMatrix に設置の場合)
    python -V Python のバージョン確認
    $env:Path = "D:\StabilityMatrix\Data\Assets\Python310;" + $env:Path 一時的なPATHの変更
    python -V パッケージ実行時のPython のバージョン確認
    ・ パッケージ・ディレクトリに移動してパッケージ内の仮想環境を起動する
    cd "D:/StabilityMatrix/Data/Packages/ComfyUI" パッケージのディレクトリに移動
    ./venv/Scripts/activate 仮想環境を起動
    コマンドラインに (venv) の表示がある(仮想環境下である)ことを確認すること
    ・「custom_nodes」フォルダへ階層変更し、git clone を実行
    cd custom_nodes custom_nodes フォルダへ移動
    git clone https://github.com/kijai/ComfyUI-FramePackWrapper git clone を実行
    ・「ComfyUI_Local_Media_Manager」階層に移動して必要なパッケージ類を導入する
    cd ComfyUI-FramePackWrapper ComfyUI-FramePackWrapper フォルダへ移動
    pip install -r requirements.txt 必要なパッケージ類を導入
    ・ カスタムノードの導入は完了。「Anaconda PowerShell」を終了する

  2. 動画生成のワークフロー作成に必要なカスタムノードの導入
    以下は ComfyUI-Manager 使って導入する
    ・複数枚の画像を集約し、次ノードへ渡す「Get Image Size & Count」
      kijai/ComfyUI-KJNodes →「 KJNodes 」で検索
    ・画像のリサイズを行う「Image Resize」
      cubiq/ComfyUI_essentials →「 ComfyUI_essentials 」で検索
    ・複数枚の画像を結合し動画化するノード「Video Combine」
      Kosinkadink/ComfyUI-VideoHelperSuite →「 VideoHelperSuite 」で検索

  3. 必要モデルのダウンロードと配置
    「Stability Matrix」上の「ComfyUI」ではモデルフォルダの場所が異なっていることに注意 → モデルフォルダの配置
    モデル名ファイル名配置先
    /StabilityMatrix/Data/Models/
    ダウンロード URL
    FramePack ModelFramePackI2V_HY_fp8_e4m3fn.safetensorsDiffusionModels/Kijai/HunyuanVideo_comfy
    (FramePackI2V_HY_bf16.safetensors)
    Hunyan Video VAEhunyuan_video_vae_bf16.safetensorsVAE/
    CLIP Visionsigclip_vision_patch14_384.safetensorsClipVision/Comfy-Org/sigclip_vision_384
    CLIPclip_l.safetensors
    llava_llama3_fp16.safetensors
    TextEncoders/Comfy-Org/HunyuanVideo_repackaged

サンプル・ワークフローによる生成

  1. 「ComfyUI-FramePackWrapper」添付のサンプル・ワークフロー
    ・「StabilityMatrix/Data/Packeges/ComfyUI/custom_nodes/ComfyUI-FramePackWrapper/example_workflows/」フォルダ内の
     「framepack_hv_example.json」ファイルをドラッグ&ドロップする

  2. 「Load FramePackModel」ノードを確認する

    ・「model」が「FramePackI2V_HY_fp8_e4m3fn.safetensors」
    ・「load device」が「offload device」
     (VRAM が少ない場合にエラーとなるため)

  3. 「DualCLIPLoader」ノードを確認する

    ・「clip_name1」が「clip_l.safetensors」
    ・「clip_name2」が「llava_llama3_fp16.safetensors」

  4. 「Load CLIP Vision」ノードを確認する

    ・「clip_name」が「sigclip_vision_patch14_384.safetensors」

  5. 「Load VAE」ノードを確認する

    ・「vae_name」が「hunyuan_video_vae_bf16.safetensors」

  6. 「Load Image」ノードで 画像を指定する
    ・「first_frame」例: 00010-1751599963.png
    ・「last_frame」 例: 必要ない場合は、Bypass

  7. 「CLIP Text Encoder」ノードの「prompt」を入力する
    ・例:  The girl dances gracefully, with clear movements, full of charm.

  8. 「VAE Decode (Tiled)」ノードのパラメータを調整する

    ・デフォールト値でメモリーエラーとなったのでこの値に変更

  9. 「FramePackSampler」ノードを確認する

    ・「total_second_length」パラメータで再生時間を指定できる

  10. 「Video Conbine」ノードで生成結果の指定がきる
    ・「save_output」が「Faulse」の場合 自動保存しないが、右クリック「Save preview」でダウンロードできる

  11. 「Run」を押して生成する
    ① 生成完了後 右上のボタンで生成時間を確認できる
    comfyui_309_m.jpg 例:848.22s(14分08秒)
     ※ ワークフロー:「_video/」fileframepack_hv_example_ok.json

  12. 生成結果

  13. 生成時間を後から検証できるようにワークフローを修正する
    ① 生成完了後 ファイル更新時間の差でで生成時間を確認できる
    comfyui_311_m.jpg
     ※ ワークフロー:「_video/」fileframepack_hv_test_00.json

  14. 生成結果

     

「FramePack」基本ワークフロー

 「FramePack」オリジナルのワークフローを再現してみる
  1. https://note.com/konapieces/n/n7dd6e78edebb 添付のワークフローを使用する
    ・ダウンロードした「FramePackSample.json」をキャンバス上にドラッグ&ドロップ

  2. 前項と同じように各ノードを確認して必要であれば修正する
    ・「Load FramePackModel」「DualCLIPLoader」「Load CLIP Vision」「Load VAE」ノード

  3. 「Save Image」ノードの生成結果をワークフローで区別できるようにする
    ・生成結果の保存ファイル指定 → ComfyUI/video/FramePack_01

  4. 生成時間を後から検証できるように「Load Image」ノードの後に「Save Image」ノードを追加
    ・生成開始の確認ファイル指定 → ComfyUI/video/_start_01

  5. 「Load Image」ノードで 画像を指定する

  6. ワークフローを「framepack_sample_01」として保存する

  7. 「Run」を押して生成する
     ※ ワークフロー:「_video/」fileframepack_sample_01.json
     

「ComfyUI」FramePack F1 による順方向動画生成

「ComfyUI-FramePackWrapper_Plus」 を使って「FramePack F1」の順方向動画作成してみる

順方向動画生成のための環境構築

  1. 「Manager」ボタンを押し「ComfyUI Manager」から「Custom Nodes Manager」を選択

    ① 検索欄に「framepack」と入力
    ② 表示された一覧から「ComfyUI-FramePackWrapper_Plus」を選択
    ③ 右にスクロールして Author 項目「ShmuelRonen」を確認
    ④「Install」ボタンを押す
  2. バージョン番号を選択(基本「latest」を選択)
  3. インストールが完了すると、ComfyUI の再起動を求められるので、下部の「Restart」ボタンを押す
    「StabilityMatrix」コンソール画面でパッケージ停止の表示になるが実行中なので焦らずに待つ(スクロールすれば実行状態がわかる)
  4. 「Confirm」(確認)ボタンを押すとインストール開始する
  5. インストール完了すると 別のウインドウがオープンするので閉じる)
  6. 前のブラウザ画面に戻るので「Confirm」(確認)ボタンを押す
  7. 再度表示された「ConfyUI」画面から「ComfyUI Manager」→「Custom Nodes Manager」→「framepack」を検索
  8. 「ComfyUI Manager」でインストール完了となっていることを確認してブラウザと「Stability Matrix」を一旦終了する

「FramePack F1」基本ワークフロー

 順方向生成の「FramePack F1」を検証する
  1. 「ComfyUI-FramePackWrapper_Plus」添付のサンプル・ワークフロー
    ・「StabilityMatrix/Data/Packeges/ComfyUI/custom_nodes/ComfyUI-FramePackWrapper_Plus/example_workflows/」フォルダ内の
     「framepack_F1_example.json」ファイルをドラッグ&ドロップする

  2. 前項と同じように各ノードを確認して必要であれば修正する
    ・「Load FramePackModel」「DualCLIPLoader」「Load CLIP Vision」「Load VAE」ノード

  3. 「Save Image」ノードの生成結果をワークフローで区別できるようにする
    ・生成結果の保存ファイル指定 → ComfyUI/video/FramePack_02

  4. 生成時間を後から検証できるように「Load Image」ノードの後に「Save Image」ノードを追加
    ・生成開始の確認ファイル指定 → ComfyUI/video/_start_02

  5. 「Load Image」ノードで 画像を、「FramePackTimestampedTextEncode」でプロンプト指定する

  6. ワークフローを「framepack_f1_sample_02」として保存する

  7. 「Run」を押して生成する
     ※ ワークフロー:「_video/」fileframepack_f1_sample_02.json

拡張ノード・リファレンス

  1. 「FramePackTimestampedTextEncode」
    ・タイムスタンプ付きのテキストプロンプトをエンコードし、時間制限をつける

    ① CLIP テキストモデル
    ② タイムスタンプ付きのテキストプロンプト
    ③ ネガティブプロンプト
    ④ 動画の長さ(秒単位)
    ⑤ 処理ウィンドウサイズ
    ⑥ プロンプトをブレンドするためのセクション数
    ・タイムスタンプ付きのプロンプトのフォーマット
    [0s: A beautiful landscape, mountains in the background]
    [5s-10s: Camera pans to reveal a lake, reflections of clouds]
    [10s: A boat appears on the horizon, sailing slowly]
     [Xs: prompt]: X秒から始まり、次のタイムスタンプまで続く
     [Xs-Ys: prompt]: X秒からY秒まで有効

  2. 「FramePackLoraSelect」
    ・LoRAモデルの選択と設定

    ① LoRA モデル選択
    ② LoRA の強さ(0.0-2.0)
    ③ LoRA の重りをベースモデルに融合させるかどうか
    ④ (任意) 複数のLoRAを連結する場合
    ・LoRA を使用する場合
     HunyuanVideo LoRA を「StabilityMatrix/Data/Models/Lora」フォルダに入れる
     FramePackLoraSelect ノードをワークフローに追加する
     強度は必要に応じて調整(通常0.5〜1.2)
     柔軟性のために fuse_lora を false に設定し、パフォーマンスを true に設定する

  3. 「FramePackSampler(F1)」
    ・F1サンプリング技術を用いたメインジェネレーションノード

    ① ロードされた FramePack モデル
    ② タイムスタンプ付きのポジティブプロンプト
    ③ ネガティブプロンプト条件付け
    ④ 生成の初期潜在
    ⑤ CLIP Vision 埋め込み 開始画像
    ⑥ (任意)遷移の終わりの潜在
    ⑦ (オプション)エンド画像用の CLIP Vision 埋め込み
    ⑧ (任意)ビデオ間生成用
    ⑨ さまざまなサンプリングパラメータ(ステップ、CFG、ガイダンススケールなど)

  4. 「LoadFramePackModel / DownloadAndLoadFramePackModel」
    ・FramePack モデルに様々な精度オプションを読み込む
     

忘備録

動画 生成時間「FramePack」/「FramePack F1」

ここまでのまとめ

 

更新履歴

 

参考資料