MiniMax H3 Image • Text to Image
The smallest prepare node, and the pipeline it feeds
- clip
- positive
- h3_latent
- requested_frames
- image_prompt
- run_info
This is the node most people's H3 image journey starts with, because it's the plain one. H3TextToImagePrepare - "MiniMax H3 Image • Text to Image" - takes a prompt and returns everything the sampler needs to generate a still from text. No source image, no references, no edit instructions. If you want to see whether H3 image generation is worth your time, this is the on-ramp.
The five inputs
Only five required inputs, which makes it the friendliest prepare node in the pack: clip (the MiniMax H3 Qwen text/vision encoder), prompt, width/height (rounded to H3's 32-pixel grid - the tooltip suggests connecting a resolution node for safer presets), and quality_profile. The profile is where the temporal packet gets chosen: recommended | 5 frames is the normal FL2VA profile and the default; single image | 1 frame (image VAE) needs the experimental H3 image VAE; extended | 9, high | 13, and maximum | 20 add temporal context at sharply rising memory and runtime cost. Twenty frames is slow - the tooltip doesn't mince words about it - and it buys context, not fidelity.
The mechanism is FL2VA text conditioning: the node encodes your prompt through the Qwen text/vision encoder, builds an empty packed H3 audio/video latent containing the requested frame packet, and hands both to the sampler. optimize_for_still (default on) wraps your prompt in a locked-camera still-image wrapper - and here's a genuinely nice property: it does not change frames, resolution, steps, sampler, or model weights. It's a pure prompt transformation, so you can flip it off and diff the image_prompt output to see exactly what wording got added.
Outputs: positive (conditioning for the sampler's positive input), h3_latent (sample it, then decode), requested_frames (feed it to Exact Frame Decode so it knows how many to keep), image_prompt (the final optimized prompt), and run_info (temporal packet, canvas, checkpoint expectations, recommended output strategy).
The full pipeline
The full pipeline, so you can see where this fits: Text to Image → Sampling Preset → sampler → Exact Frame Decode → Single Image Output. The prepare node feeds conditioning and the latent; the sampling preset feeds sampler and sigmas; the decoder turns the latent back into a frame batch; the selector keeps the recommended still. It's more nodes than a plain KSampler workflow, but that's the price of H3 being a video model - and the pack makes each step explicit rather than hidden.
Practical notes
Practical notes: wire width/height from an H3ImageResolutionPreset (set to native detail | 0.98 MP) rather than hand-typing dimensions - the grid rounding is handled for you. And keep the video VAE loaded for the default 5-frame profile; the experimental image VAE is strictly for the one-frame path. If you see a "profile not in the list" error, your node definitions are stale: update the pack and do a full ComfyUI restart.
Install
Install is the pack: ComfyUI Manager (search MiniMax H3 Image Studio) or git clone https://github.com/astropuzzo/ComfyUI-MiniMax-H3-Image-Studio.git into custom_nodes, then restart. Requires ComfyUI 0.30.0+ plus the H3 models from the official ComfyUI MiniMax H3 guide - the pruned INT8 ConvRot diffusion model, the Qwen text encoder, and the video VAE.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| clip | CLIP | MiniMax H3 Qwen text/vision encoder. | |
| prompt | STRING | Describe the final still image, including subject, composition, lighting and style. | |
| width | INT | 134432–16384 | Output canvas width. Connect an H3 Image Resolution node for safer presets. |
| height | INT | 76832–16384 | Output canvas height. Connect an H3 Image Resolution node for safer presets. |
| quality_profile | COMBO | recommended | 5 frames | 5 frames is the normal FL2VA profile. The one-frame profile needs the experimental H3 image VAE; 20 frames adds temporal context at much higher cost. |
| optimize_for_still | BOOLEAN | true | Adds a locked-camera still-image prompt wrapper. It does not change frames, resolution, steps, sampler, or model weights. |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| positive | CONDITIONING | Positive FL2VA text-to-image conditioning for the sampler's positive input. |
| h3_latent | LATENT | Packed H3 audio/video latent containing the requested temporal image packet. |
| requested_frames | INT | Number of image frames that Exact Frame Decode should preserve and decode. |
| image_prompt | STRING | Final still-image prompt after optional optimization. |
| run_info | STRING | Temporal packet, canvas, checkpoint expectations and recommended output strategy. |