FramePack-eichiは、lllyasviel師のlllyasviel/FramePackのフォークであるnirvash氏のnirvash/FramePackを元にして作成された機能追加バージョンです。nirvash氏の先駆的な改良に基づき、細かい機能が多数搭載されています。
Endframe Image CHain Interface (EICHI)
- Endframe: エンドフレーム機能の強化と最適化
- Image: キーフレーム画像処理の改善と視覚的フィードバック
- CHain: 複数のキーフレーム間の連携と関係性の強化
- Interface: 直感的なユーザー体験とUI/UXの向上
「eichi」は日本語の「叡智」(深い知恵、英知)を連想させる言葉でもあり、AI技術の進化と人間の創造性を組み合わせるという本プロジェクトの哲学を象徴しています。 つまり叡智な差分画像から動画を作成することに特化した現地改修仕様です。
- 高品質な動画生成: 単一画像から自然な動きの動画を生成 ※既存機能
- マルチキーフレーム対応: 複数のキーフレーム画像を指定し複雑なアニメーションを実現 ※nirvash氏追加機能
- 柔軟な動画長設定: 6秒、8秒、10秒(5x2)、12秒(4x3)、16秒(4x4)、20秒(4x5)の6つのモードに対応 ※独自機能
- 【試験実装】オールパディング機能: すべてのセクションで同じパディング値を使用 ※v1.4で追加
- 【試験実装】フレームサイズ設定: 0.5秒モードと1秒モードを切り替え可能 ※v1.5で追加
- 【試験実装】セクションごとのプロンプト設定: 各セクションに個別のプロンプトを指定可能※v1.2で追加
- 【調査中】Hunyuan LoRAサポート: モデルのカスタマイズによる独自の表現を追加 ※v1.3で追加
- 【試験実装】EndFrame影響度設定: 最終フレームの影響力を調整して動画の流れを制御 ※v1.3で追加(nirvash氏の知見)
- 出力フォルダ管理機能: 出力先フォルダの指定とOSに依存しない開き方をサポート ※v1.2で追加
- プロンプト管理機能: プロンプトの保存、編集、再利用が簡単 ※v1.3で追加
- ログ機能: 詳細な経過情報や終了時に処理時間を出したりWindowsだと音を出したりします ※独自機能
- クロスプラットフォーム対応: Windows以外の環境でも基本機能が使用可能 ※多分
一部のユーザーから以下の問題が報告されており、現在対応を検討中です:
- 生成中止後に再度生成を開始すると、終点およびキーフレーム画像が使用されないことがある
- 画像を一度削除して再アップロードすると問題が解決するが、生成を開始するまで問題に気づきにくい
- この問題が確認された場合、一度画像を閉じて再度アップロードし直してください
今後のアップデートで、以下の改善を予定しています:
- スタートボタンクリック時の画像再取得機能
- アップロードまたはコピーした画像への視覚的フィードバック(チェックマーク表示)
- 画像取得エラー時の明確な警告表示
暫定対応状態となります:
- 方式をv1.3.2のLoRA直接方式からv1.3リリース時のDynamicSwap方式に変更
- DynamicSwap方式についてはパラメタの設定が出来ることをログで確認
- 現在は最大パラメタ数を100個に限定し限定運用中
- 使用にはVRAM16GBでも少し厳しめだが、処理自体よりも開始前のディスク読込の方が長い。メモリは多め推奨
- 画像をアップロード: 「Image」枠に画像をアップロード
- プロンプトを入力: キャラクターの動きを表現するプロンプトを入力
- 設定を調整: 動画長やシード値を設定
- 生成開始: 「Start Generation」ボタンをクリック
-
生成モード選択: ※独自機能
- 通常モード: 一般的な動画生成
- ループモード: 最終フレームが最初のフレームに戻る循環動画を生成
-
オールパディング選択: ※v1.4で追加、この値が小さいほど1セッションでの動きが激しくなる
- オールパディング: すべてのセクションで同じパディング値を使用
- パディング値: 0〜3の整数値
-
動画長設定: ※既存機能の固定化
- 6秒: 標準的な短尺動画
- 8秒: より長めの動画
- 10(5x2)秒: 2パート構成(前半5秒・後半5秒)
- 12(4x3)秒: 3パート構成(各4秒)
- 16(4x4)秒: 4パート構成(各4秒)- v1.1で追加
- 20(4x5)秒: 5パート構成(各4秒)- v1.2で追加
-
キーフレーム設定: ※nirvash氏追加機能
- Image: メインの開始キーフレーム
- Final Frame: 最終フレーム(オプション)
- セクション設定: 各セクションのキーフレーム画像とプロンプトを個別設定可能
-
セクションごとのプロンプト: ※v1.2で追加【試験実装】
- 各セクションに個別のプロンプトを設定可能
- セクション固有のプロンプトは、そのセクションの生成時のみ使用される
- 空白の場合は共通プロンプトが使用される
- 注意: この機能は試験実装であり、効果の保証はできません
-
Hunyuan LoRAの設定: ※v1.3で追加【調査中】
- 「LoRAを使用する」チェックボックス: LoRAの有効/無効を切り替え
- LoRAファイル選択: 使用するLoRAファイルを選択
- 適用強度スライダー: LoRAの影響度を0.0〜1.0で調整
- フォーマット選択: HunyuanVideo/Diffusers/Musubiなどのフォーマットを選択
- 注意: Hunyuan LoRA使用時はプログレスバーが始まる前に読込のための待ち時間が発生し、全体の処理時間が長くなります
- LoRAは種類が多様でありサンプル数も少ないため、有識者の方は試行願います
-
EndFrame影響度設定: ※v1.3で追加【試験実装】
- スライダー(0.01〜1.00): 最終フレームが動画全体に与える影響を調整
- 低い値: 最終フレームの影響が弱まり、開始フレームへより早く移行します
- 高い値(1.00): 従来の標準動作と同等の影響度
- nirvash氏の知見に基づく実装です
-
出力フォルダ設定: ※v1.2で追加
- 出力先フォルダ名を指定可能
- 「保存および出力フォルダを開く」ボタンで、設定保存とフォルダオープンが可能
- 設定はアプリ再起動時も保持される
FramePackの最大の特徴は「未来から過去へ」というユニークな動画生成アプローチにあります。一般的な動画生成AIは最初のフレームから順番に未来へ生成していくため、長い動画になるほど画質の劣化や一貫性の低下が起きてしまいます。
FramePackでは、まず入力画像から最終フレームを生成し、そこから逆方向に各フレームを作成していきます。これにより、長時間の動画でも高い画質と一貫性を維持できます。
FramePack-eichiでは、複数のキーフレーム画像を戦略的に配置することで、さらに品質を向上させています:
-
最終セクションの急激な変化を防止:
- 元のendframeでの初回(最後の1秒)セクションのみの画像セットは、最終セクション(最初の1秒付近)で急に画像が変わる問題がありました
- FramePack-eichiは、ならば全部のセクションにキーフレーム画像をぶち込んでやろうという安直な力業に出ています
- 特に重要なキーフレームを赤枠で強調表示し、これらに画像を設定することで、自動コピーするようにしています
- FramePackは上述の通り、最終セクションから動画を生成するため、セクションの並び及びキーフレーム場増も最後尾から設定する形になります
- 6秒モードではFramePackが本気を出すのが間に合わず、ループモードのキーフレーム画像までに到達せずにループが終わることもあります
- 8秒モードでは6秒モードよりも画像の遷移が緩やかになります
- どちらの場合も(後述の複数シーン用も含む)、差分の画像が大きい程、動きの変化が大きくなり、より滑らかな動きを生成できます
-
セクション間の滑らかな接続:
- 10(5x2)秒モードでは中間に画像を挟むことで3シーンの遷移を想定しています。キーフレーム1と5が動きの転換点となります。
- 12(4x3)秒モードでは同様に4シーンの遷移を想定しています。キーフレーム1、4、7が動きの転換点となります。
- 16(4x4)秒モードでは4つのパートに分かれ、より長い動画を高品質に生成します。キーフレーム1、4、7、10が重要な転換点です。
- 20(4x5)秒モードでは5つのパートに分かれ、さらに長い動画を高品質に生成します。キーフレーム1、4、7、10、13が重要な転換点です。※v1.2で追加
- これらのキーフレーム間は自動的に画像がコピーされ、一貫性のある動きを生成します。
- 設定をオフにして細かく設定することも可能です。
-
ループ機能の最適化:
- ループモードでは、最初のキーフレームがFinal Frameに自動コピーされます
- キーフレーム画像1にループの開始姿勢を設定することで、滑らかな循環動画を作成できます
-
セクションごとのプロンプト設定:※v1.2で追加【試験実装】
- 各セクションに固有のプロンプトを設定することで、セクションごとに異なる動きや表現を実現
- 例えば、「歩く」→「座る」→「手を振る」といった動きの変化を自然に表現可能
- プロンプトの影響は微妙ですが、キーフレーム画像と組み合わせることで効果的
-
EndFrame影響度調整による動きのコントロール:※v1.3で追加【試験実装】
- 最終フレームの影響度を調整することで、動きのタイミングや遷移をよりきめ細かく制御
- 影響度を下げると開始フレームへの移行が早まり、動きのリズムが変化
- 長い動画の場合、セクションごとの動きの強調が可能に
キーフレーム画像と同様に重要なのがプロンプト設定です:
-
プロンプトの基本構造:
- 主体 → 動き → その他要素の順で記述すると効果的
- 例:
The character walks gracefully, with clear movements, across the room.
-
動きの指定レベル:
- プロンプトなし: ほとんど動きが生まれません
- 簡単な動き:
moves back and forth, side to side
程度でも基本的な動きは生成されます - 具体的な動き:
dances powerfully, with clear movements, full of energy
のように詳細に指定すると、より複雑な動きが生成されます
-
注意点:
- 「ダンス」など大きな動きを表す単語を使うと、予想以上に大げさな動きになることがあります
- 実用的なプロンプトの例:
- 穏やかな動き:
The character breathes calmly, with subtle body movements.
- 中程度の動き:
The character walks forward, gestures with hands, with natural posture.
- 複雑な動き:
The character performs dynamic movements with energy and flowing motion.
- 穏やかな動き:
-
プロンプトの深層構造(LLAMAとCLIPの分離):
-
FramePack内部では、プロンプトが以下の2つの異なるモデルで処理されます:
-
LLAMAモデル(256トークン制限):
- テキストの詳細な理解と文脈処理を担当
- ビデオの全体的な内容とシーケンスの制御に使用
- 文字数目安: 約1000-1300文字(英語)または200-400文字(日本語)
- シーンの文脈や物語性の制御に関わる
-
CLIPモデル(77トークン制限):
- 画像とテキストの関連付けに特化したモデル
- ビデオフレームの具体的な視覚的特徴の生成に影響
- 文字数目安: 約300-400文字(英語)または50-150文字(日本語)
- スタイル、被写体、視覚的属性の制御に関わる
-
-
効果的なプロンプト記述のストラテジー:
-
最初の300-400文字(英語)/50-150文字(日本語):
- LLAMAとCLIPの両方で処理される重要な「視覚パート」
- ここには主な視覚的要素、スタイル、被写体、全体的なトーンを記述
- 例:
A young woman with long flowing hair, cinematic lighting, detailed facial features, soft expressions, gentle movements
-
後半の600-900文字(英語)/150-250文字(日本語):
- LLAMAのみで処理される「物語パート」
- ここには動きの詳細、シーンの文脈、シーケンス情報を記述
- 例:
The camera slowly pans from left to right. The woman gradually turns her head, her expressions changing from neutral to a slight smile. There is a sense of emotional buildup as if emotional music is playing in the background.
-
-
セクションごとのプロンプト活用法: ※v1.2で追加【試験実装】
- セクション固有のプロンプトは簡潔に、そのセクションで重要な動きに焦点を当てる
- 長い文章よりも、明確で具体的な指示が効果的
- 例: セクション1「歩く動作」、セクション2「座る動作」、セクション3「手を振る動作」
- 注意: セクションプロンプトの効果は微妙であり、画像設定との組み合わせが重要
-
LoRAを活用したスタイル調整: ※v1.3で追加【試験実装】
- LoRAの選択とプロンプトを組み合わせることで、特定のスタイルや表現を強調 ※多分
- LoRAの効果は適用強度で調整可能(0.1-0.3は微妙な効果、0.5-0.8は顕著な効果)
- プロンプトとLoRAの選択が一致すると効果が最大化
FramePackの動画生成品質は、キーフレーム画像の選択に大きく左右されます。理想的な差分画像を選ぶために重要なポイント:
-
最適な差分レベル:
- 過度に小さい差分: ほとんど同じ画像(「いわゆる叡智な差分」)を使用すると、ほとんど動きが生成されません
- 過度に大きい差分: 全く関連性のない画像を使うと、自然な動きにつながりません
- 理想的な差分: 同じキャラクターの異なるポーズなど、AIが関連性を見出せる程度の変化が最適
-
関連性の保持:
- 例えば単に画像を左右反転させたものは、AIによって全く異なる画像と認識され、自然な動きにつながりません
- 顔の向き、手の位置、体のポーズなどの変化は理想的な差分要素です
- 背景や服装は可能な限り一貫性を保つことで、AIがキャラクターの動きに集中できます
- 奇しくも画像生成AIにて似通ったプロンプトで作成したキャラクターの揺らぎが理想的な差分要素の一つです
-
理想的な差分画像の特徴:
- 同一キャラクターが軽く体勢を変えたもの
- 表情の微妙な変化(無表情→微笑み、など。ただし、顔の位置が変わらないと動きが弱い)
- 手や腕の自然な動きを伴うポーズの変化
- 頭の向きの緩やかな変化
-
実験的アプローチ:
- 差分画像の選択は科学というよりも美術的な側面が強いため、トライ&エラーが重要
- 始めは似たポーズの差分で試し、徐々に差分の大きさを調整していくのが効果的
- 成功した組み合わせをメモしておくことで、将来の作品に応用できます
-
画像生成AIとの組み合わせ:
- 理想的な差分画像がない場合、画像生成AIを使って同一キャラクターの異なるポーズを生成するのも有効
- プロンプトで指定するポーズの変化は控えめにし、大幅な変化は避けることでより自然な動きを実現
このような構造化されたアプローチは、両方のモデルの強みを最大限に活かし、より表現力豊かな動画を生成するのに役立ちます。
- Windows 10/11(Linux/Macでも基本機能は多分動作可能)
- NVIDIA GPU (RTX 30/40シリーズ推奨、最低8GB VRAM)
- CUDA Toolkit 12.6
- Python 3.10.x
- 最新のNVIDIA GPU ドライバー
※ Linuxでの動作はv1.2で強化され、オープン機能も追加されましたが、一部機能に制限がある場合があります。
まず、元のFramePackをインストールする必要があります。
-
公式FramePackからWindowsワンインストーラーをダウンロードします。 「Click Here to Download One-Click Package (CUDA 12.6 + Pytorch 2.6)」をクリックします。
-
ダウンロードしたパッケージを解凍し、
update.bat
を実行してからrun.bat
で起動します。update.bat
の実行は重要です。これを行わないと、潜在的なバグが修正されていない以前のバージョンを使用することになります。 -
初回起動時に必要なモデルが自動的にダウンロードされます(約30GB)。 既にダウンロード済みのモデルがある場合は、
framepack\webui\hf_download
フォルダに配置してください。 -
この時点で動作しますが、高速化ライブラリ(Xformers、Flash Attn、Sage Attn)が未インストールの場合、処理が遅くなります。
Currently enabled native sdp backends: ['flash', 'math', 'mem_efficient', 'cudnn'] Xformers is not installed! Flash Attn is not installed! Sage Attn is not installed!
処理時間の違い: ※RAM:32GB、RXT4060Ti(16GB)の場合
- ライブラリ未インストール時: 約4分46秒/25ステップ
- ライブラリインストール時: 約3分17秒〜3分25秒/25ステップ
-
高速化ライブラリをインストールするには、Issue #138から
package_installer.zip
をダウンロードし、解凍してルートディレクトリでpackage_installer.bat
を実行します(コマンドプロンプト内でEnterを押す)。 -
再度起動してライブラリがインストールされたことを確認します:
Currently enabled native sdp backends: ['flash', 'math', 'mem_efficient', 'cudnn'] Xformers is installed! Flash Attn is not installed! Sage Attn is installed!
作者が実行した場合、Flash Attnはインストールされませんでした。 注: Flash Attnがインストールされていなくても、処理速度にはほとんど影響がありません。テスト結果によると、Flash Attnの有無による速度差はわずかで、「Flash Attn is not installed!」の状態でも約3分17秒/25ステップと、すべてインストールされている場合(約3分25秒/25ステップ)とほぼ同等の処理速度を維持できます。 Xformersが入っているかどうかが一番影響が大きいと思います。
-
run_endframe_ichi.bat
をFramePackのルートディレクトリに配置します。 -
以下のファイルとフォルダを
webui
フォルダに配置します:endframe_ichi.py
- メインアプリケーションファイルeichi_utils
フォルダ - ユーティリティモジュール(v1.3.1で見直し)__init__.py
keyframe_handler.py
- キーフレーム処理モジュールpreset_manager.py
- プリセット管理モジュールsettings_manager.py
- 設定管理モジュールvideo_mode_settings.py
- 動画モード設定モジュール
lora_utils
フォルダ - LoRA関連モジュール(v1.3で追加、v1.3.2で改良)__init__.py
dynamic_swap_lora.py
- LoRA管理モジュール(フック方式は廃止され、直接適用方式のみサポート)lora_loader.py
- LoRAローダーモジュールlora_check_helper.py
- LoRA適用状況確認モジュール(v1.3.2で追加)
-
run_endframe_ichi.bat
を実行すると、FramePack-eichiのWebUIが起動します。
Linuxでは、以下の手順で実行可能です:
- 上記の必要なファイルとフォルダをダウンロードして配置します。
- ターミナルで次のコマンドを実行します:
python endframe_ichi.py
-
ポート設定:
--port
パラメータ(デフォルト: 8001)- WebUIが使用するポート番号
- 他のアプリケーションと競合する場合は変更してください
-
サーバーアドレス:
--server
パラメータ(デフォルト: '127.0.0.1')- ローカルネットワーク内でアクセスする場合は
0.0.0.0
に変更
- ローカルネットワーク内でアクセスする場合は
-
自動ブラウザ起動:
--inbrowser
オプション- 起動時に自動的にブラウザを開きます
-
GPUメモリ保存設定:
gpu_memory_preservation
スライダー(デフォルト: 9GB) ※既存機能- 小さい値 = より多くのVRAMを使用 = 高速処理
- 大きい値 = より少ないVRAMを使用 = 安定動作
- 仕組み: 設定値が小さいほどトランスフォーマーモデル用により多くのVRAMを解放
- 推奨値:
- 8GB VRAM: 7-8GB
- 12GB VRAM: 6-8GB
- 16GB以上: 6GB前後
- 注意: 他のアプリケーションを同時実行している場合は値を大きくしてください
- このツールではメモリスワップ対策にバックグラウンドで他の画像生成系ツールが動いていいよう3GBのマージンを確保しています
- LoRAを使用する場合、更にマージンを用意した方が良いでしょう
-
高VRAMモード: 自動検出(60GB以上の空きVRAMがある場合)※既存機能
- 有効時: モデルを常にGPUに保持し、メモリ転送のオーバーヘッドを削減
- 効果: 最大20%の処理速度向上
- 正直一般のご家庭ではよっぽどの人でない限り使わないです
-
フレームサイズ設定:
frame_size
ドロップダウンメニュー(デフォルト: 1秒) ※v1.5で追加- 0.5秒: 0.5秒分のフレームを生成 セクション回数、処理時間はほぼ倍増します
- オールバディング0モードで各フレームの画像に差分を与えることで更に激しい動きが可能となります
- 1秒: 1秒分のフレームを生成
-
ステップ数:
steps
スライダー(デフォルト: 25) ※既存機能- 値を増やすと品質が向上しますが、処理時間も比例して増加
- 推奨範囲: 20-30(20でもほぼ同等の品質が得られることが多い)
- 15以下: 明らかな品質低下が発生
-
TeaCache:
use_teacache
チェックボックス(デフォルト: 有効) ※既存機能- 有効: 処理が約15-20%高速化
- 副作用: 手や指先などの細部表現が若干劣化する場合あり
- 用途: 一般的な動画生成では有効推奨、細部表現が重要な場合は無効化
-
乱数シード値:
seed
数値入力または「Use Random Seed」チェックボックス ※nirvash氏追加機能- 同じシード値 = 再現可能な結果
- ランダムシード: 毎回異なる動き生成
- 注意: プロンプトや画像が変わると同じシードでも結果は変化
-
Distilled CFG Scale:
gs
スライダー(デフォルト: 10.0) ※既存機能- 蒸留ガイダンススケール値
- 小さい値 = より自由な動き(プロンプトからの逸脱増加)
- 大きい値 = プロンプトに忠実(動きが制限される場合あり)
- 推奨: デフォルト値の維持(変更は上級者向け)
-
EndFrame影響度:
end_frame_strength
スライダー(デフォルト: 1.0) ※v1.3で追加【試験実装】- 範囲: 0.01〜1.00
- 小さい値: 最終フレームの影響が弱まり、開始フレームへ早く移行
- 大きい値(1.0): 従来の標準動作
- 中間値: 動きの強調度と速度のバランスを調整
-
LoRA使用:
use_lora
チェックボックス(デフォルト: 無効)- 有効: LoRAファイルを使用してモデルをカスタマイズ
- LoRA使用時はカウンターが始まる前の待ち時間が長くなる場合があります
-
LoRAファイル: ファイル選択コンポーネント
- 使用するLoRAファイルを指定
- 対応フォーマット: FramePack形式のみ(v1.3.2で確認)
-
LoRA強度:
lora_strength
スライダー(デフォルト: 0.8)- 範囲: 0.0〜1.0
- 小さい値: 軽微な効果
- 大きい値: 強い効果
- 最適値は各LoRAファイルにより異なります
-
LoRAフォーマット: ラジオボタン
- HunyuanVideo: Hunyuan Video向けのLoRA形式
- Diffusers: Diffusers形式のLoRA
-
動画長: ラジオボタン +
total_second_length
スライダー ※独自機能- 6秒: 標準モード(約180フレーム @ 30fps)
- 8秒: 拡張モード(約240フレーム @ 30fps)
- 10(5x2)秒: 2パート構成(約300フレーム @ 30fps)
- 前半5秒と後半5秒に分かれ、キーフレーム1と5が重要
- 12(4x3)秒: 3パート構成(約360フレーム @ 30fps)
- 各4秒パートに分かれ、キーフレーム1、4、7が重要
- 16(4x4)秒: 4パート構成(約480フレーム @ 30fps)
- 各4秒パートに分かれ、キーフレーム1、4、7、10が重要 (v1.1で追加)
- 20(4x5)秒: 5パート構成(約624フレーム @ 30fps)
- 各4秒パートに分かれ、キーフレーム1、4、7、10、13が重要 (v1.2で追加)
-
キーフレーム自動コピー:
enable_keyframe_copy
チェックボックス(デフォルト: 有効) ※独自機能- 有効: キーフレーム画像が他のセクションに自動コピー
- 無効: 各キーフレームを個別に設定する必要あり
- 用途: 複雑な動きを設計する上級者は無効にすることもあり
-
出力フォルダ: 出力フォルダ設定欄(デフォルト: 'outputs')※v1.2で追加
- 生成された動画と画像の保存先
- 入力欄に直接フォルダ名を入力可能
- 「保存および出力フォルダを開く」ボタンでフォルダを開ける
- 設定はJSON形式で保存され、再起動後も維持される
-
セクション静止画保存:
save_section_frames
チェックボックス(デフォルト: 無効) ※nirvash氏追加機能- 有効: 各セクションの最終フレームが静止画として保存
- 用途: 各セクションの接続部を確認したい場合に有用
-
セクション動画保存:
keep_section_videos
チェックボックス(デフォルト: 無効) ※独自機能- 有効: 各セクションの動画ファイルが保持される、「End」で終了した場合は残ります
- 無効: 最終的な完成動画のみ保存(中間ファイルは削除)、ゴミ箱に入らないので注意
- 用途: 各セクションの動きを個別に確認したい場合に有用
-
プリセット保存: 「保存」ボタン
- 名前を付けて現在のプロンプトを保存
- 名前を空にして保存すると起動時デフォルトプロンプトとして設定
-
プリセット適用: 「反映」ボタン
- 選択したプリセットのプロンプトを現在の生成設定に適用
-
プリセット管理:
- 削除: 不要なプリセットを削除(デフォルトプリセットは削除不可)
- クリア: 編集フィールドをクリア
ツールを立ち上げ、初回に画像をインポートする際に以下のようなエラーが多数発生することがあります: ※コンソールにエラーが表示され、GUI上では画像が表示されません。
ERROR: Exception in ASGI application
Traceback (most recent call last):
File "C:\xxx\xxx\framepack\system\python\lib\site-packages\uvicorn\protocols\http\h11_impl.py", line 404, in run_asgi
このエラーは、HTTPレスポンスの処理中に問題が発生した場合に表示されます。 前述のとおり、Gradioが起動し終わっていない起動初期の段階で頻発します。
解決方法:
- 画像を一度「×」ボタンで削除して、再度アップロードしてみてください。
- 同じファイルで何度も失敗する場合:
- Pythonプロセスを完全に停止してからアプリケーションを再起動
- PCを再起動してからアプリケーションを再起動
エラーが継続する場合は、他の画像ファイルを試すか、画像サイズを縮小してみてください。
「CUDA out of memory」や「RuntimeError: CUDA error」が表示される場合:
gpu_memory_preservation
の値を大きくする(例: 12-16GB)- 他のGPUを使用するアプリケーションを閉じる
- 再起動して再試行
- 画像解像度を下げる(640x640前後推奨)
「LoRAはブルーミング対象が存在しないため無効化されました」というメッセージが表示される場合:
- 別のLoRAファイルを試す
- LoRA形式の選択が正しいか確認
- LoRA強度を0.5-0.8の範囲で調整
- プロンプトとLoRAの内容が一致するかを確認
v1.3.2では、LoRAの適用方式が統一され、DynamicSwapモード(低VRAMモード)でも高VRAMモードと同様に直接LoRAを適用するようになりました。これにより安定性が向上しましたが、VRAMの使用量が増加する可能性があります。
一部のブラウザ(特にFirefoxなど)やmacOSで生成された動画が表示されない問題があります:
- 症状: Gradio UI上で動画が表示されない、Windowsでサムネイルが表示されない、一部のプレイヤーで再生できない
- 原因:
\framepack\webui\diffusers_helper\utils.py
内のビデオコーデック設定の問題
本問題は本家のリポジトリ(lllyasviel/FramePack)の修正が必要な問題です。FramePack-eichiでは本家のソースコードは極力修正せず、本家の修正を待つスタンスとしています。
暫定的な対処法:
- 生成された動画ファイルをVLC等の互換性の高いプレイヤーで再生
- 他の動画編集ソフトで一度開いて保存し直す
- 技術的な知識がある方は、下記の修正を手動で適用することも可能です:
# \framepack\webui\diffusers_helper\utils.py の該当箇所 # 変更前 torchvision.io.write_video(output_filename, x, fps=fps, video_codec='libx264', options={'crf': '0'}) # 変更後 torchvision.io.write_video(output_filename, x, fps=fps, video_codec='libx264', options={'crf': '17', 'pix_fmt': 'yuv420p'})
※この問題は本家リポジトリでPull Request #49として提案されており、今後のアップデートで解決される見込みです。
- フレームサイズ設定の追加:
- 0.5秒モードと1秒モードを切り替え可能
- フレームサイズによってlatent_window_sizeを動的に調整
- オールパディング機能の追加:
- すべてのセクションで同じパディング値を使用
- この値が小さいほど1セッションでの動きが激しくなる
- LoRA適用機能の再見直し:
- 直接LoRAロードモードはパラメタの設定にキー一致が必要なため却下。DynamicSwapに統一して様子見
- 取得したパラメタ数のログ表示実装
- LoRA適用機能の統一:
- 低VRAMモード(DynamicSwap)でも高VRAMモードと同様に直接LoRAを適用する方式に統一
- フック方式を廃止し、より安定した直接適用方式のみをサポート
- 互換性のためにインターフェースは維持しつつ、内部実装を改善
- デバッグ・検証機能の強化:
- LoRAの適用状況を確認するための専用ユーティリティを追加(lora_check_helper.py)
- 詳細なログ出力とデバッグ情報の提供
- コードベースのリファクタリング: 保守性と拡張性向上のため、コードを複数のモジュールに整理
eichi_utils
: キーフレーム処理、設定管理、プリセット管理、ビデオモード設定を管理lora_utils
: LoRA関連の機能を集約
- 【調査中】Hunyuan LoRAサポートの追加: モデルをカスタマイズして独自の表現を追加
- 【試験実装】EndFrame影響度設定の追加: 最終フレームの影響力を0.01〜1.00の範囲で調整可能に(nirvash氏の知見)
- 「20(4x5)秒」モードを追加: 5パート構成の長時間動画生成に対応
- セクションごとのプロンプト機能を追加: 各セクションに個別のプロンプトを設定可能に【試験実装】
- 出力フォルダ管理機能を強化: 出力先フォルダの指定とOSに依存しない開き方をサポート
- 設定ファイル管理の改善: JSONベースの設定ファイルで設定を永続化
- クロスプラットフォーム対応の強化: Windows以外の環境での動作を改善
- 「16(4x4)秒」モードを追加: 4パート構成の長時間動画生成に対応
- 生成処理中の進捗表示を改善: セクション情報(例:「セクション: 3/15」)が表示されるようになり、特に長い動画生成時の進捗が把握しやすくなりました
- 設定ファイルの構造化: 動画モード設定が別ファイルに分離され、拡張性が向上
- プロンプト管理機能の最適化
- キーフレームガイド機能の追加
このプロジェクトは以下のプロジェクトの貢献に基づいています:
- lllyasviel/FramePack - 原作者lllyasviel師の素晴らしい技術と革新性に感謝します
- nirvash/FramePack - nirvash氏の先駆的な改良と拡張に深く感謝します
本プロジェクトはApache License 2.0の下で公開されています。これは元のFramePackプロジェクトのライセンスに準拠しています。
FramePack-eichi - Endframe Image CHain Interface
より直感的で、より柔軟な動画生成を目指して