Step1X-Edit: オープンソースAI画像編集フレームワーク
2025/04/28
ComfyUI Frame Packワークフロー完全ステップバイステップチュートリアル
FramePackは、ControlNetの作者であるスタンフォード大学のLvmin Zhang博士のチームによって開発されたAIビデオ生成技術です。その主な特徴は以下の通りです:
- 動的コンテキスト圧縮:ビデオフレームを重要性に基づいて分類し、キーフレームは1536の特徴マーカーを保持する一方、遷移フレームは192に簡略化されます。
- ドリフト耐性サンプリング:双方向メモリ法と逆生成技術を利用して、画像のドリフトを回避し、アクションの連続性を確保します。
- VRAM要件の削減:ビデオ生成のためのVRAMしきい値をプロフェッショナルグレードのハードウェア(12GB+)から消費者レベル(わずか6GB VRAM)に下げ、一般ユーザーがRTX 3060ラップトップで最大60秒の高品質ビデオを生成できるようにします。
- オープンソースと統合:FramePackは現在オープンソース化され、テンセントのHunyuanビデオモデルに統合されており、マルチモーダル入力(テキスト+画像+音声)とリアルタイムインタラクティブ生成をサポートしています。
Frame Packに関連する元のリンク
- オリジナルリポジトリ:https://github.com/lllyasviel/FramePack/
- ComfyUIなしでWindowsにワンクリックで実行する統合パッケージ:https://github.com/lllyasviel/FramePack/releases/tag/windows
対応するプロンプト
lllyasvielは対応するリポジトリでビデオ生成用のGPTプロンプトを提供しています。Frame Packワークフローを使用する際にプロンプトの書き方が分からない場合は、以下を試してみてください:
- 以下のプロンプトをコピーしてGPTに送信します。
- GPTが要件を理解したら、対応する画像を提供すると、適切なプロンプトが得られます。
You are an assistant that writes short, motion-focused prompts for animating images.
When the user sends an image, respond with a single, concise prompt describing visual motion (such as human activity, moving objects, or camera movements). Focus only on how the scene could come alive and become dynamic using brief phrases.
Larger and more dynamic motions (like dancing, jumping, running, etc.) are preferred over smaller or more subtle ones (like standing still, sitting, etc.).
Describe subject, then motion, then other things. For example: "The girl dances gracefully, with clear movements, full of charm."
If there is something that can dance (like a man, girl, robot, etc.), then prefer to describe it as dancing.
Stay in a loop: one image in, one motion prompt out. Do not explain, ask questions, or generate multiple options.
ComfyUIにおけるFrame Packの現在の実装
現在、ComfyUIでFrame Pack機能を実装したカスタムノード作者は3人います:
- Kijai:ComfyUI-FramePackWrapper
- HM-RunningHub:ComfyUI_RH_FramePack
- TTPlanetPig:TTP_Comfyui_FramePack_SE
これらのカスタムノードの違い
以下では、これらのカスタムノードで実装されたワークフローの違いを説明します。
Kijaiのカスタムプラグイン
Kijaiは対応するモデルを再パッケージ化しており、Kijaiの関連カスタムノードを使用したことがあると思いますが、彼のおかげでこのような迅速な更新が実現しています!
KijaiのバージョンはComfyUI Managerに登録されていないようなので、現在はManagerのカスタムノードマネージャーを通じてインストールすることはできません。ManagerのGitを介して、または手動でインストールする必要があります。
特徴:
- 最初と最後のフレームによるビデオ生成をサポート
- Gitを介したインストールまたは手動インストールが必要
- モデルが再利用可能
HM-RunningHubとTTPlanetPigのカスタムプラグイン
これら2つのカスタムノードは同じコードに基づいた修正バージョンで、元々はHM-RunningHubによって作成され、その後TTPlanetPigが対応するプラグインのソースコードに基づいて最初と最後のフレームによるビデオ生成を実装しました。このPRを確認できます。
これら2つのカスタムノードで使用されるモデルのフォルダ構造は一貫しており、どちらも再パッケージ化されていないオリジナルリポジトリのモデルファイルを使用しています。そのため、これらのモデルファイルはこのフォルダ構造をサポートしない他のカスタムノードでは使用できず、ディスク容量の使用量が大きくなります。
特徴:
- 最初と最後のフレームによるビデオ生成をサポート
- ダウンロードしたモデルファイルは他のノードやワークフローでは再利用できない場合がある
- モデルファイルが再パッケージ化されていないため、より多くのディスク容量を占有
- 依存関係に関するいくつかの互換性問題
さらに、操作中にエラーが発生し、現在これらの互換性の問題を解決できません。そのため、この記事は関連情報のみを提供しています。ただし、最初と最後のフレームはKijaiのバージョンでも実装できるため、これら2つのプラグインは補足情報にすぎません。Kijaiのバージョンを第一選択として使用することをお勧めします。
Kijai ComfyUI-FramePackWrapper FLF2V ComfyUIワークフロー
1. プラグインのインストール
ComfyUI-FramePackWrapper
については、ManagerのGitを使用してインストールする必要があるかもしれません:
以下の記事が役立つかもしれません:
2. ワークフローファイルのダウンロード
以下のビデオファイルをダウンロードし、ComfyUIにドラッグして対応するワークフローをロードします。ファイルにモデル情報を追加したので、モデルのダウンロードを促します。
ComfyUIフロントエンドの最近の更新により、フロントエンドのバージョンが1.16.9以降であることを確認してください。そうでない場合、このワークフローはロード後にウィジェットの損失問題に遭遇する可能性があります。 詳細については、こちらをご覧ください:ComfyUIワークフローをインポートした後にウィジェットが消え、設定や調整ができなくなる
ビデオプレビュー
以下の画像をダウンロードして、画像入力として使用します。
3. モデルの手動インストール
ワークフローでモデルを正常にダウンロードできない場合は、以下のモデルをダウンロードして対応する場所に保存してください。
CLIP Vision
VAE
テキストエンコーダー
ディフュージョンモデル Kijaiは異なる精度で2つのバージョンを提供しています。グラフィックカードのパフォーマンスに基づいて1つを選んでダウンロードできます。
ファイル名 | 精度 | サイズ | ダウンロードリンク | グラフィックカード要件 |
---|---|---|---|---|
FramePackI2V_HY_bf16.safetensors | bf16 | 25.7GB | ダウンロードリンク | 高 |
FramePackI2V_HY_fp8_e4m3fn.safetensors | fp8 | 16.3GB | ダウンロードリンク | 低 |
ファイル保存場所
📂 ComfyUI/
├──📂 models/
│ ├──📂 diffusion_models/
│ │ └── FramePackI2V_HY_fp8_e4m3fn.safetensors # または bf16精度
│ ├──📂 text_encoders/
│ │ ├─── clip_l.safetensors
│ │ └─── llava_llama3_fp16.safetensors
│ ├──📂 clip_vision/
│ │ └── sigclip_vision_patch14_384.safetensors
│ └──📂 vae/
│ └── hunyuan_video_vae_bf16.safetensors
4. 対応するワークフローをステップバイステップで完了
Load FramePackModel
ノードがFramePackI2V_HY_fp8_e4m3fn.safetensors
モデルをロードしていることを確認します。DualCLIPLoader
ノードが以下をロードしていることを確認します:clip_l.safetensors
モデルllava_llama3_fp16.safetensors
モデル
Load CLIP Vision
ノードがsigclip_vision_patch14_384.safetensors
モデルをロードしていることを確認します。Load VAE
ノードにhunyuan_video_vae_bf16.safetensors
モデルをロードできます。- (オプション、私の入力画像を使用している場合)
CLIP Text Encoder
ノードのPrompt
パラメータを変更して、生成したいビデオの説明を入力します。 Load Image
ノードで、first_frame
の入力処理に関連するfirst_frame.jpg
をロードします。Load Image
ノードで、last_frame
の入力処理に関連するlast_frame.jpg
をロードします(最後のフレームが必要ない場合は、削除するかBypassを使用して無効にできます)。FramePackSampler
ノードで、total_second_length
パラメータを変更してビデオの長さを変更できます。私のワークフローでは5
秒に設定されており、必要に応じて調整できます。Run
ボタンをクリックするか、ショートカットCtrl(cmd) + Enter
を使用してビデオ生成を実行します。
最後のフレームが必要ない場合は、last_frame
に関連する入力処理全体をバイパスしてください。
HM-RunningHubとTTPlanetPigのカスタムプラグイン
これら2つのプラグインは同じモデル保存場所を使用しますが、前述のとおり、特定の場所に保存する必要がある元のリポジトリ全体をダウンロードします。これにより他のプラグインがこれらのモデルを再利用することが妨げられ、ディスク容量が無駄になります。ただし、最初と最後のフレームの生成を実装しているので、試してみたい場合は試すことができます。
プラグインのインストール
- 以下のいずれかまたは両方をインストールすることができます。ノードは異なりますが、どちらも1つのノードだけで簡単に使用できます:
- HM-RunningHub:ComfyUI_RH_FramePack
- TTPlanetPig:TTP_Comfyui_FramePack_SE
- ComfyUIでのビデオ編集体験を向上させる:
ビデオ関連のワークフローでVideoHelperSuiteを使用したことがある場合、ComfyUIのビデオ機能を拡張するためにはまだ重要です。
1. モデルのダウンロード
HM-RunningHubはすべてのモデルをダウンロードするためのPythonスクリプトを提供しています。このスクリプトを実行して指示に従うだけです。私のアプローチは、以下のコードをdownload_models.py
として保存し、ComfyUI/models
のルートディレクトリに配置し、対応するディレクトリから端末でpython download_models.py
を実行することです。
cd <インストールパス>/ComfyUI/models/
次に、スクリプトを実行します:
python download_models.py
これには、Pythonの独立環境/システム環境にhuggingface_hub
パッケージがインストールされている必要があります。
from huggingface_hub import snapshot_download
# HunyuanVideoモデルをダウンロード
snapshot_download(
repo_id="hunyuanvideo-community/HunyuanVideo",
local_dir="HunyuanVideo",
ignore_patterns=["transformer/*", "*.git*", "*.log*", "*.md"],
local_dir_use_symlinks=False
)
# flux_redux_bflモデルをダウンロード
snapshot_download(
repo_id="lllyasviel/flux_redux_bfl",
local_dir="flux_redux_bfl",
ignore_patterns=["*.git*", "*.log*", "*.md"],
local_dir_use_symlinks=False
)
# FramePackI2V_HYモデルをダウンロード
snapshot_download(
repo_id="lllyasviel/FramePackI2V_HY",
local_dir="FramePackI2V_HY",
ignore_patterns=["*.git*", "*.log*", "*.md"],
local_dir_use_symlinks=False
)
また、以下のモデルを手動でダウンロードして対応する場所に保存することもできます。これは、対応するリポジトリからすべてのファイルをダウンロードすることを意味します。
- HunyuanVideo:HuggingFaceリンク
- Flux Redux BFL:HuggingFaceリンク
- FramePackI2V:HuggingFaceリンク
ファイル保存場所
comfyui/models/
flux_redux_bfl
├── feature_extractor
│ └── preprocessor_config.json
├── image_embedder
│ ├── config.json
│ └── diffusion_pytorch_model.safetensors
├── image_encoder
│ ├── config.json
│ └── model.safetensors
├── model_index.json
└── README.md
FramePackI2V_HY
├── config.json
├── diffusion_pytorch_model-00001-of-00003.safetensors
├── diffusion_pytorch_model-00002-of-00003.safetensors
├── diffusion_pytorch_model-00003-of-00003.safetensors
├── diffusion_pytorch_model.safetensors.index.json
└── README.md
HunyuanVideo
├── config.json
├── model_index.json
├── README.md
├── scheduler
│ └── scheduler_config.json
├── text_encoder
│ ├── config.json
│ ├── model-00001-of-00004.safetensors
│ ├── model-00002-of-00004.safetensors
│ ├── model-00003-of-00004.safetensors
│ ├── model-00004-of-00004.safetensors
│ └── model.safetensors.index.json
├── text_encoder_2
│ ├── config.json
│ └── model.safetensors
├── tokenizer
│ ├── special_tokens_map.json
│ ├── tokenizer_config.json
│ └── tokenizer.json
├── tokenizer_2
│ ├── merges.txt
│ ├── special_tokens_map.json
│ ├── tokenizer_config.json
│ └── vocab.json
└── vae
├── config.json
└── diffusion_pytorch_model.safetensors
2. ワークフローのダウンロード
HM-RunningHub
TTPlanetPig
TTP_FramePack_Start_End_Image_example.json