MiniMax H3 Reference Image Edit (EXP/T8)
Tell it what to change, not which pixels
- clip
- video_vae
- edit_image
- ref_images
- positive
- av_latent
- conditioned_prompt
- media_map_json
- report_json
H3's reference-image path (Ref2VA) is a semantic editor, not a pixel editor. You hand it a picture and describe the change - "make it sunset, keep the same building, add rain" - and it regenerates the image from that understanding. No mask, no inpaint seam, no "paint over this region" workflow. MiniMaxH3StillConditioningT8 is the node that builds the conditioning and latent for exactly that: it presents your source image to Ref2VA as <Picture 1>, encodes everything, and hands back positive conditioning plus an av_latent ready for an H3 sampler. The node description is blunt about the philosophy: "Picture 1 is the primary edit source; this is not mask-based pixel editing."
How it works
Wire in the essentials - clip (native H3 Qwen3-VL), video_vae, your prompt, and the edit_image you want to change. The node handles the Ref2VA bookkeeping: <Picture 1> becomes the primary edit source, and the optional ref_images autogrow lets you add up to 8 more images for multi-image semantic composition (each becomes another <Picture N>). Outputs: positive (conditioning → sampler), av_latent (the encoded edit canvas → sampler), conditioned_prompt (see exactly what H3 was told), media_map_json, and report_json.
The knobs that matter:
canvas_mode-from_edit_image(default) sizes the canvas to your source;customuses thewidth/heightyou type (1344×768 default).target_mode- how much video you want out of the edit:direct_1_frame(cheapest, most experimental),micro_video_5_frames,short_video_22_frames, ortrained_124_frames. The tooltip is your honesty guide: 1-frame is cheapest and most experimental; 124 is the trained-range baseline. If you just want an edited image, 1 frame.reference_strength(0.999) - how hard to hold the reference latents. 1 keeps them clean; lower values add seeded reference noise, which loosens the edit but also loosens fidelity to the source.audio_target-generate_and_discard(default) orlock_silence. H3 is joint AV, so even a still edit goes through the audio path; the default generates and throws away audio, which is fine for image editing and a good reminder that you're running a full AV model for what used to be a 2-second image job.
Where it fits (and where it doesn't)
H3 Ref2VA edits are about understanding the scene - "put this character in a medieval market" - not surgical retouching. If you need to fix one blemish or replace one object precisely, a mask-based inpaint or the pack's dedicated repair tools are the better tool; this node will happily reinterpret the whole frame. The other honest caveat: this is a 33B model editing through joint-AV conditioning, so a "1-frame image edit" still costs real GPU minutes and real VRAM. It's an image edit priced like video, and worth it exactly when the semantic leap is what you wanted.
Installing
Standard pack install: ComfyUI Manager → "MiniMax H3 Audio T8", or git clone https://github.com/T8mars/comfyui-minimax-h3-audio-T8 into custom_nodes, restart. No pip deps; you supply the H3 weights (33B diffusion model + Qwen3-VL CLIP + video VAE, at minimum), and remember the H3 community licence restricts those weights in the US, EU, UK and South Korea. Expect the same prompt-tag strictness as the rest of the pack - if strict_prompt_tags is on (it is), your prompt's <Picture 1> reference must actually match the connected edit_image, and the error message will say so.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| clip | CLIP | Native MiniMax H3 Qwen3-VL CLIP. | |
| video_vae | VAE | MiniMax H3 video VAE. | |
| prompt | STRING | — | |
| canvas_mode | COMBO | from_edit_image | 2 options: from_edit_image, custom |
| width | INT | 134432–16384 | — |
| height | INT | 76832–16384 | — |
| target_mode | COMBO | direct_1_frame | 1-frame is cheapest and most experimental; 22-frame is the next native 17n+5 grid point; 124-frame is the approximate trained-range baseline. |
| reference_strength | FLOAT | 0.9990–1 | 1 keeps reference latents clean; lower values add seeded reference noise. |
| audio_target | COMBO | generate_and_discard | 2 options: generate_and_discard, lock_silence |
| strict_prompt_tags | BOOLEAN | true | — |
| ref_image_size | COMBO | match | 2 options: match, max |
| edit_image | IMAGE | Primary source image, presented to Ref2VA as <Picture 1>. | |
| ref_imagesopt | COMFY_AUTOGROW_V3 | — |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| positive | CONDITIONING | — |
| av_latent | LATENT | — |
| conditioned_prompt | STRING | — |
| media_map_json | STRING | — |
| report_json | STRING | — |