NikoDemon80/ComfyUI-H3-Motion-Context
Clip chaining for MiniMax H3 in ComfyUI - motion and audio genuinely continue across joins
H3 モーションコンテキスト – ComfyUI の MiniMax‑H3 用シームレスチェーン
機能
- MiniMax‑H3 のビデオ+オーディオ生成をチェーンして、モーションとサウンドがクリップ間でスムーズに継続するようにするカスタムノードセットを追加します。
- 前のクリップは潜在表現(ビデオフレームとオーディオの内部表現)として渡され、ピクセルにデコードして再エンコードするのではありません。これにより、各リンク後に通常現れる色ずれ、ぼやけ、「ソフト化」が排除されます。
- オーディオは正しくアンカーされます。前のクリップの末尾のサウンドが次のクリップのタイムラインにコピーされ、ほとんどの H3 ワークフローで発生する可聴の「再起動」を回避します。
存在理由
- 組み込みの Add Guide ノードは静止画や短いクリップをアンカーできますが、一連のクリップを生成するときにモーション/オーディオの連続性を維持しません。
- 通常のチェーンでは、結合ごとにデコード・リサイズ・エンコードの往復が強制され、視覚品質が低下し、微妙なオーディオのチックが発生します。
- このパックは、潜在表現を直接スライスし、固定オーディオを新しいクリップが始まる正確なフレームに配置することで、両方の問題を解決します。
インストール
フォルダを ComfyUI/custom_nodes/ にドロップし、ComfyUI を再起動します。
ノードが登録され、レイアウトチェックが合格したことを確認するコンソールメッセージが表示されます。他の設定は不要です。
コアノードと配線
| ノード | 目的 | 接続方法 |
|---|---|---|
| H3 モーションコンテキスト | 現在の生成、前のクリップの潜在表現を受け取り、モーション/オーディオを継続する新しいクリップを生成します。 | 通常の MiniMax‑H3 ジェネレーターを左入力に接続し、前のクリップの潜在表現(保存/読み込みペアから)を右の context_latent 入力に接続します。 |
| H3 モーションコンテキスト保存潜在表現 | 現在のクリップの潜在表現(ビデオ+オーディオ)をファイル(clip_XXXXX.safetensors)に書き込みます。 |
サンプラーの後に配置します。clip_index を保存したい番号に設定します(例:最初のクリップは 1)。 |
| H3 モーションコンテキスト読み込み潜在表現 | 以前に保存した潜在表現を読み取り、次の実行の context_latent に供給します。 |
モーションコンテキストノードの前に配置します。clip_index を継続したいクリップに設定します(例:最初の実行は 0、2 番目は 1)。 |
| H3 モーションコンテキストトリム | 出力から固定されたヘッドフレームを削除し、新しいクリップを古いクリップの後に連結できるようにします。 | モーションコンテキストノードから trim_frames をこのトリムノードに配線し、トリムされたビデオ/オーディオを最終デコーダーまたはビデオ保存ノードに供給します。 |
| H3 モーションコンテキストチェーン | 読み込み/保存インデックスを自動的に進め、次のクリップを自動的にキューに入れる便利なノード(長時間実行チェーン用)。 | 読み込み、保存、チェーンをキャンバスグループにまとめ、チェーン を押して停止するまでクリップを生成し続けます。 |
典型的なフロー
MiniMaxH3 → H3 モーションコンテキスト ← 読み込み潜在表現
→ サンプラー → 保存潜在表現 → (出力ビデオ/オーディオ)
→ トリム → ビデオ作成
最初のクリップでは、読み込み潜在表現 インデックス 0 は何も読み取りません。ノードは trim_frames = 0 を報告するため、有効のままにできます。
主要設定
- context_length – 前のビデオの固定フレーム数(オプション:5、22、39、56)。シームレスな外観には 22 を推奨。
- audio_context_length – 固定するテールオーディオのフレーム数(3 の倍数である必要があります)。連続性とこもりのバランスには 18 を推奨。
- match_tail(トリムノード上)– 有効のままにします。オーディオグリッドを整列させ、結合を約 8 ミリ秒以内にします。
他のすべてのパラメータはノードコードで固定されています。本当に必要な場合のみ nodes.py を編集して調整できます。
実験的なドリフト低減ヘルパー(オプション)
| ノード | 機能 |
|---|---|
| H3 リファインブレンド | 参照を再読み取りするクイックセカンドパスを実行し、固定フレーム後に結果をブレンドします。 |
| H3 ジョインマッチ | 前のクリップの最後のフレームと新しいクリップの最初のフレームの間の明るさ/コントラスト/細部を調整します。 |
| H3 シグマテール | 最終ノイズスケジュールを調整して、ドリフトを強調する可能性のある追加のシャープネスを低減します。 |
これらを読み込み/保存/チェーンと同じキャンバスグループに配置して、チェーンと同期させます。
制限と注意点
- 品質損失が蓄積 – 各リンクは前の潜在表現からクリップを再生成するため、視覚的なアーティファクト、特に高周波オーディオの損失が多くのクリップにわたって蓄積します。
- オーディオオフセット – 以前のバージョンには約 8 ミリ秒の遅延がありました。現在はモデルの 40 Hz オーディオグリッドにスナップされていますが、オフセットは依然として存在します(微小で、通常は聞こえません)。
- サンプルレート – H3 は 32 kHz オーディオを出力します。48 kHz が必要な場合は、連結後にリサンプリングする必要があります。
- 解像度は固定 – 潜在表現はリサイズできないため、チェーン内のすべてのクリップは同じ解像度を共有する必要があります。
- Turbo LoRA / Spectrum – これらの高速化サンプラーはオーディオ品質も低下させます。チェーンではオフにしてください。
- プロンプト設計 – 固定フレームは提案ではありません。固定フレームと矛盾するプロンプトは、固定コンテンツに加えてレンダリングされ、不要な合成が生成されることがよくあります。次のプロンプトは固定フレームの後から始まるように書いてください(例:短い「ホールド」の後に新しいアクション)。
クイックスタートチェックリスト
ComfyUI/custom_nodes/の下にフォルダをインストールし、再起動します。- 読み込み潜在表現、モーションコンテキスト、保存潜在表現、およびオプションで チェーン を含むキャンバスグループを作成します。
読み込みインデックス 0、保存インデックス 1 を設定し、グラフを実行します – クリップ 1 が得られます。- 承認(または自動ループの チェーン)を押してインデックスを進め、クリップ 2 を生成します。
- トリム ノードを使用して、クリップを連結する前に固定ヘッドを切り取ります。
- (オプション)ドリフト低減のために リファインブレンド / ジョインマッチ を追加します。
TL;DR
H3 モーションコンテキスト は、ComfyUI 用の小さな強力なアドオンで、潜在表現を直接渡し、固定ヘッドをトリムし、自動チェーンとドリフト低減のヘルパーノードを提供することで、連続したモーションとオーディオを持つ長く一貫した MiniMax‑H3 ビデオを生成できます。ComfyUI 0.34+(または古いビルド用の互換バージョン 0.3.1)で動作します。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト