🗓️ 公開日: 2026年10月3日 🔄 最終更新日: 2026年10月3日
今回はMinimaxH3におけるLatentUpscaleの組み方を解説しようと思います。
当サイトで配布しているMinimaxH3用ワークフローでも今回のバージョンから遅ればせながらLatentUpscaleを実装しました。
やっと自分の中でコレだ!と思えるLatentUpscaleの手法に出会えたので、今回はそのLatentUpscaleの紹介と組み方の解説をします。
そもそもLatentUpscaleってなに?
LatentUpscaleは生成AI界隈で昔から使われてきたアップスケール手法です。
ほとんどのアップスケールはVAEデコードによって僕達が見える形にデコードされた画像や動画をアップスケールしますが、LatentUpscaleはまだ目に見えないデコード前の潜在データを拡大(アップスケール)します。
そしてそのアップスケールされた潜在データを更にサンプリング(Refine)する事で元の動画を忠実に再現しながらも破綻なくディテールを向上させる事が可能になります。
更に生成速度も最初から高解像度で生成するのと、LatentUpscaleをして再サンプリングをするのではLatentUpscaleの方が圧倒的に早く安定します。
【0.4MP、step8で生成、高速化LoRA無しで生成】
【上記の動画をLatentUpscale2倍、step3で生成】
MinimaxH3でLatentUpscaleをする際に気をつけること
MinimaxH3では生成動画に対して解像度の制約があり、必ず32の倍数でなければいけません。
なので、1.5倍や1.8倍などの中途半端な指定が難しく、ほとんどの場合は2倍を選択する事になります。
そして再サンプリングも、いくら早いとはいえ拡大されたものをサンプリングをするので生成には時間がかかりVRAMの使用率も上がってしまうので注意が必要です。
ただし、今回紹介する手法はVRAM使用率を大きく抑えながら再サンプリングをする手法なので内容によってはVRAM8GBでも可能になっています。
LatentUpscaleの組み方
今回用意するものは2つです。
アップスケールに必要なアップスケーラーモデルと、アップスケール&サンプリングノードです。
アップスケールモデルはLBH-123氏のminimax_h3_latent_upscaler_3d_fp16.safetensorsを用意します。
以下よりダウンロードできます。
保存場所は📁ComfyUI\models\latent_upscale_models内に保存します。
アップスケール&サンプリングノードはbbaudio-2025氏のComfyui-MMH3-UltimateUpscaleを使用します。
Latentアップスケール後にタイル分割によるサンプリング(Ultimate Upscale)をします。
以下のリポジトリにアクセスし、📁ComfyUI\custom_nodes内にクローンします。
ノードの組み方
以下の画像のようにノードを構築してください。

画像左端に2つの数式があり、それぞれの(a)には元解像度のWidthとHeightが繋がっており、(a)の値を2倍にした数値をアップスケール後の解像度としてMMH3 Latent Upscale with Model ParamsとMMH3 Spatial Split Paramsに渡しています。
以下は各ノードの説明ですが、よく分からなければ上記画像のように設定し、★マークの所だけご自分の環境に合わせて設定すると良いと思います。
MMH3 Latent Upscale with Model Params

先ほどダウンロードしたアップスケールモデルを選択します。
- device: cudaを選択します。
- precision: fp16を選択します。
- offload_model: trueにする事でアップスケールが終わったらモデルをVRAMからCPUにアンロードさせます。
MMH3 Temporal Split Params

動画を一定のフレーム数ごとに区切って処理をする設定ノードです。VRAM消費を抑えることができます。
- ★ chunk_length: お使いのグラフィックボードのVRAM搭載量に応じて、17の倍数になるように指定してください。
- 8GB:
34~68 - 12GB:
51~102 - 16GB:
102~153 - 24GB:
136~170
(※値を大きくするほど生成は早くなりますが、VRAM消費は増えます)
- 8GB:
- temporal_overlap:
17 - anchor_strength:
1
MMH3 Spatial Split Params

- tilesizemode: タイルの分割基準を選択します。
- gridrows / gridcols: 分割数です。画像の設定(行:2, 列:3)では「縦2×横3」の合計6枚のタイルに分割します。
- spatialwoverlap / spatialhoverlap: タイル同士が重なり合う幅と高さ(px)。境界線(継ぎ目)を目立たなくするためのオーバーラップ領域です。
- fadewidth / fadeheight: 境目を馴染ませるグラデーション(フェード)の幅。
- mintilesize: 自動計算時の最小タイルサイズ制限。
- overlapmode / overlapblend: 重ね合わせの方式とブレンドカーブ(
linear推奨)。 - maskedareanoise: 継ぎ目のボヤけを防ぎ、自然な質感になじませるための微量ノイズ。
- brightness_match: タイル間の明度差・露出ムラを自動補正(
true推奨)。 - dynamicfade / dynamicfade_min: 重なり具合に応じてフェード幅を動的に調整する設定。

MMH3 Ultimate Upscaleノードのlatentの出力先はVAEデコード映像とVAEデコード音声です。
あとは基本スケジューラーノードでステップとノイズ除去値を調整し、LatentUpscaleを実行してください。
LatentUpscaleを組んだワークフロー
当サイトで配布しているワークフローに今回紹介したLatentUpscaleを取り入れていますので、良ければ参考にしていただけたらと思います。
なお、ワークフローにはMinimaxH3で最適化されたプロンプトを日本語入力で作成する自作ノード「H3promptDirector」を搭載しています。
興味があればHKMC-Nodesのインストールもよろしくお願いします。
ワークフローのダウンロードはコチラ
HKMC-Nodesはコチラ
さいごに
MinimaxH3は非常に高品質な動画を生成できますが、高解像度化に伴うVRAM不足や生成時間の増大が大きな課題でした。
今回紹介したLatentUpscaleとタイリング処理(Ultimate Upscale)を組み合わせることで、低〜中スペックの環境でも現実的な時間・メモリ消費でアップスケールが可能になります。
ぜひ配布中のワークフローも活用して、高品質な動画生成を試してみてください!











いつもありがとうございます!
アップスケーリング機能に合わせてワークフローを2.4.1に更新しましたが、2点不具合がありました。
– メディアリファレンス→ベース生成間の接続がずれています。具体的には、両者のfirst_frameが繋がれるべきところが、前者のmedia_pipeと後者のfirst_frameが接続されており、そこから先がすべて1つずつずれています。
– Patch Sol-Attnの初期値が全体的におかしいです。具体的には、min_tokensが0になっており、sink_conditionに4096という値が入っています(おそらくはexact_kv_and_rowsが正しいはず)。これも設定値が上から少しずつずれていると思われ、同様にmorton_curveは2d_frame、dense_blocksは空欄になるのが正しい設定のはずです。
お手すきの際にご確認いただけますと幸いです。
コメント&ご指摘ありがとございます!
Patch Sol-Attnに本来プルダウンで選択する場所に入るはずもない数値が入っていたりしてズレが生じている現象ですが、当ワークフロー内のPatch Sol-Attnのバージョンと匿名様の環境下でのPatch Sol-Attnのバージョンに相違があるのだと思われます。
しばらくPatch Sol-Attnを触っていませんでしたので、おそらくこちらが古いバージョンを使っているのだと思います(出先で確認が出来ず申し訳ありません)
そしてメディア関連の接続のズレですが、こちらも現行のHKMC-Nodesのノードバージョンとワークフロー間で項目のズレが生じているのだと思います。
ご迷惑おかけして申し訳ありません🙇♀️
本日の21:00頃に僕の環境内の全てノードをバージョンアップし、HKMC-Nodesとワークフローのバージョンアップを同時に行いますので、お手数お掛けして申し訳ありませんが再度ノードのバージョンアップとワークフローの更新をしていただけたらと思います。
ご迷惑おかけして申し訳ありません。