【ComfyUI】MiniMax H3のプロンプト作成を自動化する自作カスタムノードを無料配布【キャラ崩れ防止・最適化】

🗓️ 公開日: 2026年9月16日  🔄 最終更新日: 2026年9月18日

今回はMinimaxH3のプロンプト作成を自動化する自作カスタムノード「H3PromptDirector」の配布と使い方の紹介をします。
H3PromptDirectorは自分が作ろうと思っている動画のプロンプトを項目別に日本語で入力し、LLM(Large Language Models、大規模言語モデル)に渡す事により、LLMがMiniMax H3の特性に最適化された英語プロンプトへと自動変換・拡張してくれるノードです。
これにより、構図の崩れや意図しない挙動を抑え、狙い通りのハイクオリティな動画を一発で出力できるようになります。

MiniMax H3とは?圧倒的な描写力と物理挙動を持つ最新AI動画モデル

MiniMax(Hailuo AI)が提供する「H3」は、実写からアニメ調まで極めて高い映像クオリティを誇る次世代の動画生成AIモデルです。従来の動画生成モデルと比べて、主に以下の強みを持っています。

  • 破綻の少ないカメラワークとダイナミックな動き被写体の形状崩れ(モーフィング)を抑えつつ、パンやズーム、激しいアクションなど大きな動きを滑らかに表現できます。
  • 光の質感・物理シミュレーションの高さ陰影の移り変わりや衣服・髪の揺れ、爆発や煙といったエフェクト描写が非常に自然です。
  • プロンプトへの高い忠実度(プロンプト追従性)指示したディテールをしっかり拾い上げてくれますが、その反面、「指示の出し方(文構造や英語表現のニュアンス)」によって出力の品質が大きく左右されるという繊細な一面もあります。

だからこそ、H3が最も理解しやすい形式でプロンプトを渡すことがクオリティアップの最大のカギとなります。
そこで制作したのが、今回の自作ノード「H3PromptDirector」です。

H3PromptDirectorを使うと出来る事

  • 直感的な日本語入力からMiniMax H3専用の英語構造化プロンプトを自動生成

複雑な構図や演出指示を、Gemini、ChatGPT、OllamaなどのLLMを活用して最適な英語記述へ自動変換・拡張します。

  • タイムライン連動と複数ショットのシームレスな制御

秒数ごとのカメラワークやアクション、リップシンク対応の日本語セリフをショット単位で破綻なく管理できます。

  • UI上で複数のメディアを一括管理できるマルチメディア参照レーン

REF2VA(参照画像最大9枚)、FL2VA(前後フレーム)、V2V(参照動画)、音声(最大3系統)をノード内から直接視覚的に割り当て可能です。

  • キャラクター設定の一貫性維持とワイルドカード対応

プリセットテキストや独自定義ファイルを用い、セル画調・フラットな2Dアニメスタイルの維持や服装・外見のブレを防止します。

  • 解像度調整とアスペクト比の一元ディスパッチ

ノード内でクロップ・パッド・ストレッチなどのリサイズを自動処理し、MiniMax H3が求める最適なテンソル形式へ一括出力します。

  • ローカル環境に配慮したVRAM自動開放(Ollama連携)

プロンプト生成後にローカルLLMのメモリを即座にアンロードし、動画生成本体に必要なVRAMリソースを圧迫しません。

H3PromptDirectorのダウンロードとインストール

H3PromptDirectorはHKMC-Nodesに同梱されています。
HKMC-Nodesのダウンロードとインストールは以下のGitHubからリポジトリをComfyUIフォルダのcustom_nodes内にクローンしてください。

📁 ComfyUI-HKMC-Nodes/
├─ 📄 __init__.py
├─ 📄 anima_resolution.py
├─ 📄 h3_prompt_director.py
├─ 📄 presets.json
├─ 📄 requirements.txt
├─ 📁 web/
│     └─ 📄 prompt_director.js
└ ─📁 characters
          └─📄キャラクターの特徴を記したtxtファイル

H3PromptDirectorのノードの説明

H3PromptDirectorは以下のノードによって構成されています。

  • H3PromptDirector(本体)
  • H3MediaDispatcher(メディアのリサイズと割り当て)
  • OllamaVRAMUnloader(Ollama専用のVRAM解放ノード)
  • H3CharacterSubjectManager(キャラクター定義専用ノード)
  • H3TimelineDirector(タイムライン定義専用ノード)

それぞれのノードについて解説していきます。

H3PromptDirector

H3PromptDirectorの本体ノードになります。
LLMを選択し、6つの項目のテンプレートに沿って日本語入力で指示を出すノードになります。
他にも9個のリファレンス画像読み込み、2個の動画読み込み、3個の音声読み込みに対応しています。
このノードのみでもプロンプトを作成する事は可能ですが、後に紹介する拡張ノードを使えばもっと簡単に詳細にプロンプト作成指示を出す事が出来ます。

6つの項目とは以下の事です。

subject_definitions:(キャラクターの定義)
summary:(全体のまとめ・どのような動画か)
retention_analysis:(保持要素・禁止事項など)
detailed_description:(時間軸による構図やアクション)
overall_soundscape:(環境音)
non_diegetic_music:(BGM)

H3MediaDispatcher

H3MediaDispatcherはユーザーが読み込んだ画像・動画・音声をサンプラーに渡す役割をしており、更に画像と動画に関しては生成する動画のアスペクト比に合わせてリサイズする機能を持っています。
H3PromptDirectorから出力されたメディアは独自の出力ピンによって束ねて出力されているので、このノードがないとサンプラーに渡す事が出来ないので注意。

OllamaVRAMUnloader

OllamaVRAMUnloaderはプロンプトを作成させるLLMをOllamaを選択した場合のみ使用するノードです。
OllamaはローカルLLMになり、プロンプトの作成が完了してもVRAMに常駐してしまい後の動画生成の際にVRAMを圧迫してしまいOOM(Out Of Memory)になってしまう可能性が極めて高くなります。
OllamaVRAMUnloaderはOllamaがプロンプトの生成が完了した段階でVRAMから解放させる為の専用のノードになります。
これにより、動画生成の際にOllamaがVRAMを圧迫する事がなくなります。

H3CharacterSubjectManager

H3CharacterSubjectManagerはキャラクターを詳細に定義させる為のH3PromptDirectorの拡張ノードになります。
生成する動画のキャラクターが1人の時でも使えますが、2人以上のキャラクターを生成する際に真価を発揮します。
事前にキャラクター情報を記載したtxtファイルをcharacterフォルダに入れてあると、プリセットからキャラクターを選択する事が出来ます。
そして名前を定義し、音声リファレンスコードを選択する事が出来ます。
キャラクター追記欄にリファレンス画像の詳細を記入する事でキャラクターを強く定義付けする事が可能です。
ノード下部に画像コードの埋め込みボタンを設置しているので、簡単に画像コードを挿入出来ます。

H3TimelineDirector

H3TimelineDirectorは時間軸による構図やアクションを詳細に記入する事が出来ます。
H3CharacterSubjectManagerでキャラクターを定義した場合はキャラクター別のセリフを記入することが出来ます。
H3CharacterSubjectManagerでキャラ1で定義したキャラクターは「S1:」、キャラ2で定義したキャラクターは「S2:」とセリフ欄に記述する事でキャラクター別に完全に区別させる事が出来ます。

H3PromptDirectorの使い方

H3PromptDirectorの使い方です。
まずはH3PromptDirectorの使い方を説明し、拡張ノードの説明をします。
H3PromptDirectorノードの上から順に説明したいと思います。

LLM設定項目

ノード上部にはLLMの設定をする項目が3つあります。

1つめのLLMプロバイダーはLLMを選択する項目です。
現在はGemini、ChatGPT、Ollamaの3つから選択する事が可能です。

2つめのLLM API KeyではGeminiとChatGPTを使用する場合のAPI Keyを入力する欄になっています。
入力欄にAPI Keyを直接入力する事も出来ますが、セキュリティの面で直接入力はあまり推奨しません。
H3PromptDirectorはWindowsの環境変数からAPI Keyを自動取得する機能を搭載しているので、動画をそのままの形で公開する可能性がある場合はAPI KeyをWindowsの環境変数から取得するようにして下さい。
以下はWindowsの環境変数からAPI Keyを取得する方法です。

windowsボタンを押し、検索欄に【環境変数】と入力。
【環境変数を編集】をクリック。
ユーザーの環境変数欄の【新規】をクリック。
【変数名】にGeminiの場合はGEMINI_API_KEYと入力、ChatGPTの場合はOPENAI_API_KEYと入力します。
【変数値】にAPI Keyを入力しOKを押します。
これで、H3PromptDirectorのAPI Keyの入力欄を空欄にすれば自動的にAPI Keyをwindowsから取得します。

3つめのLLMモデル名はそれぞれのLLMのモデル名を入力する欄になります。
お使いのLLMの環境に合わせてモデル名を直接入力して下さい。

プロンプト指示項目

次は7つあるプロンプト指示項目です。
先程6つと解説しましたが、拡張ノードなしで生成する場合はセリフの項目を加えて7つになります。
上から

subject_definitions:(キャラクターの定義)
summary:(全体のまとめ・どのような動画か)
voice:(声・セリフ)
retention_analysis:(保持要素・禁止事項など)
detailed_description:(時間軸による構図やアクション)
overall_soundscape:(環境音)
non_diegetic_music:(BGM)

という入力項目になります。

subject_definitions

ここにはキャラクターの特徴を定義する為のプロンプトを記述します。
黒い髪の小柄な少女、青い瞳、白いパーカーを着ている
などの特徴を定義付けします。
予めcharacterフォルダの中にキャラクターの特徴を記したtxtファイルを用意しているのであれば、__ファイル名__と入力する事によりtxtファイル内のキャラクターの特徴を読み込みます。

summary

生成する動画のシチュエーションを入力する項目です。
どのような動画を生成するのかを総括して伝える箇所です。

【入力例】
薄暗い整備工場で、作業台に散らばる工具の合間からパソコン画面を見つめるオレンジ髪の少女(ジル)。故障の原因が分からず困り果てているシーン。

voice

拡張ノードを使わずにセリフを言わせる場合はこちらにセリフを入力してください。
リファレンスしたい音声がある場合は音声コードも入力して下さい。
拡張ノードを使用する場合は空欄で構いません。

【入力例】
S1:「うーん……どこがショートしてるんだろ……」
(※参照音声がある場合は、下部から <audio 0> などのコードを末尾に挿入)

retention_analysis

保持要素や禁止事項を入力する項目です。
retention_analysisを一言で言えば、「強力なネガティブプロンプト + スタイル維持指示」 の役割を果たすセクションです。
通常のネガティブプロンプトのように「出してほしくない要素(3D化、CGI質感、形状崩れなど)」を排除するだけでなく、「維持し続けたい要素(セル画調のフラットなアニメ塗り、左右のキャラクターの立ち位置、衣装の整合性など)」をモデルに強く意識させる事が出来ます。

detailed_description

時間軸ごとの構図やアクションの指定をする項目です。

【入力例】
0:01.0-0:03.0(1秒~3秒)
後ろ姿の黒髪の少女が振り向く。

など、秒数指定と共にアクションを入力して下さい。

overall_soundscape

環境音を入力する項目です。
風の音、雨の音など環境音を指定する場合はこちらに入力して下さい。
リファレンス音声をこちらに指定する事も出来ます。

【入力例】
<audio 0>を参照し、滝の音を流す。

non_diegetic_music

BGMを入力する項目です。
どのような音楽を流すのかをざっくりと書く事もでき、リファレンス音声を指定する事も出来ます。
N/Aと入力する事によりBGMの挿入を阻止出来ます。

【入力例】
切ないDマイナーのピアノの伴奏を流す。
<audio 1>の曲を流す。

リファレンス項目

次はリファレンス項目です。
H3 Prompt Directorは画像を9つ、動画を2つ、音声を3つまでリファレンスする事が出来ます。
読み込んだメディアの下部に【+picture0】などのコードが表示され、クリックする事で入力中の項目欄にメディアコードを差し込む事が出来ます。
❌️を押す事で画像を一覧から消去する事が出来ます。
消去しても繰り上げにはなりません。
歯抜け状態になっていても、ダミーデータを渡す仕様になっているので問題はありませんが、確実性を重視するのであれば整えた方が良いかと思います。

以上がH3PromptDirectorの基本的な使い方です。
では次はH3PromptDirectorに対する拡張ノードの使い方を解説していきます。

H3PromptDirectorの拡張ノードの使い方

H3PromptDirectorには2つの拡張ノードが搭載されています。
2つの拡張ノードを使用することにより、より簡単に、より詳細に指示を出す事が可能になります。

H3CharacterSubjectManager

キャラクターを定義する事に特化した拡張ノードです。
キャラクターを2人以上出力する時に真価を発揮するノードになります。
H3CharacterSubjectManagerの出力ピンをH3PromptDirectorのキャラクター定義にリンクさせてください。

上から順番に解説します。

characterフォルダにtxtファイルが存在しているのであれば、プルダウンからキャラクターを選択する事が可能です。
名前を日本語で入力します。
リファレンスするキャラクターの音声を◀ ▶で選択します。
追記の入力欄に、リファレンス画像とキャラクターの結びつけをします。

【入力例】
<Picture 0>は同一キャラクターのフランの側面図です。
<Picture 1>は同一キャラクターのフランの前面図と背面図です。
<Picture 2>は同一キャラクターのフランの9つの表情差分です。

<picture 0>などのコードもノード下部からクリックで差し込む事が可能です。

このように入力する事で、以下のようにキャラクターが定義されます。

【出力結果】
subject_definitions:
[Subject 1: Franc]
(Appearance of Franc): A petite,~~

キャラクター1に記入したキャラクターはsubject1となり、subject1のキャラクターのセリフを言わせたい時はS1:というコードを入れたあとセリフを入力する事になります。
セリフに関しての詳細は次項のH3TimelineDirectorで解説します。

H3TimelineDirector

時間軸による構図やアクションを入力する事に特化したノードです。
H3TimelineDirectorの出力ピンをH3PromptDirectorのタイムラインにリンクさせてください。
ショット(shot)を1~4に分け、時間軸に沿ったアクションを入力してください。
必要のないショットはショットの有効/無効のトグルがあるので無効にしてください。
セリフの欄には先述のH3CharacterSubjectManagerで指定したキャラクター番号を指定してセリフを書いて下さい。

【入力例】
ジルはフランの方を向き、明るく微笑みながら機械の義手を胸の前に軽く上げて答える。
S2: 仲間達といたら楽しいからさ

画像コードをノード下部から差し込む事が可能です。

以上がH3PromptDirectorの使い方の解説でした。
次は接続例を交えて必要ノードの解説をします。

H3PromptDirectorの接続例

H3PromptDirectorの出力ピンは2種類あります。

一つは生成されたプロンプトを出力する為の【H3構造化プロンプト】というピン。
もう一つは画像・動画・音声のメディアを一括して出力する【media_bundle】というピン。

H3構造化プロンプト出力ピン

このピンは生成されたプロンプトを出力する為のピンになります。
サンプラーに直接繋いでも構いませんが、Show Textノード(またはComfyUI-Custom-ScriptsのShow Text)を間に挟み、生成前に整形されたプロンプトを確認するのがおすすめです。
LLMでOllamaを選択している場合は、OllamaのVRAMを解放するノードOllamaVRAMUnloaderに繋ぎ、OllamaVRAMUnloaderからShow Textやサンプラーに繋いでください。

media_bundle出力ピン

media_bundleピンは全てをメディアを包括している出力ピンになります。
全てのメディアを含んでいるので、そのままではサンプラーに渡す事は出来ません。
そこで包括されたメディアを一つ一つ紐解き、生成する動画のアスペクト比にリサイズする専用ノード【H3MediaDispatcher】に渡す事になります。


そしてH3MediaDispatcherから各サンプラーに出力をするという流れになります。
REF2VAの場合はもう1ステップ必要です。

なお、画像と動画のリサイズについてはリサイズ方式と基準位置を指定する事が出来ます。
オススメはcrop方式の中央(center)基準です。

widthとheightは動画生成のアスペクト比に合わせて入力するか、アスペクト比を選択しているノードとリンクさせてください。

REF2VAの場合の出力方法

H3MediaDispatcherのREF2VAの画像出力はref_imagesという出力ピン1つしかありません。
このままではREF2VAのサンプラーに渡す事が出来ないので、【バッチから画像を取得(Get Image from Batch)】ノードを9つ用意します。
H3MediaDispatcherのref_images出力をこの『バッチから画像を取得(ImageFromBatch)』ノード9つ全てに繋ぎ、、バッチインデックスの値をそれぞれ0~8まで9つ入力します。
そして、バッチから画像を取得ノードからサンプラーに繋ぐ事で9つ全ての画像をリファレンス画像としてサンプラーに渡す事が出来ます。

さいごに

今回は自作ノード「H3PromptDirector」の機能と設定方法を解説しました。

随時アップデートやバグ修正を行っていますので、「ここを改善してほしい」「こんな機能がほしい」といったご意見があれば、コメント欄やお問い合わせ、またはGitHubのIssueまでお気軽にお寄せください!役立ちそうだと感じていただけたら、GitHubの「Star(★)」をポチッと押していただけると開発の励みになります。

次回は、このH3PromptDirectorをフル活用した「MiniMax H3の高性能ComfyUIワークフロー」の全体図と実践的な動かし方を公開・解説します!

コメントする

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

上部へスクロール