Guides

ComfyUI で MiniMax H3:バージョン・ファイル・OOM 対策

ネイティブノードは 0.30.0 で入りました。メモリ不足を止める修正は 0.32.0 で、多くの手順書はいまも 0.30.0 で止まっています。PR 番号つきでまとめます。

9 分で読めます編集部編集部
ComfyUI で MiniMax H3:バージョン・ファイル・OOM 対策

ComfyUI で MiniMax H3 を動かすのに必要なのは、ComfyUI 0.32.0 以降、合計 42.47 GB のモデルファイル 4 つ、そしてカスタムノードなし、です。ネイティブ対応は 0.30.0 で来ましたが、音声が歪む問題のサンプラー修正は 0.31.0、ピークメモリの修正は 0.32.0 に入りました。24 GB のカードでは、完走するかどうかを決めるのはホスト側の RAM です。

ここに書いたことはすべて日付つきです。0.30.0 のあとに H3 向けの修正が 9 件入っているので、公開初週に書かれた手順書は別のプログラムを説明しています。以下のどの事実にも、プルリクエスト番号とリリースを添えました。

何かをダウンロードする前にこれを確認してください。MiniMax H3 Community Licence は、ウェイトをローカルで動かす許諾から米国・EU・英国・韓国を除外していて、§V.4 がその制限を出力にまで広げています。ホスティングされた API は地域条項の対象外です。これは要約であって、法的助言ではありません。条項は ライセンスの詳細 に。

0.30.0 で手に入るもの、手に入らないもの

0.30.0 は、ノードとローカル向けのテンプレート 3 つが現れたところです。それだけです。

さらに 6 件の修正が 8 月 8 日の 0.31.0 に入りました。筆頭は kijai の #15243Fix sampler issues for audio with minimax。3 件が 8 月 11 日の 0.32.0 に入り、その中に comfyanonymous の #15486Fix peak memory issue with H3 があります。以前は落ちていた 24 GB のカードが完走するようになった理由がこれです。

リリースPR何を直すか深刻度
0.31.0#15243サンプラーが音声のスケジュールを踏み越す。4 ステップではノイズになるブロッカー
0.31.0#15390EasyCache がサウンドトラックを壊す重大
0.31.0#15377音声 VAE の完全オフロードが失敗する重大
0.31.0#15334int8_convrot の VAE が読み込めない重大
0.31.0#15322マスクつきサンプリングが誤っている軽微
0.31.0#15268VAE デコード中のデバイス不一致エラー軽微
0.32.0#15486OOM の修正。 手で何かにパッチを当てる前に、まずこれブロッカー
0.32.0#15477タイル VAE デコードが NestedTensor の潜在で落ちる重大
0.32.0#15446これがないとデコードが遅く、重い軽微

8 月 13 日の 0.33.1 で MiniMax ContextIR と Regenerate-2K の API ノードが追加され(#15471)、ホスティング側の 2K の段をローカルのグラフに繋げられるようになりました。そのウェイトは相変わらず非公開で、これは当方では試していません。

cd /path/to/ComfyUI
git pull
python -m pip install -r requirements.txt
python main.py --version        # expect 0.32.0 or later

Windows のポータブル版は、同梱の更新スクリプトかアプリ内のアップデータを使ってください。

どのモデルファイルを落とし、どこに置くか

リポジトリを clone しないでください。あらゆる精度のバリアントが入っていて、合計およそ 475 GB になります。テキストから動画、あるいは画像から動画のグラフが読むのは、ちょうど 4 ファイルです。8 月 14 日に Hugging Face とバイト単位で突き合わせました。

ファイル容量置き場所
minimax_h3_fl2va_pruned_int8_convrot.safetensors20.97 GBmodels/diffusion_models/
qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors15.69 GBmodels/text_encoders/
minimax_h3_video_vae_fp16.safetensors5.21 GBmodels/vae/
minimax_h3_audio_vae_fp32.safetensors0.61 GBmodels/vae/
合計42.47 GB = 39.55 GiB
hf download Comfy-Org/MiniMax-H3 \
  diffusion_models/minimax_h3_fl2va_pruned_int8_convrot.safetensors \
  text_encoders/qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors \
  vae/minimax_h3_video_vae_fp16.safetensors \
  vae/minimax_h3_audio_vae_fp32.safetensors \
  --local-dir ComfyUI/models

参照素材から動画にはもう 1 ファイル、別建ての Ref2VA チェックポイントが必要で、一式は 63.44 GB になります。R2V のグラフに FL2VA のファイルを読ませるのが、初回でいちばん多い失敗です。

広く転載されているファイル表が 2 つあり、どちらも数値はギビバイトなのにラベルは GB です。ディスクを 39.6 GB 空けたなら、ComfyUI が何かを書き出す前の時点で 2.9 GB 足りません。

精度について。bf16 は拡散モデルだけで 66.28 GB です。理由が分かっているときだけ選んでください。fp8_scaled は 20.96 GB で int8_convrot とほぼ同じ大きさです。こちらは int8_convrot が自分の環境でビルドできないときだけ選んでください。

そのあと、Workflow → Browse Templates → Video → MiniMax H3。ローカル用のテンプレートが 3 つと、API を呼ぶものが 3 つあります。

あなたの GPU で動くか

公式の最低要件はありません。そして見つかるハードウェア表はどれも互いに食い違っています。測っているものが違うからです。

実行を殺すのは VRAM ではなく、ホスト側の RAM

pruned INT8 の一式を 4090 で回すと、サンプリング中に VRAM に載っているのは約 6.6 GB だけです。ウェイトはホスト側のメモリに住み、必要に応じてページインされます。つまり失敗はホストメモリの失敗です。記録の残っている 3090 の実行では 31,997 MB 中 29,866 MB に達してカーネルに殺されましたが、同じタスクを --disable-pinned-memory 付きで回すとピークは 7,508 MB で、23 分 17 秒で完走しました。ピン留めされたメモリはページアウトできません。スワップを足すだけでは何も変わらないのは、これが理由です。

0.30〜0.31 のままで更新できない場合、再現性のあるレシピが変えている定数は 1 つです。comfy/supported_models.pyMiniMaxH3.memory_usage_factor0.114 から 1.0 へ。0.32.0 以降なら、まず更新して、それでも OOM するときにだけパッチを当ててください。

実測された実行と、その裏のハードウェア

出所を特定できる程度に詳しい実行が 14 件公開されています。どれもベンチマークではありません。変数を固定した人が誰もいないからです。存在証明として読んでください。この構成は完走した、これだけの時間で、と。

GPUVRAMホスト RAMキャンバス時間
RTX 306012 GB16 GB0.2 MP5 秒51 分 07 秒
RTX 306012 GB32 GB864×4805.17 秒、20 ステップ9 分未満
RTX 30708 GB32 GB0.4 MP5 秒約 9〜10 分
RTX 4090 Laptop + SageAttention16 GB32 GB960×5405 秒、20 ステップ182 秒
RTX 5070 Ti16 GB64 GB0.4 MP5 / 10 / 15 秒約 2 / 4.5 / 7 分
RTX 508016 GB1.0 MP10 秒13 分 36 秒
RTX 409024 GB832×48015 秒、8 ステップ約 25〜30 分
RTX 309024 GB31 GB15 秒23 分 17 秒
RTX 5090 × 2(SGLang、ComfyUI ではありません各 32 GB377 GiB1344×768124 フレーム、50 ステップ559.67 秒

最後の行は、377 GiB のホスト RAM を積んだマシンで、カード 2 枚、しかも別のランタイムです。規模感のために載せてあるのであって、比較のためではありません。これでシングルカードの ComfyUI の速度を予想するのは誤りです。単体の 4090 では、同じレシピが可否の境界を教えてくれます。832×480 は 124 フレームでも 362 フレームでも完走、1088×640 は 124 フレームで完走、1088×640 の 192 フレームと 1344×768 の 362 フレームはどちらも OOM。

そのカードが元を取るかどうかは 別の計算 です。

解像度、フレーム、そして 17n+5 の格子

Resolution Selector の 3 つの設定が、幅と高さを作ります。Multiple は 32 のままにしてください。それが H3 の格子です。ネイティブのキャンバスは短辺 768 画素で、上限は 768×1344。16:9 なら Megapixels 0.98 でちょうど 1344×768 になります。1.0 のプリセットは 1376×768 になり、これは文書化されたキャンバスから外れます。テンプレートは 0.4 MP で配られています。そこから始めてください。下限は 384p で、256p は端的に失敗します。

フレーム数は 24 fps で 17n+5 に吸着するので、たいていの要求は切り上がります。175 フレームは 7.29 秒で、7.00 は存在しません。4〜15 秒の範囲全体で、整数秒に着地するのはちょうど 1 つ。192 フレーム、8.000 秒です。検証されている上限は 362 フレーム、15.08 秒。

音が出ない、または音が歪む

原因の違う 2 つの失敗です。

無音は配線の問題です。 VAE が両方とも読み込まれていて、VAEDecodeAudio の出力が保存ノードまで届いている必要があります。プレイヤーではなくファイルを確認してください。24 fps の H.264 と、32 kHz の AAC ステレオが見えるはずです。2 本目のストリームがなければ、それはモデルではなくグラフが間違っています。

ffprobe -hide_banner out.mp4

歪みはサンプラーの問題です。 H3 は映像と音を 2 つのフロースケジュール——shift 12 と shift 3——で回していて、時計が 1 つしかないサンプラーは片方を踏み越します。20 ステップでは誤差は見えません。Turbo LoRA が使う 4 ステップでは、それがクリッピングとノイズになります。ComfyUI 0.31.0 は ModelSamplingAV を通して両方のスケジュールをネイティブに扱います。それより前のバージョンでは、larryvrh のデュアルクロックのサンプラーが必要です。

エラーと、それぞれの 1 行の直し方

何かを変える前に 2 つの規則を。変数は 1 つずつ変えて、同じプロンプトと同じシードで回し直すこと。--lowvram--reserve-vram--cache-none、量子化チェックポイントを一度に積むと、どれが効いたのか分からなくなります。そして、SageAttention・TeaCache・EasyCache・GGUF ローダーを足す前に、素の公式テンプレートを 1 つ完走させること。

コンソールに出る症状原因直し方
サンプリング中の CUDA out of memoryキャンバス × フレーム数が計画を超えているまず Megapixels を、次にフレーム数を下げる。0.30〜0.31 なら 0.32.0 へ更新(#15486
プロセスが kill される、マシンが固まる、CUDA エラーなしホスト RAM。 ピン留めメモリはページアウトできない--disable-pinned-memory --disable-async-offload
VAE デコードのときだけ OOMデコードの確保量がフレーム数に比例するフレーム数を減らすかキャンバスを小さく。0.32.0 へ更新(#15477#15446
MiniMaxH3… のノードやテンプレートが見当たらないコアが 0.30.0 より古いpython main.py --version で確認、更新、再起動
「テキストから動画」のノードがどこにもない誤解ですT2V のテンプレートは、何も繋いでいない MiniMaxH3ImageToVideo です。第三者製の代替を入れないでください
R2V のグラフでローダーのエラーRef2VA ではなく FL2VA のチェックポイントを選んでいるminimax_h3_ref2va_pruned_int8_convrot.safetensors を選ぶ
出力に音声ストリームがない音声 VAE が未読み込み、または VAEDecodeAudio が保存ノードに届いていない両方を確認し、ffprobe で検証
音が割れる、ブーンと鳴る、ノイズになる2 つのフロースケジュールを 1 つの時計で刻んでいる0.31.0 へ更新(#15243)、または larryvrh の Turbo Sampler を使う
256p で生成が失敗するH3 の下限 384p を下回っているテンプレートのプリセットを使う

速くする、効く順に

この順です。最初の 2 つはただで、最後の 1 つは品質を削るからです。

  1. 更新する。 0.32.0 の VAE 最適化とメモリ修正は、どのフラグよりも価値があります。
  2. 尺より先にキャンバスを下げる。 24 GB のカードで 1 MP が通らないところでも、0.4 MP は完走します。
  3. SageAttention。 --use-sage-attention を付けて起動するか、KJNodes で差し込みます。ComfyUI の見積もりはおよそ倍。オフロードで律速されているマシンでは効きは小さくなります。dtype のフォールバック警告は想定内です。
  4. Turbo LoRA。 larryvrh の v4 はサンプリングを約 20 ステップから 4〜8 に減らします。6〜8 を使ってください。4 は速い動きが滲み、8 を超えると効かなくなります。

--lowvram--disable-pinned-memory と一緒に付けないでください。競合します。

ComfyUI で動かすべきでないとき

ローカルが誤答になる場合が 3 つと、明らかに正答になる場合が 1 つあります。

米国・EU・英国・韓国にいてウェイトを自前で動かすなら、ローカルは誤答です。ライセンスがそれを認めていません。オープンウェイトから 2K が必要なら誤答です。Regenerate-2K は一度も公開されていない からです。そしてシステム RAM 16 GB の 8 GB 環境でも誤答です。5 秒のクリップに 51 分かかったという報告があります。

VRAM 24 GB、ホスト RAM 32 GB、そして許諾された地域にいるなら、ローカルが正答です。 そのとき ComfyUI は、バッチ処理・LoRA・ノード単位の制御をくれます。それは当方を含め、どのホスティング型インターフェースにも並べません。ここでファイル名もフラグも全部書き出しているのは、そのためです。

初回に失敗したあとの質問

カスタムノードは必要ですか。 不要です。0.30.0 からネイティブで、テンプレートもコアのノードだけを使っています。

テキストから動画のノードがないのはなぜですか。 T2V のテンプレートは、何も繋いでいない MiniMaxH3ImageToVideo です。設計どおりです。

実際どのバージョンを使うべきですか。 0.32.0 以降。0.30.0 でも動きますが、H3 向けの修正が 9 件抜けています。

出力が無音なのはなぜですか。 VAE を両方読み込み、VAEDecodeAudio が保存ノードまで届いている必要があります。ffprobe で検証してください。

4 ステップで音が壊れるのはなぜですか。 時計 1 つのサンプリングが音声のスケジュールを踏み越すからです。0.31.0 で修正されています。

ディスクはどれくらい必要ですか。 T2V と I2V で 42.47 GB、Ref2VA を足して 63.44 GB、加えてキャッシュぶん。

12 GB のカードでもできますか。 できます、重いオフロード付きで。メンテナが 864×480、124 フレーム、20 ステップを 9 分未満で回したと報告しています。

7 秒のクリップが長くなったのはなぜですか。 フレーム数が 17n+5 に吸着するからです。175 フレームは 7.29 秒です。

GGUF ビルドを使うべきですか。 公式のものはありません。公式の一式が動いたあとでだけ試してください。

ローカルで 2K は出せますか。 オープンウェイトからは出せません。0.33.1 以降なら、ホスティング側の Regenerate-2K ノードを繋げられます。


変わりうること。 ここは週単位で動きます。0.33.1 より新しい H3 関連の項目がないか、ComfyUI のリリースを確認してください。362 フレームの上限は第三者の文書であって、公式の上限ではありません。それから memory_usage_factor のパッチは、0.32.0 以降ではもう不要になっている可能性があります。最終確認は 2026-08-14。

編集部

執筆

編集部

minimax-h3ai.video

記事をすべて見る