Skip to content

Latest commit

 

History

History
134 lines (95 loc) · 7.85 KB

File metadata and controls

134 lines (95 loc) · 7.85 KB

ComfyUI-FramePackWrapper_PlusOne

ComfyUI-FramePackWrapper_PlusOne は、ComfyUI-FramePackWrapperおよびComfyUI-FramePackWrapper_Plusから派生した、FramePackの1フレーム推論ノード(kisekaeichi対応)を含むフォークです。

本リポジトリは、 @tori29umai0123 氏の依頼を受けて公開用にフォークしました。

機能

  • 1フレーム推論: 基本的な1フレーム推論および、kisekaeichi方式に対応しています。技術的詳細はmusubi-tunerのドキュメントを参照してください。
  • F1サンプラー対応: より高品質で時間的一貫性の高い動画生成のための改良されたF1方式を採用
  • LoRA統合: 適切な重み付けと融合オプションを備えたHunyuanVideo LoRAの完全サポート
  • タイムスタンプ付きプロンプト: 特定のタイムスタンプでプロンプトを変更できる動的動画の作成
  • 柔軟な入力オプション: 参照画像と空の潜在空間の両方で完全なクリエイティブコントロールが可能
  • 解像度制御: 最適な動画サイズのための自動バケット検出
  • ブレンド制御: タイムスタンプ間の異なるプロンプトのスムーズな遷移

未対応機能

  • 1フレーム推論のうち、f-mc (one frame multi-control) 方式は未対応です。

インストール

  1. このリポジトリをComfyUIのcustom_nodesフォルダにクローンします:
cd ComfyUI/custom_nodes
git clone https://github.com/xhiroga/ComfyUI-FramePackWrapper_PlusOne.git
  1. 必要な依存パッケージをインストールします:
pip install -r requirements.txt
  1. 必要なモデルファイルをダウンロードして、modelsフォルダに配置します:

モデルファイル

メインモデルオプション

必要なコンポーネント

使用方法

example_workflowsを参照ください。

1-Frame / LoRA @tori29umai 1-Frame / LoRA @kohya-ss Kisekaeichi / LoRA @tori29umai
kisekaeichi chibi body2img

ライセンス

MIT License

更新履歴

v2.0.1 - バグ修正 (2025-08-26)

バグ修正

  • 2回目以降の生成が失敗するバグの修正: 連続して生成を実行した際に発生していたdtype不一致エラー(BFloat16とFloat32)を修正しました。

v2.0.0 - musubi-tuner完全互換対応 (2025-08-08)

複数リファレンス画像使用時の推論結果の一貫性を改善するため、musubi-tuner仕様との完全互換性を実現しました。

破壊的変更

  1. v0.0.2までに作成したワークフローのdenoise_strengthが0になってしまうことがあります。 ノードの更新後は、手動で1.0に設定し直してください。

  2. 既存のkisekaeichiワークフローはこの更新では使い回しができません。 リファレンス画像の入力がリスト形式に変更され、複数のリファレンス画像が読み込めるようになりました。example_workflowsフォルダ内のOneframe_kisekae_V2.jsonを参考に修正してください。

主要な変更点

1. エンベッディング統合方式の改善

  • ❌ 従来:重み付き平均による統合処理(入力画像70%、参照画像30%)
  • 新版: musubi-tuner互換の処理方式(最初の参照画像エンベッディングを使用)

2. Latent結合構造の統一

  • ❌ 従来:入力画像と参照画像を分離管理後に結合
  • 新版: musubi-tuner仕様のcontrol_latents直接結合
    control_latents = [入力画像, 参照画像1, 参照画像2, ..., ゼロlatent]
    clean_latents = torch.cat(control_latents, dim=2)

3. マスク適用タイミングの最適化

  • ❌ 従来:latent結合前の個別適用
  • 新版: clean_latents生成後にマスク適用(musubi-tuner仕様)

4. インデックス設定の動的処理

  • ❌ 従来:固定的なclean_latent_indices設定
  • 新版: control_indicesパラメータの動的適用
    # control_index="0;7;8;9;10" → clean_latent_indices = [0, 7, 8, 9, 10]
    while i < len(control_indices_list) and i < clean_latent_indices.shape[1]:
        clean_latent_indices[:, i] = control_indices_list[i]

5. latent_indicesの初期化改善

  • ❌ 従来:ComfyUI独自の初期化方式
  • 新版: musubi-tuner仕様の初期化
    latent_indices = torch.zeros((1, 1), dtype=torch.int64)
    latent_indices[:, 0] = latent_window_size  # デフォルト値
    latent_indices[:, 0] = target_index        # パラメータ適用

期待される効果

  • 推論結果の一貫性向上: 同じリファレンス画像・同じパラメータでmusubi-tunerと完全に同じ結果を生成
  • 複数リファレンス処理の安定化: より正確なインデックス管理による安定した品質
  • パラメータ互換性: musubi-tunerのcontrol_indexとtarget_indexパラメータが正しく動作

技術的詳細

この更新により、以下の処理フローがmusubi-tunerと完全に一致します:

  1. 制御画像処理: --control_image_pathで指定された複数画像の順次処理
  2. インデックス管理: --one_frame_inference="control_index=0;7;8;9;10,target_index=5"の動的適用
  3. エンベッディング処理: セクション毎の個別処理を模擬した実装
  4. マスク適用: clean_latents構築後の統一的なマスク処理

クレジット