
P-H3-Imageは、Pruna AIがMiniMax-H3をベースに作った画像生成・画像編集モデルです。
ComfyUIの公式ワークフローに、テキストから画像生成と画像編集の2種類が追加されました。
この記事では、必要なモデルの配置とワークフローの読み込み方を紹介します。
P-H3-Imageとは?
P-H3-Imageは、MiniMax-H3をベースにした、テキストから画像生成と画像編集のための画像モデルです。
CFGなしの8ステップで、8メガピクセルの画像を生成できます。
主な特徴
- テキストから画像を生成できる
- 元画像を短い指示文で編集できる
- 参照画像を追加して編集できる
- CFGなしの8ステップで生成する
- 8メガピクセルの高解像度で出力する

ライセンス
P-H3-Imageのライセンスは「minimax-h3-community-license-agreement」です。
ComfyUI向けのファイルも、MiniMax-H3と同じこのライセンスで配布されています。
商用利用などの条件は、MiniMax-H3のライセンス本文で確認してください。
ComfyUIのインストール
ComfyUIをまだインストールしていない方は、こちらを参考にしてみてください。

あとComfyUI 0.44.0へのアップデートが必要です。
Stability Matrixならパッケージ画面、ポータブル版ならupdateフォルダのupdate_comfyui_stable.batで更新できます。
詳細は公式のドキュメントでご確認ください。
必要なモデルのダウンロードと配置
画像生成、編集どちらも以下のモデルを使用します。
| 種類 | ファイル名 | 配置先 |
|---|---|---|
| 拡散モデル | minimax_h3_fl2va_pruned_int8_convrot.safetensors | models/diffusion_models |
| テキストエンコーダー | p-h3-image_text_encoder_int8_convrot.safetensors | models/text_encoders |
| プロンプトアップサンプラー | p-h3-image_prompt_upsampler_w4a8.safetensors | models/text_encoders |
| VAE | p-h3-image_vae_int8_convrot.safetensors | models/vae |
| LoRA | p-h3-image_lora_bf16.safetensors | models/loras |
ComfyUI/
└── models/
├── diffusion_models/
│ └── minimax_h3_fl2va_pruned_int8_convrot.safetensors
├── text_encoders/
│ ├── p-h3-image_text_encoder_int8_convrot.safetensors
│ └── p-h3-image_prompt_upsampler_w4a8.safetensors
├── vae/
│ └── p-h3-image_vae_int8_convrot.safetensors
└── loras/
└── p-h3-image_lora_bf16.safetensors

ワークフローの読み込み
ComfyUIの公式ワークフローは、2種類です。
- テキストから画像生成:image_p_h3_t2i.json
- 画像編集:image_p_h3_image_edit.json
リンク先のGitHubページからJSONファイルをダウンロードし、ComfyUIの画面へドラッグ&ドロップして読み込んでください。
または左上メニュー→テンプレート参照から選択するとワークフローを取り込めます。

P-H3-Imageでテキストから画像生成
Resolution Selectorでアスペクト比や解像度を選択できます。

New Subgraphでモデルをセットして、プロンプトを入力します。

プロンプトはenable_prompt_upsamplingを使う場合、Aspect ratioやRequestのラベルを付けて書いた方がいいそうです。
Aspect ratioにはResolution Selectorで指定した値を入れます。
16:9ならAspect ratio: 16:9。
Requestには生成したい内容を書けばOKです。

デフォルトでプロンプトを拡張してくれるenable_prompt_upsamplingがオンになっています。
もしオフにするならプロンプトもラベルなしで、普通の自然言語にしてください。

結果:
RTX4060Ti(VRAM16GB/RAM64GB)、enable_prompt_upsamplingオフで約1分6秒でした。
・二次元(アニメ調)

Request: anime illustration of a girl with short silver hair and a navy school blazer sitting on the windowsill of an empty classroom at sunset, warm orange light streaming through the window, dust particles floating in the air, rows of wooden desks fading into soft shadow, cherry blossom petals drifting in from outside, gentle smile, looking out the window, clean line art, cel shading, vibrant colors, high detail
enable_prompt_upsamplingありだと約1分17秒でした。

・三次元(実写調)
enable_prompt_upsamplingなしで約1分。

Request: photograph of an elderly fisherman mending a net on a wooden pier at dawn, weathered face with deep wrinkles, knitted wool cap, calm misty harbor with small boats in the background, soft pink and blue morning light, shallow depth of field, shot on 85mm lens, natural skin texture, documentary style, high detail
enable_prompt_upsamplingありで約1分15秒。

なおenable_prompt_upsamplingを使用して、Aspect ratio、Requestのラベルなしで生成するとこんな感じになります。
どちらもsitting on the windowsill(窓辺に座る)が効いてないので、enable_prompt_upsamplingありでラベルなしの場合は、若干プロンプトの追従性が下がるのかも?しれません。


P-H3-Imageで画像編集
Modelsグループでモデルをセットします。

Text (Prompt)にどう編集したいかを入力します。
Resolution Selectorはないですが、t2iと同じくenable_prompt_upsamplingを使う場合はラベルを付けるようです。

Load Imageに編集したい画像を読み込みます。

アップサンプラーに画像を渡しているので、大きい画像だと処理が重くなります。
その場合は、Upsampler vision sizeのbypassを解除して、画像を縮小してからアップサンプラーに渡してみてください。

If/Else Switchでアップサンプラーのオン/オフを切り替えられます。

Generate Textでアップサンプラーの調整が可能です。
- max_length(1536):アップサンプラーが書く文章の長さの上限
- Sampling Mode(off):文章の書き方にランダム性を入れるかどうか
- off:毎回いちばん確率の高い言葉を選ぶので、同じ依頼なら毎回同じ文章
- Pruna AIの配布ページでも、offで使う前提と書かれている
- on:temperatureなどの項目が現れ、同じ依頼でも毎回少し違う文章になる
- thinking(true):アップサンプラーが文章を書く前に、依頼内容を考える段階を挟む
- use_default_template(true):モデルに最初から入っている指示文と入力の型を使うかどうか
- 「Aspect ratio・Requestを受けて画像用の文章を書く」という指示がここに入っている可能性があるため、falseにするとアップサンプラーが正しく動かないかもしれない
- mtp(auto):文章を書く処理を速くする仕組み
結果:
t2iで作った3360×2496の画像で、黒板の掲示に文字を入れるという指定をしてみました。
アップサンプラーオン、Upsampler vision sizeオフで約3分22秒。

アップサンプラーオフ、Upsampler vision sizeオフで約2分30秒。

アップサンプラーオン、Upsampler vision sizeオンで約37秒。

アップサンプラーオフ、Upsampler vision sizeオンで約40秒。

この結果見るとアップサンプラーより画像サイズが生成速度にかなり影響するようなので、大きい画像のときはUpsampler vision sizeを使った方が良さそうです。
その他いろいろな編集を試してみました。
全てアップサンプラーオン、Upsampler vision sizeオンです。
・別の人物を追加する

Request: add a boy in the same school uniform standing next to the girl by the window, talking to her
・表情だけ変える

Request: make the girl cry with tears on her cheeks, keep everything else the same
・ポーズを変える(背景はそのまま)

Request: make the girl stand up and lean against the window with her arms crossed, keep the background the same
・服装を変える

Request: change the girl’s school uniform to a white summer sailor uniform
・時間帯・天気を変える

Request: change the scene to a rainy night with the classroom lights on
複数参照画像を使った編集方法
Load Image増やしてGenerate Textとp-h3-image Conditioningそれぞれにつなげば複数参照画像を使って編集もできます。
それぞれ参照画像が大きい場合はUpsampler vision sizeを挟んでください。
またAIに聞くと、デフォルトのワークフローだとUpsampler vision sizeをp-h3-image Conditioningにつないでますが、p-h3-image Conditioningはノード内で縮小しているそうです。
なので生成速度への影響は小さく、Upsampler vision sizeはGenerate Textだけでもいいとのことでした。

また任意のサイズにしたい場合は、Get Image Sizeを削除して、p-h3-image Conditioningで直接指定も可能です。

プロンプトの書き方はアップサンプラーオンオフで変わります。
アップサンプラーを使わない場合は、MiniMax-H3のように<Picture 1>などでその画像を指定し、どう編集したいかを書きます。
The woman in <Picture 1> and the woman in <Picture 2> are holding hands and expressing joy, with <Picture 3> in the background.
<写真1>の女性と<写真2>の女性は手を取り合って喜びを表現しており、背景には<写真3>が写っている。これだとこんな結果になりました。

アップサンプラーありの場合、Pruna AI(モデルの配布元)の公式ワークフローだとこんな風に書いてました。
<|im_start|>user
<Picture 1>: <|vision_start|><|image_pad|><|vision_end|><Picture 2>: <|vision_start|><|image_pad|><|vision_end|><Picture 3>: <|vision_start|><|image_pad|><|vision_end|>Edit <Picture 1>. The woman in <Picture 1> and the woman in <Picture 2> are holding hands and expressing joy, with <Picture 3> in the background.<|im_end|>
<|im_start|>assistant
<think><|im_start|>userは固定でその後に画像枚数分<Picture N>: <|vision_start|><|image_pad|><|vision_end|>を入力します。
Edit以降が上の自然言語で書いた指示文です。
それを<|im_end|><|im_start|>assistant<think>で閉じてます。
正直これが正解なのか分かりませんが、アップサンプラーを使う場合はこういう書き方するみたいです。
サイズを1920×1080、アップサンプラーオンにして生成するとこんな感じでした。
髪飾りとかはアップサンプラー使った方が再現できてると思います。

まとめ
画像生成も編集もかなり扱いやすいと思います。
元々MiniMax-H3 R2Vの生成能力が良かったので、SNSでも画像編集に使えたらという声が多くいろんな方が試行錯誤してましたが、それが形になったようなモデルに感じました。
編集のプロンプトがちょっとまだ慣れないんですが、qwen image 2.1並みに使えるような印象です。
qwen image 2.1は未だにライセンスの変更・追加など進展が一切ないので、そういうの考えるとP-H3-Imageの方が扱いやすいように感じました。
以上P-H3-Imageの使い方について紹介しました。
参考になれば幸いです。

