Skip to main content
MiniMax H3 は、MiniMaxの汎用オムニモーダル生成モデルで、現在はオープンウェイトとして公開されています。テキスト、画像、ビデオ、オーディオを単一のコンテキストで統合的に理解し、ネイティブステレオオーディオ付きのビデオを生成します。つまり、音声、サウンドエフェクト、音楽は、後から重ね合わせるのではなく、単一のフォワードパスでまとめてモデル化されます。オープンウェイトは短辺768ピクセル(約100万ピクセル)で24fps、約15秒の動画を生成します。2K出力はMiniMaxのホスト型サービスによるもので、ComfyUIでは別途アップスケールパスが必要です。 ComfyUIは MiniMax H3をネイティブにサポートしています。ドキュメントは6つのページに分かれています:
  • 概要(このページ): モデルの機能、ワークフローの一覧、出力解像度、ステップ数、サンプラーとスケジューラ、高速化
  • ネイティブワークフロー: テキストから動画へ、画像から動画へ、参照から動画、および高度なネイティブノードテクニック
  • マルチフレーム参照: 出力タイムライン上の特定のポイントに参照フレームを固定
  • Fun ControlNet Union: コントロールビデオで H3 を駆動する、またはマスクによるビデオインペイント
  • プロンプトガイド: MiniMax の公式プロンプト作成ガイド、一般的なヒント、プロンプト埋め込み
  • FastH3: FastVideo の FastH3 チェックポイントとそのスパースアテンションワークフロー
ComfyUI が最新版に更新されていることを確認してください。このガイドで紹介するワークフローは、ワークフローテンプレートから入手できます。 テンプレート内に該当のワークフローが見つからない場合、ComfyUI のバージョンが古くなっている可能性があります。ワークフローを読み込んだ際にノードが欠落している場合の考えられる原因:
  1. 最新の ComfyUI(Nightly 版)を使用していない
  2. 起動時に一部のノードのインポートに失敗している
H3 のオープンウェイトを使用すると、モデルをローカルで実行できます。ローカルで生成した出力の商用利用には、MiniMax 商用ライセンス が必要です。これは唯一の公式リセラーである Comfy から入手できます。Comfy Cloud での生成には商用利用権がすでに含まれています。

主な機能

  • ネイティブステレオオーディオ: 会話、効果音、音楽がビデオと一緒に生成され、1つのMP4に同期されます
  • マルチモーダルコンテキスト: テキスト、画像、ビデオ、オーディオリファレンスを1回の生成で組み合わせることができます
  • リファレンス駆動の生成: リファレンス素材からキャラクターのアイデンティティ、スタイル、モーション、カメラの動き、または音声を固定できます
  • 指示への追従: リファレンスと目的のショットの関係を自然言語で記述します
  • 正確なテキストレンダリング: スペルアウトされたテキストとブランド要素がきれいにレンダリングされます
  • オープンウェイト: ComfyUIでローカルに実行でき、すべてのパラメータを完全に制御できます

はじめに

MiniMax H3はオープンウェイトで、ComfyUIでサポートされています。はじめるには:
  1. ComfyUI を更新します。基本のテキストから動画へ、画像から動画へ、参照から動画へのテンプレートには 0.30.0 以降が必要です。マルチフレーム参照には 0.34.0 が必要です。Fun ControlNet Union、スパースアテンションノード、Model Attention Backend ノードには 0.35.0、FastH3 には 0.36.0 が必要です
  2. テンプレートライブラリ > ビデオ の順に移動し、任意のMiniMax H3ワークフローを選択します
  3. ポップアップに従ってモデルをダウンロードし、ワークフローを実行します。テンプレートによっては数十 GB のダウンロードになるため、ディスク容量と時間を確保してください。
モデルファイルは Hugging Face の Comfy-Org/MiniMax-H3 リポジトリでホストされています。
LoRA は蒸留元のチェックポイントビルドに合わせて選び、リポジトリが両方を公開している場合は pruned 版を使ってください。pruned チェックポイントは時間エンベッダーと全幅の adaln 重みを、短い共有カーブ基底(adaln_t_table、1025 個のカーブサンプル × 8 個の基底列)に置き換えており、ComfyUI はその基底をチェックポイント自体から読み取ります。テンプレートが読み込むのは pruned ビルド(minimax_h3_fl2va_pruned_int8_convrot.safetensors と minimax_h3_ref2va_pruned_int8_convrot.safetensors、ほかに bf16 版と fp8 版)です。フルビルド(minimax_h3_fl2va_int8_convrot.safetensors または minimax_h3_ref2va_int8_convrot.safetensors)で蒸留された LoRA が持つ adaln 重みには、pruned ビルドに対応するテンソルがありません。ComfyUI はそれらの形状不一致を報告し、マージしないため、その部分の LoRA はスキップされます。ワークフローがダウンロードする turbo LoRA は adaln テンソルを含まないため、どちらのビルドでも読み込めます。

ワークフローインデックス

テンプレートライブラリには現在、6つのサンプルワークフローが同梱されています。これらはサンプルテンプレートであり、網羅的なリストではありません。モデルはネイティブのMiniMax H3ノードを通じて、さらに多くの生成モードをサポートしているため、追加のワークフローを構築できます。ライブラリには、画像から動画へのテンプレートの継続バリアント(video_minimax_h3_i2v_continuation)も含まれています。

テキストから動画へ(T2V)

テキストプロンプトから、ネイティブのステレオオーディオ付きビデオを生成します。

画像から動画へ(I2V)

入力画像からビデオを生成します。先頭・末尾フレームの制御もオプションで指定できます。

参照から動画へ(R2V)

参照画像、ビデオ、オーディオから、キャラクター、スタイル、モーション、カメラワーク、または音声を固定します。

マルチフレーム参照

Add Guideノードを連結して、出力タイムライン上の特定のポイントに参照フレームを固定します。

Fun ControlNet Union

Canny、Depth、HED、MLSD、またはPoseのコントロールビデオでH3を駆動するか、マスクを使用してビデオインペインティングを実行できます。
基盤となるノードモード: MiniMax H3 Image to Video ノードがテキストから動画への生成と先頭・末尾フレームの画像から動画への生成(t2va と fl2va)を、MiniMax H3 Reference to Video ノードが画像・ビデオ・オーディオを使用した参照駆動生成(ref2va)を担当します。 プロンプト作成リソース(公式ガイド、一般的なヒント、プロンプト埋め込み)については、プロンプトガイドを参照してください。

出力解像度の設定

各ワークフローでは、Resolution Selector(解像度セレクタ) ノードを使って全体の出力サイズを制御します。このノードは3つの設定から width と height を計算し、その出力は MiniMax H3 ノードの width と height 入力に直接接続されます:
  • アスペクト比:16:9 (Widescreen)、9:16 (Portrait Widescreen)、1:1 (Square) などのプリセットを選択します
  • メガピクセル:出力の目標総ピクセル数。値が大きいほど大きなフレームになり、小さいほど高速に生成されます
  • 倍数:計算された解像度はこの数値の最も近い倍数に丸められます。H3 の解像度グリッドに合わせて 32 のままにします
テンプレートは高速なプレビューサイズになっています。フル品質で出力するには、16:9 で Resolution Selector のメガピクセルを 0.98 に設定します。これは H3 のネイティブキャンバス(短辺 768px、16:9 では 1344x768)です。あるいは、MiniMax H3 ノードの width と height に直接 1344 x 768 を入力します(デフォルト値)。1.0 メガピクセルは 1376x768 になり、モデルの 768x1344 ピクセルの面積上限を超えるため、使用しないでください。 ネイティブキャンバスを大きく超えるフレームはディテールを保てません。H3 の学習解像度は約 100 万ピクセルで、生成時に失われた情報は後からアップスケールしても戻りません。2K 出力が必要な場合は、ネイティブキャンバスで生成してから別パスでアップスケールしてください。

ステップ数

これらの数値はベースウェイトを対象とし、テンプレートの Enable Lightning LoRA スイッチがオフの場合の値です。これが既定で、20 ステップで実行されます。このスイッチをオンにすると turbo LoRA が読み込まれ、ステップ数はテキストからビデオと画像からビデオのテンプレート(続き生成のバリアントを含む)では 8、参照用 turbo LoRA を同梱するテンプレート(参照から動画へ、マルチフレーム参照、Fun ControlNet Union)では 4 に下がります。テキストからビデオと画像からビデオのテンプレートでは、このスイッチはサブグラフノードの turbo_mode ウィジェットとして表示されます。 スケジュールが短いほど、影響が最も大きく出るのは参照ベースのショットです。参照トークンはサンプリングの各ステップに同行するため、スイッチをオンにすると、この条件付けに使えるステップ数が大幅に減ります。4 ステップでは参照がほとんど反映されないことがあり、クリップが進むにつれて被写体のポーズや顔の角度が参照から離れていくこともあります。参照に厳密に従わせたいショットでは、Enable Lightning LoRA スイッチをオフのままにして基本の 20 ステップのスケジュールで実行し、それでも参照がずれる場合はステップ数を 25 に上げてください。 ショットに必要なステップ数は、内容によって変わります:
  • 内容が単純なショットは 12 から 16 ステップで成立します
  • 高周波のディテールを含むショット(鎖帷子、フィリグリーや花柄、小さな物体の山)は 50 ステップ程度まで改善し続けます。それ未満では、そうした領域に不安定な三角形のグリッド状アーティファクトが現れ、動きの中で揺れます。蒸留によるステップ削減 LoRA や turbo チェックポイントでは、これが最初に目立ちます
  • ステップ数を増やすとプロンプト追従性とモーションも改善し、その大半は 16 ステップまでに得られます。50 を超えると違いはほとんど分かりません
  • ステップ数はネイティブキャンバスが解像できないシャープさを補うものではないため、画面が甘い場合はまず解像度を確認してください
音声は映像よりも収束が遅くなります。映像と音声は同じ 1 回のパスで一緒にデノイズされ、同じスケジュールで駆動されるため、映像が変化しなくなったステップ数でも音声トラックは改善し続けます。音声と声質は最後に収束し、8 ステップでは出力の中で最も弱い部分になります。12 ステップ以上あれば音声トラックは使える状態に保たれます。

サンプラーとスケジューラ

ローカルの MiniMax H3 ワークフローはすべて res_multistep サンプラーと simple スケジューラでサンプリングします。テキストから動画へ、画像から動画へ、FastH3 のテンプレートではこれら2つのノードがワークフローのサブグラフ内にあるため、変更するにはサブグラフを開きます。参照から動画へ、マルチフレーム参照、Fun ControlNet Union のテンプレートでは、KSamplerSelect と BasicScheduler はトップレベルのキャンバス上にあります。 res_multistep は2次のマルチステップサンプラーで、各ステップで直前のステップのデノイズ推定値を再利用します。最初のステップには再利用できる推定値がないため、通常の1次(Euler)ステップとして実行され、2次のステップは2ステップ目から始まります。er_sde も同じように次数を積み上げ、既定の max_stage が 3 の場合、1ステップ目は1段階、2ステップ目は2段階、3ステップ目以降で3段階すべてを使います。 マルチステップの履歴は潜在データではなく1回のサンプリング実行の内部に存在するため、スケジュールを2つのサンプラーに分割したワークフローでは引き継がれません。ベース段階の後に潜在空間アップスケールを挟んで2つ目のサンプラーに渡すような構成では、2つ目のサンプラーは空の履歴から始まります。最初のステップは1次で実行され、2次の更新は2ステップ目から再開します。これが効いてくるのは短い後段で、数少ないステップのうち1つを低い次数で使うことになります。スケジュール全体を1回のサンプリング実行にまとめるか、2つ目のサンプラーに履歴を再構築できるだけのステップ数を与えてください。 flow shift の組はワークフローではなくモデル定義から来ます。ComfyUI の H3 定義は shift 12 と audio_shift 3 を持ち、FastH3 以外のワークフローはこの値を使うため、それらのワークフローには shift ノードが現れません。一方 FastH3 テンプレートは組み込みの ModelSamplingMiniMaxH3 ノード(ワークフロー JSON では MiniMaxH3SigmaShift、カテゴリ model/patch/minimax)を shift_video 10、shift_audio 3 で含んでおり、これが蒸留スケジュールの前提となる組です。動画 shift がサンプラーの sigma スケジュールを決め、モデルは動画スケジュールを共有のベースグリッドに反転してオーディオスケジュールを導きます。チェックポイントが別の組を要求するときにこのノードを追加し、そのチェックポイントの前提値の近くに保ってください。蒸留された 8 ステップ版では、shift_video を 10 ではなく 3 でサンプリングするとフレームにグリッド状のアーティファクトが現れます。

Sage Attention で生成を高速化

サンプルワークフローはデフォルトで標準のアテンション実装を使用します。Sage Attention を使用すると、品質の低下を最小限に抑えながら生成速度をおよそ2倍にできます。Sage Attention はオプションの依存関係のため、自分でインストールする必要があります:
  1. sageattention Python パッケージをインストールします。SageAttention releases ページから自分の PyTorch と CUDA のバージョンに合った wheel ファイルをダウンロードし、pip install <wheel-file> でインストールします。
  2. KJNodes カスタムノード をインストールします。これにより Patch Sage Attention KJ ノードが提供されます。ComfyUI Manager を使用するか、リポジトリを ComfyUI/custom_nodes/ にクローンして ComfyUI を再起動してください。
  3. ワークフローに Patch Sage Attention KJ ノードを追加し、UNETLoader と BasicGuider ノードの間に接続します:model 入力は UNETLoader からモデルを受け取り、model 出力は BasicGuider の model 入力に接続します。sage_attention は auto に設定します。
  4. 通常どおりワークフローを実行します。パッチを適用する必要があるのは guider だけです。scheduler は sigmas を生成するだけで、そのままにしておけます。
注意:
  • Sage Attention は float16 または bfloat16 テンソルを必要とします。MiniMax H3 の一部のレイヤーは他の dtype で実行されるため、コンソールに “Input tensors must be in dtype of torch.float16 or torch.bfloat16, using pytorch attention instead” というメッセージが表示されることがあります。これは正常です。影響を受けるレイヤーは標準アテンションにフォールバックし、生成は正常に動作します。
  • 別の方法として、ノードを追加せずに --use-sage-attention フラグ付きで ComfyUI を起動して、Sage Attention をグローバルに有効にすることもできます。

INT8 アテンションによる品質劣化

Sage Attention 使用時にクリップの終盤でモーフィングや画面内テキストの文字化けが発生する場合、原因は INT8 アテンションの量子化である可能性が高いです。H3 の終盤ブロックはアテンションキーの信号の大部分を少数のチャンネルに集中させており、単一の共有スケールで行全体を丸める INT8 カーネルはその信号の一部を失います。 どの修正が当てはまるかは、ワークフローが読み込むチェックポイントによって異なります。
  • テンプレートに同梱されるのは int8-convrot チェックポイントです: T2V、I2V、Image to Video 継続バリアントには minimax_h3_fl2va_pruned_int8_convrot.safetensors、R2V、マルチフレーム参照、Fun ControlNet Union には minimax_h3_ref2va_pruned_int8_convrot.safetensors です。Comfy Kitchen attention はこれらのチェックポイントをサポートしておらず、サンプリングはアライメントエラーでクラッシュします(ComfyUI issue #15529)。これらでは既定のアテンションを維持するか、UNETLoader で bf16 版(minimax_h3_fl2va_pruned_bf16.safetensors または minimax_h3_ref2va_pruned_bf16.safetensors、より多くの VRAM が必要)を読み込んでから、下記のバックエンドを変更してください。
  • bf16 チェックポイントでは、デンスアテンションバックエンドを Comfy Kitchen attention に切り替えるとアーティファクトが解消されます。 この INT8 カーネルは量子化の前にチャンネル回転を適用し、Sage Attention と同程度の速度でその信号を保持します。
バックエンドを切り替えるには、組み込みの Model Attention Backend ノード(カテゴリ model/patch)を追加し、バックエンドを comfy kitchen attention に設定します。モデルが BasicGuider に到達する位置、つまり LoraLoaderModelOnly ノードとその Enable Lightning LoRA スイッチの後に接続してください。または、--use-ck-attention フラグ付きで ComfyUI を起動します(ComfyUI 0.32.0 以降)。このバックエンドは ComfyUI に同梱される comfy-kitchen パッケージによって提供され、INT8 カーネルがハードウェアで利用可能な場合にのみノードのバックエンド一覧に表示されます。

スパースアテンションによる生成の高速化

アテンションのコストはクリップが長くなるほど急増します。ComfyUI 内蔵の Model Sparse Attention ノード(カテゴリ model/patch、実験的、ComfyUI 0.35.0 以降)は、対象となるレイヤーでブロックスパースアテンションを実行してこのコストを削減し、シーケンスが長いほど効果が大きくなります。method はベースの H3 ウェイトが使用する sol-attn に設定してください(sla と vsa はそれぞれのパターンで学習されたウェイトを想定しています)。スパース経路には CUDA と comfy-kitchen の sol_attn カーネルが必要です。これらがない場合、すべてのレイヤーが暗黙にデンスアテンションへフォールバックし、高速化は得られません。
  • サンプリングの最初と最後のステップではスパースアテンションを使わないでください。 既定値は start_percent が 0.2、end_percent が 1.0 で、スケジュールの 20% から最終ステップまで疎化が有効になります。開始を 0.4 程度まで遅らせ、終了を 0.9 程度まで早めると、冒頭の動きと終盤フレームをデンスに保てますが、その代わり速度がやや低下します。
  • H3 では sink_conditioning を既定値(exact_kv_and_rows)のままにしてください。 パックされたテキスト、オーディオ、参照の行を正確に計算し、生成オーディオのクエリ行をデンスに保つため、スパース経路でも音声トラックが劣化しません。
  • tau は sol-attn の疎さを決めます: 1.0 でキーブロックの約 16% を正確に保持、1.5 で約 7%、2.0 で約 2.7%。既定は 1.3 で、値が大きいほど高速ですがリスクも大きくなります。
  • 短いクリップでは効果がほとんどありません。 min_tokens(既定 12288)未満のシーケンスと、dense_blocks に記載したブロックはデンスのまま実行されます。
FastH3 チェックポイントは同じノードの vsa モードを使用し、keep_percent 10 のスパースパターンで学習されています。詳しくは FastH3 ワークフローのページを参照してください。