MiniMax H3 Image • Reference Edit
Edit H3 with up to nine reference pictures
- clip
- vae
- source_image
- reference_image_2
- reference_image_3
- reference_image_4
- reference_image_5
- reference_image_6
- reference_image_7
- reference_image_8
- reference_image_9
- positive
- h3_latent
- fitted_source
- requested_frames
- image_prompt
- run_info
H3ReferenceEditPrepare - "MiniMax H3 Image • Reference Edit" - is the flagship of this pack, and it's the node that makes H3 feel like a proper image editor instead of a video model in disguise. The idea is REF2VA: you feed H3 an ordered stack of pictures, tell it who's responsible for what, and it rebuilds the image from those references. "Keep the identity, face, and environment from this one, take the pose from that one" - that's the whole workflow.
Ordered references, by number
The ordering matters, and the node enforces it cleanly. source_image is <Picture 1>. The optional reference_image_2 through reference_image_9 sockets are <Picture 2> through <Picture 9>. Each socket represents exactly one picture - if an upstream node sends an IMAGE batch, only its first image is used, so the <Picture N> numbering stays stable even when you're wiring from a batch source. Then in edit_instruction you refer to them by number:
Keep the identity, face, hair, clothing, camera, and environment from <Picture 1>.
Use the body pose and limb positions from <Picture 2>. The final pose must visibly match <Picture 2>.
That prompt template isn't a suggestion - the pack's prompt optimization reads explicit <Picture N> assignments and gives them priority. source_fidelity (default 0.6) only adjusts the preservation wording for Picture 1 traits the instruction doesn't mention. It is not denoise strength and doesn't touch the sigma schedule. For big pose, framing, or composition transfers, the README suggests starting around 0.50–0.60; higher values favor an unchanged Picture 1.
Inputs that matter
Other inputs worth knowing: quality_profile (one frame removes temporal competition and is recommended with the experimental H3 image VAE; use 5+ frames with the standard video VAE), reference_detail (max_identity_2048 is the default - each reference keeps more of its own resolution before encoding, at higher memory cost; match_generation_area is faster), source_fit for the preview canvas, and optimize_for_still to wrap the instruction in a locked-camera, reference-preserving prompt.
Outputs are the standard prepare-node set: positive conditioning for the sampler, h3_latent (the packed audio/video latent prepared for reference-guided regeneration), fitted_source preview, requested_frames for Exact Frame Decode, image_prompt (the final ordered-reference prompt), and run_info (reference count, packet, checkpoint expectations). Then the pipeline continues the usual way: sample, decode, select a frame.
Tuning notes from the changelog
Two behavior notes from the changelog that explain how this node has been tuned. Earlier versions broadly froze pose, composition, and geometry in the preservation wording, which made pose transfers fail - current versions assign explicit roles and let unmentioned traits float. And in direct pose-transfer testing, a community detail adapter at full strength over-preserved Picture 1 and suppressed the requested pose; the bundled workflows set it to 0.5. If a pose transfer isn't landing, that's the first knob to check, not source_fidelity.
One more thing: state the role of every connected picture explicitly. The node optimizes wording, but it can't guess what a connected socket is supposed to contribute, and an unmentioned reference is a coin flip.
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+ and the H3 models - note that REF2VA wants a REF2VA-capable checkpoint, and each reference you connect costs encoding time and memory.
Inputs (19)
| Name | Type | Default | Description |
|---|---|---|---|
| clip | CLIP | MiniMax H3 Qwen text/vision encoder. | |
| vae | VAE | MiniMax H3 video VAE, or the experimental H3 image VAE for the one-frame profile. | |
| source_image | IMAGE | Primary REF2VA reference, addressed as <Picture 1> in the prompt. | |
| edit_instruction | STRING | Describe the final image and refer to inputs explicitly as <Picture 1>, <Picture 2>, and so on. | |
| width | INT | 134432–16384 | Generation canvas width; references retain their own aspect ratio before encoding. |
| height | INT | 76832–16384 | Generation canvas height; references retain their own aspect ratio before encoding. |
| quality_profile | COMBO | recommended | 5 frames | One frame removes temporal competition and is recommended with the experimental H3 image VAE. Use 5 or more frames with the standard H3 video VAE. |
| source_fidelity | FLOAT | 0.600–1 | Controls preservation wording for unmentioned Picture 1 traits. Explicit target instructions always take priority. This is NOT diffusion denoise strength and does not alter the sigma schedule. |
| source_fit | COMBO | crop_center | How the primary source preview is fitted to the generation canvas. |
| reference_detail | COMBO | max_identity_2048 | How much source resolution each REF2VA reference keeps before VAE encoding. max_identity_2048 may preserve more identity detail at higher memory cost. |
| optimize_for_still | BOOLEAN | true | Adds a locked-camera still-image prompt wrapper and reference-preservation language. Sampling settings are unchanged. |
| reference_image_2opt | IMAGE | Optional <Picture 2> reference. Different dimensions are supported. | |
| reference_image_3opt | IMAGE | Optional <Picture 3> reference. | |
| reference_image_4opt | IMAGE | Optional <Picture 4> reference. | |
| reference_image_5opt | IMAGE | Optional <Picture 5> reference. | |
| reference_image_6opt | IMAGE | Optional <Picture 6> reference. | |
| reference_image_7opt | IMAGE | Optional <Picture 7> reference. | |
| reference_image_8opt | IMAGE | Optional <Picture 8> reference. | |
| reference_image_9opt | IMAGE | Optional <Picture 9> reference. |
Outputs (6)
| Name | Type | Description |
|---|---|---|
| positive | CONDITIONING | Positive REF2VA reference-edit conditioning for the sampler's positive input. |
| h3_latent | LATENT | Packed H3 audio/video latent prepared for reference-guided regeneration. |
| fitted_source | IMAGE | Primary source fitted to the output canvas for preview and comparison. |
| requested_frames | INT | Number of image frames that Exact Frame Decode should preserve and decode. |
| image_prompt | STRING | Final ordered-reference prompt after optional preservation optimization. |
| run_info | STRING | Reference count, temporal packet, checkpoint expectations and recommended selection strategy. |