DCAI
Loading Light/Dark Toggl

MiniMax H3とは?基本の仕組みとComfyUIでのImage to Video生成方法

⏱️72min read
📅 2026年9月16日
カテゴリー:📂 AIイラスト中級
MiniMax H3とは?基本の仕組みとComfyUIでのImage to Video生成方法のメイン画像

今回は「MiniMax H3」の使い方を紹介します。「MiniMax H3」はWANやLTXと並ぶオープンウェイトのAI動画生成モデルです。H3を使えば、映像と音声を一度に生成できます。声も効果音もBGMも、あとから足す必要はありません。本記事では公開されている「H3-Base」を中心に、ComfyUIで動かす手順を解説します。2K出力に必要なモジュールは公開されていないため本記事では取り上げませんが、基本的な使い方は変わりません。まずは768pで1本生成してみましょう。

この記事で学べる事

  • MiniMax H3の概要と、3つのモジュールからなるシステム構成
  • H3-Baseのアーキテクチャと、3次元MM(マルチモーダル)-RoPEの仕組み
  • MiniMax H3とWan 2.2・LTX-2.5の違いと使い分け
  • ComfyUI公式テンプレート「MiniMax H3: Image to Video」に必要なモデルと配置場所
  • テンプレートの主要ノードと、Lengthに指定できるフレーム数のルール
  • MiniMax H3のプロンプトの基本構造と、プロンプト埋め込みの使い方
  • res_multistepサンプラーの仕組みと、H3で採用されている理由
  • 公式テンプレートの使い方と、解像度・ターボLoRA別の生成速度
  • アップスケール・フレーム補完・GGUFに対応したDCAIカスタムワークフロー(💎会員限定)
  • 4つのタスク種別に対応した、品質の良いプロンプトの書き方(💎会員限定)
  • 公式スキル「h3-prompt-writing」をclaude.aiに登録して使う方法(💎会員限定)

MiniMax H3とは

MiniMax H3はMiniMaxが2026年7月31日に発表したオムニモーダル生成モデルです。テキスト・画像・動画・音声を「ひとつの文脈」としてまとめて理解し、ネイティブステレオ音声付きの動画を生成します。Hailuo 01、Hailuo 02に続くHシリーズの第3世代にあたり、8月上旬に重みが公開されました。

H3の設計思想は「タスクの境界をなくす」ことです。従来の動画生成では、テキストから動画、画像から動画、最初と最後のフレーム指定、被写体参照、モーション参照、動画編集といった具合に、タスクごとにモデルが分かれていました。音声も、音声・効果音・音楽が別々の領域として扱われてきました。H3はこれらをすべて同じ土俵で学習し、参照や編集の関係を固定されたタスク名ではなく自然言語で記述する形に統一しています。「動画1のカメラワークを参考に、画像2の人物が、音声3の声で歌う」といった指示が、そのまま1つのプロンプトで通ります。参照入力は、画像9枚・動画3本・音声3本を上限に、合計12ファイルまで混在させられます。

MiniMax H3のアーキテクチャ

H3-Baseは、各モダリティを対応するエンコーダーやVAEで符号化し、ひとつの長いマルチモーダル系列にまとめてからTransformerに渡す構成です。テキストはH3-Encoderが、視覚入力はH3-EncoderとH3-VisualVAEの両方が、音声はH3-AudioVAEだけが担当します。

  • H3-Encoder:Qwen3-VL-32Bの事前学習済み重みをそのまま使用し、その第50層の隠れ状態をTransformerに渡します。プロンプト理解のために、もう一つの大規模モデルが丸ごと同梱されている形です。
  • H3-VisualVAE:空間16倍・時間4倍・潜在チャネル24の動画オートエンコーダーです。パッチ化を経て、実効的な空間圧縮は32倍になります。
  • H3-AudioVAE:32kHzの音声を、1チャンネルあたり40Hzの潜在トークン列に圧縮します。左右チャンネルで同じエンコーダー・デコーダーを共有し、独立に処理してから再合成することでステレオを実現しています。
  • H3-Omni-Transformer:33Bのdense・シングルストリーム構成です。アテンション層にもFFN層にもモダリティ固有の構造はなく、その差は入出力層とAdaLNブランチ(約13B)に閉じ込められています。映像と音声の潜在を同時に予測します。位置表現は(時間, 高さ, 幅)の3次元MM(マルチモーダル)-RoPEです。

ここで重要なのは、H3が3つのモジュールからなるシステムであり、公開されたのは真ん中だけだという点です。入力を解釈して構造化する「H3-Context-IR」はホスト型で非公開、768pの結果を2Kに再生成する「H3-Regenerate-2K」も執筆時点では未公開です。公式サイトの「最大2K」という表記はシステム全体の話であり、ローカルで動かせるのは、短辺768pxを標準とするH3-Baseのみになります。ComfyUIやdiffusersのドキュメントでは、16:9の場合の1344×768が学習解像度として案内されています。

3次元MM(マルチモーダル)-RoPEとは

Transformerは入力を「順番のない集合」として扱うため、そのままではトークンの位置がわかりません。そこで位置情報を教える必要があります。RoPE(Rotary Position Embedding)は、ベクトルを位置に応じた角度だけ回転させることで位置を表現する方式です。2つのトークンを比べたときに回転の差だけが残るので、「5番目と8番目」ではなく「3つ離れている」という相対的な距離が自然に扱えます。

テキストなら位置は「何番目か」という1次元で足ります。しかし動画のトークンは、時間(何フレーム目か)・高さ・幅という3つの座標を同時に持ちます。そこでベクトルを3つのグループに分け、それぞれを時間・高さ・幅で回転させます。これが「3次元」の意味で、モデルは「2フレーム前」「1つ上」「3つ右」をそれぞれ独立に判断できるようになります。

では「MM(マルチモーダル)」は何かというと、種類の違うトークンを同じ座標系に載せるという意味です。H3は映像と音声をひとつの長い系列にまとめて処理しますが、音声には縦横がなく時間しかありません。そこで音声トークンには時間の座標だけを与え、空間の軸は使いません。こうすることで「この音声トークンとこの映像トークンは同じ瞬間のものだ」という関係が、位置情報の段階で表現されます。

MiniMax H3とWan 2.2・LTX-2.5の違い

同じオープンウェイトの動画生成モデルでも、3者は狙っている方向が違います。

Wan 2.2はタスクごとにチェックポイントが分かれています。テキストから動画、画像から動画、音声駆動、キャラクターアニメーションがそれぞれ別のモデルです。H3が明示的に否定した「タスクの分割」を維持しているわけですが、その分、必要なものだけを差し替えられるうえ、LoRAなどのエコシステムももっとも厚くなっています。ライセンスがApache 2.0で制約が少ないのも大きな利点です。ただし音声の生成には対応していません。なお、重みが公開されているWanは2.2系までで、2.5以降はAPIのみの提供です。ローカルで使える最新のWan系モデルは、2026年8月7日にApache 2.0で公開されたWan-Animate-2になります。

LTX-2.5は22Bの拡散トランスフォーマーで、映像と音声を1つのモデルで同時に生成します。8ステップの蒸留モデル、int8やNVFP4の公式配布、生成時間を自動で決めるduration headなど、ローカルで速く回すための最適化が徹底されています。テキストエンコーダーはGemma 4 12Bです。

H3は映像と音声を分けず、ひとつの系列にパックして同時に予測します。さらに、プロンプト理解にはQwen3-VL-32Bを丸ごと使っています。速度よりも指示の解釈に重心を置いた設計と考えられます。画像・動画・音声を混ぜて参照させ、それぞれの役割を言葉で指定できるのはH3ならではです。

簡単にまとめると、参照を組み合わせて狙った映像を作りたいならH3、速度と自己完結性ならLTX-2.5、ライセンスの自由度とLoRA資産ならWan 2.2、という住み分けになると考えられます。

ComfyUIのテンプレート「MiniMax H3: Image to Video」を見てみる

ComfyUIのテンプレート「MiniMax H3: Image to Video」 

いつも通りComfyUIを最新版にアップデートすることをオススメします。今回は🔗v0.34.0を使って検証しました。

「MiniMax H3: Image to Video」は、インプット画像(初期フレーム)から動画を生成します。サブグラフ「Image to Video (MiniMax H3)」に主要ノードが集約されています。

まずはテンプレートから「MiniMax H3: Image to Video」のワークフロー例を確認しましょう。

テンプレート一覧 

テンプレート一覧を開き、左側メニューのGENERATION TYPEからVideoを選択します。

動画関連のテンプレートが表示されたら、「MiniMax H3: Image to Video」を選びましょう。

テンプレートを開くと、不足しているモデルが表示されます。指示に沿ってダウンロードすれば、そのまま実行できます。✅よくわからない方は、次のセクションで詳しく説明しているので、そちらを参照してください。

公式ドキュメントは以下になります。

MiniMax H3に必要なモデルのダウンロード

MiniMax H3では、VAEが映像用と音声用の2つに分かれている点に注意してください。minimax_h3_video_vae_fp16.safetensorsminimax_h3_audio_vae_fp32.safetensorsの両方を、vaeフォルダーに配置する必要があります。下記のファイルを取得し、ComfyUI/models配下の指定フォルダーに配置してください。ComfyUIでワークフローを開くとノードにダウンロードボタンが表示されるため、そこからも取得できます。

配置例:

ComfyUI/
├── 📁 models/
│   ├── 📁 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
│   │   └── minimax_h3_audio_vae_fp32.safetensors
│   ├── 📂 loras/
│   │   └── minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16.safetensors
│   └── 📂 embeddings/
│       └── minimaxh3_art_is_explosion.safetensors
Diffusion Models テキストエンコーダー VAE LoRA Embeddings

「MiniMax H3: Image to Video」用インプット素材

MiniMax H3: Image to Videoで使用するインプット画像は、公式ドキュメントからダウンロードできます。

「MiniMax H3: Image to Video」のノードについて

メインのサブグラフ「MiniMax H3: Image to Video」に主要なノードが配置されているので、順番に見ていきましょう。

Load CLIP

Load CLIPノード 

テキストエンコーダーを読み込みます。clip_nameにはqwen3vl_32b_minimax_h3_nvfp4_awq.safetensors、typeにはminimaxを選択してください。前述の通り、H3のプロンプト理解はQwen3-VL-32Bが丸ごと担当しているため、このノードだけで15GB前後のVRAMを使います。VRAMが厳しい場合は、GGUF版のテキストエンコーダーに差し替える方法もあります。

MiniMax H3 Image to Video

MiniMax H3 Image to Videoノード 

プロンプトとインプット画像をH3向けの入力にまとめる、ワークフローの中心となるノードです。ただし、このノードで動画ができあがるわけではありません。出力は条件付け(positive)と空のラテントの2つです。実際のデノイズはSamplerCustomAdvancedが、映像と音声への復号はVAEDecodeとVAEDecodeAudioが担当します。入力は次の8つで、パラメーターらしいパラメーターはほとんどありません。

  • clip / vae:Load CLIPと映像用のLoad VAEから受け取ります。
  • first_frame / last_frame:開始フレームと終了フレームです。どちらも任意で、I2Vではfirst_frameにインプット画像をつなぐだけで動きます。両方を指定すれば、最初と最後のフレームを固定した生成になります。
  • prompt:カメラワークや被写体の動きに加えて、セリフ・効果音・BGMといった音声も言葉で書けます。音声は映像と同時に生成されるため、あとから足す必要はありません。✅プロンプトの書き方は後述の「MiniMax H3のプロンプトの記述方法」を参考にしてください。
  • width / height:Resolution Selectorから受け取ります。
  • length:生成するフレーム数です。手で入力する値ではなく、サブグラフのdurationから計算された値が入ります。

KSamplerSelect

KSamplerSelectノード 

サンプリングのアルゴリズムを選択し、SAMPLERとして後段のサンプラーノードに渡すノードです。テンプレートではres_multistepがデフォルトになっています。画像生成でおなじみのeulerではないので、他のワークフローからノードを流用するときは注意してください。✅res_multistepについては後述の「res_multistepサンプラーについて」で詳しく解説しています。

Resolution Selector

Resolution Selectorノード 

出力する動画の幅と高さを計算して、MiniMax H3 Image to Videoノードのwidth / heightに渡すノードです。解像度を直接入力するのではなく、次の3つの値から算出します。

  • aspect ratio:16:9(横長)、9:16(縦長)、1:1(正方形)などの比率を選びます。
  • megapixels:フレームの総画素数の目安です。上げるほど大きな映像になりますが、生成時間も伸びます。
  • multiple:算出した値を丸める単位です。H3の解像度グリッドに合わせて32のままにしておきましょう。

H3が想定している基準は短辺768pxで、16:9なら1344×768が学習解像度になります。まずはこの付近から試すのがオススメです。

MiniMax H3のLengthについて

H3はfpsが24に固定されているうえ、指定できるフレーム数が飛び飛びになっています。5フレームを起点に、17フレームずつ増える値しか受け付けません。

5、22、39、56、73、90、107、124、141、158……362

公式ドキュメントではこれを17k+5と書いています。kに0、1、2……と整数を入れた数、という意味です(17×0+5=5、17×1+5=22、17×2+5=39)。これはH3が内部で映像を17フレーム単位のブロックとして扱っているためで、その間の数字は指定できません。上限は362フレームで、24fpsだと約15秒になります。

とはいえ、実際に使うときは意識しなくても大丈夫です。テンプレートではdurationとlengthの間にComfyMathExpressionノードが入っていて、秒数を条件に合うフレーム数へ自動で切り上げてくれます。式は以下の通りです。

max(5, round(a * 24)) + (5 - (max(5, round(a * 24)) % 17)) % 17

durationと実際に生成されるフレーム数の対応は、次のようになります。

durationフレーム数実際の長さ
2秒56約2.3秒
4秒107約4.5秒
5秒(デフォルト)124約5.2秒
10秒243約10.1秒
15秒362約15.1秒

切り上げなので、指定した秒数よりわずかに長い動画になります。4秒のときだけ0.5秒近くずれていますが、これは96フレームの次に使えるグリッドが107フレームしかないためです。公式が想定している長さは5〜15秒(124〜362フレーム)になります。

MiniMax H3のプロンプトの記述方法

MiniMax H3の公式プロンプトの記述方法は、以下のページにまとめられています。

H3のプロンプトは、思いついた情景を一息に書くタイプのものではありません。先頭に参照画像と時間軸の対応を書き、そのあとに3つのフィールドを並べるという、かなり形式的な構造が決まっています。

For the target video, at 0.00 seconds into the target video, <Picture 1> (from [Shot 1]) is fully referenced.

integrated_multimodal_description: [Shot 1] ...

overall_soundscape: ...

non_diegetic_music: ...
  • integrated_multimodal_description:映像・動作・ショット・話者・セリフ、そして画面内で鳴っている音を、時間の流れに沿って書く本文です。
  • overall_soundscape:環境音や動作音、息づかいといった非言語の人間の音を、動画全体でまとめて書きます。
  • non_diegetic_music:登場人物には聞こえず、観客だけに聞こえるBGMを書きます。

この構造化は、もともとホスト型のH3-Context-IRが担う工程です。MiniMax自身もモデルカードで、H3-Context-IRをパイプラインに組み込むか、このガイドをもとに自前の前処理システムを作ることを強く推奨すると書いています。ローカルでH3-Baseを動かす場合は、後者を人力でやることになるわけです。ComfyUIのpromptは入力欄が1つしかないため、この構造をまるごと流し込みます。なお、MiniMaxはこの書き換えをAIエージェントに任せるための公式スキル(h3-prompt-writingを配布しており、ClaudeやChatGPTなどに読み込ませればリクエストからこの構造を組み立ててもらえます。

✅タスク種別ごとの整列指示、ショットの切り方、カメラワークの語彙、セリフや音声の書式といった細かい記述ルールは、後述の有料記事「品質の良いプロンプトの書き方」で詳しく解説しています。

プロンプト埋め込み(Prompt Embeddings)について

プロンプト埋め込みは、プロンプトに再利用可能なスタイルトークンを追加する機能です。SDXLなどで使うEmbedding(Textual Inversion)と同じ仕組みで、特定のスタイルを覚えさせたトークンの塊のようなものです。ComfyUI標準のembedding:構文で呼び出せます。

ファイルをComfyUI/models/embeddings/に置き、プロンプト内でembedding:minimaxh3_art_is_explosionのように記述します。トリガーワードは拡張子を除いたファイル名です。Comfy-OrgのリポジトリにH3用のスタイル埋め込みが10種類ありますが、これらはコミュニティ提供(silveroxides氏)の非公式ファイルで、MiniMaxやComfy-Orgが作ったものではありません。

res_multistepサンプラーについて

res_multistepはRES(Refined Exponential Solver=洗練された指数ソルバー)と呼ばれる方式をベースにしたサンプラーで、ComfyUIにはCosmos向けのコードから取り込まれました。名前は2つの要素に分かれています。

  • res(指数積分器):ノイズを消していく過程を表す式には、解析的にきっちり解ける線形の部分と、モデルの出力に依存する非線形の部分があります。eulerは両方まとめて「今向いている方向にまっすぐ進む」と近似しますが、指数積分器は線形の部分を厳密に解き、非線形の部分だけを近似します。そのため1ステップの刻み幅を大きく取っても、本来の軌道から外れにくくなります。
  • multistep(多段法):1つ前のステップで計算したモデルの出力を捨てずに再利用することで、2次の精度を得ます。新しくモデルを呼び出すわけではないので、1ステップあたりの計算コストはeulerとほとんど変わりません。同じ2次でもheunやdpm_2は1ステップにモデルを2回呼ぶため、単純に倍の時間がかかります。

2次の手法は1ステップあたりの誤差が1次の手法の2乗のオーダーになるので、ざっくり言えば20ステップでeulerの40〜50ステップ相当の精度が得られると考えられます。同じ回数だけモデルを呼びながら、より正確に進めるわけです。

ではなぜH3でこのサンプラーが選ばれたのでしょうか。1つ目の理由として考えられるのは、1ステップの単価が極端に高いモデルである点です。H3は33Bのモデルが映像と音声をまとめた長い系列を一度に処理するため、1ステップのコストが画像生成とは比べものになりません。「ステップ数を増やして精度を稼ぐ」という力技が現実的に使えないため、1ステップあたりの精度を上げる方向に振るのが合理的です。ターボLoRAの8ステップのように刻みが粗い設定では、なおさら効いてきます。

2つ目は、音声を同時に生成している点です。H3は映像と音声で別々のシフトスケジュールを持ち、それぞれのスケジュールに沿って進みます。映像側のわずかな誤差はディテールの甘さで済みますが、音声側の誤差はノイズとしてそのまま耳に届いてしまいます。実際、H3の公開直後は低ステップで音声にノイズが乗る問題があり、コミュニティが専用のサンプラーを作って対処していた時期がありました。精度の高いソルバーが標準になっているのは、この音声側の事情によるところも大きいと考えられます。

他のサンプラーに変えても生成自体はできますが、とくに理由がなければデフォルトのまま使うのがオススメです。

「MiniMax H3: Image to Video」の使い方

それではテンプレートを実際に使ってみましょう。ワークフローの使い方はシンプルです。

ワークフローの使い方 
  • 初期フレーム画像の読み込み:「Load Image」に素材のtransparent_rgb_gaming_mouse.pngを読み込みます。
  • 各モデルの読み込み:サブグラフの「Image to Video (MiniMax H3)」にモデルが正しく読み込まれているかを確認します。
  • 生成実行:インプット画像/動画・各モデルが正しく読み込まれたら、「Run」ボタンで実行します。

しばらくすると「Save Video」に生成した結果が出てきます。

MiniMax H3公式ワークフローの生成結果

生成結果は以下のようになりました。音声はミュートしてあるので、聞きたい場合はミュートを解除してください。✅このサンプルは640 x 640なので、縮小していません。

生成速度の参考として、筆者環境(RTX3090)では、通常の20ステップの生成に269秒かかりました(SageAttentionは使っていません)。

以下は、640/1024の解像度で、ターボLoRAとEmbeddingsの使用有無を比較した動画です。✅シードはすべて同じデフォルトシードを使っています。

生成速度は以下の通りです。

20 Steps8Steps8Steps Embeddings
640 x 6404分29秒2分19秒2分32秒
1024 x 102422分44秒9分30秒9分40秒

ターボLoRAを使うと、640ピクセルでは生成時間が約48%短縮されました。1024ピクセルでは約58%短縮されています。640と1024の違いは上記の比較動画では確認できませんが、ディテールの品質は1024の方が高く、640では細部にノイズが発生していました。また、Embeddingsの効果は、今回のテストではあまりわかりませんでした。

MiniMax H3の公式ワークフローをカスタムする

ここからはComfyUI公式の「MiniMax H3: Image to Video」ワークフローを土台に、高品質な映像を目指した改良版を紹介します。カスタム内容は以下の通りです。

  • アップスケール:執筆時点で「H3-Regenerate-2K」が未公開のため、ピクセル空間でのアップスケールです。
  • フレーム補完:フレーム補完ノードを使って、出力動画のフレームレートを引き上げられます。
  • 動画生成時のライブプレビュー:生成中の様子をライブプレビューで確認できます。
  • GGUF対応:低VRAM環境向けに、GGUFモデルへ切り替えられます。

✅有料記事内では、以下の内容を紹介しています。

  • カスタムワークフローの使い方と生成結果:必須カスタムノードや追加モデルの準備から実際の操作手順までを解説し、生成に使ったプロンプトの全文も掲載しています。
  • 品質の良いプロンプトの書き方:公式のプロンプト作成ガイドをもとに、4つのタスク種別・先頭に置く整列指示・3つのフィールド・カメラワーク・セリフや音の書き分けまでを解説しています。
  • 公式スキル「h3-prompt-writing」の使い方:H3のプロンプト作成をAIエージェントに任せる方法を、claude.aiへの登録手順から紹介しています。

ワークフローやインプット素材はPatreonで公開しています。有料サポーター様のみ閲覧・ダウンロードが可能です。

このカスタムワークフローで生成した動画サンプルがこちらです。音声はミュートしてあるので、聞きたい場合はミュートを解除してください。✅動画はWEB用に縮小しています。

🔒この内容は有料サポーター様限定です。有料サポーターの方はログインすると閲覧することができます。

まとめ

本記事では、オープンウェイトの動画生成モデル「MiniMax H3」の概要から、ComfyUI公式テンプレート「MiniMax H3: Image to Video」を使った動画生成の手順までを紹介しました。

  • MiniMax H3は、ネイティブステレオ音声付きの動画を生成するオムニモーダル生成モデルです。
  • 参照や編集の関係を、固定されたタスク名ではなく自然言語で指定できます。
  • ローカルで動かせるのは、短辺768pxを標準とするH3-Baseのみです。
  • Lengthに指定できるフレーム数は17k+5の値に限られますが、テンプレートでは秒数から自動で切り上げられます。
  • プロンプトは、先頭の整列指示と3つのフィールドからなる形式的な構造で記述します。
  • テンプレートのサンプラーは、res_multistepがデフォルトです。
  • 筆者環境(RTX3090)では、ターボLoRAにより640 x 640の生成時間が約48%短縮されました。

後半の有料記事では、アップスケールやフレーム補完、GGUFに対応したDCAIカスタムワークフローや、品質の良いプロンプトの書き方、公式スキル「h3-prompt-writing」の使い方についても解説しています。気になる方はぜひ本編もあわせてご覧ください。

カテゴリー:📂 AIイラスト中級

最後までお読みいただきありがとうございます。

もし少しでも参考になったら、ぜひ「いいね」で応援してください!