Nodes/ComfyUI-MiniMax-H3-Studio/H3 Studio • Reference Edit
ComfyUI Node

H3 Studio • Reference Edit

Nine ordered references, compiled to H3's REF2VA path

By thaakeno·Created 17 days ago·Updated 5 days ago· 79
H3 Studio • Reference Edit
  • 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
edit_instruction
width1344
height768
quality_profilerecommended | 5 frames
source_fidelity0.75
source_fitcrop_center
reference_detailmatch_generation_area
optimize_for_stilltrue

Multi-reference editing is where H3 genuinely stands apart from the SD family. The REF2VA path conditions on up to nine ordered images, and in your prompt you address them directly as <Picture 1>, <Picture 2>, and so on - one image can be the identity, another the outfit, another the composition. H3StudioReferenceEditPrepare is the hand-wired node for exactly that: it encodes every ordered reference through the H3 video VAE and compiles your instruction into REF2VA conditioning.

The required set mirrors the I2I node but with a shift in meaning: clip, vae, source_image (the primary reference, addressed as <Picture 1>), edit_instruction, width/height, quality_profile, source_fidelity, source_fit, reference_detail, and optimize_for_still. Then reference_image_2 through reference_image_9 fill out the rest of the picture - each optional, each retaining its own aspect ratio before encoding, so mismatched dimensions are fine.

The knobs that actually do something

  • source_fidelity (0.75) - same rule as the I2I node: it steers the prompt's preservation language, it is not a denoise slider. Raised, the compiled prompt asks harder for identity/pose/geometry to survive.
  • reference_detail - match_generation_area (default) or max_identity_2048. The latter keeps more of the reference's source resolution before VAE encoding, which can preserve identity better but costs more memory and time. Worth switching on for the primary reference when faces matter.
  • quality_profile - 5 frames is the recommended speed/quality balance; the tooltip notes 20 frames gives REF2VA more temporal context and is much slower.
  • optimize_for_still - wraps the prompt with locked-camera still language and reference-preservation instructions.

The edit_instruction is where the craft lives, and the pack's prompting guide says it plainly: refer to inputs explicitly as <Picture 1>, <Picture 2>, and give each one a narrow job. "Keep identity and pose from <Picture 1>, transfer only the jacket from <Picture 2>" is the shape of a good instruction. Reference editing is semantic regeneration, not compositing - explicit ownership and retention language improves control but cannot guarantee exact geometry.

Outputs

positive, h3_latent, fitted_source, requested_frames, image_prompt, run_info - same shape as the I2I node, so swapping one for the other doesn't rewire your sampler section. image_prompt is worth reading after your first edit to see how your instruction got expanded into preservation language.

When to use it instead of the Director

The Director's reference cards are nicer for interactive work - roles, retention, thumbnails, @ImageN names. This node is the explicit equivalent for custom graphs: raw <Picture N> addressing, no cards. If you're building a reusable I2I/REF2VA workflow by hand, it's the more direct tool; if you're doing one-off reference edits, the Director saves you the wiring.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/thaakeno/ComfyUI-MiniMax-H3-Studio.git
cd ComfyUI-MiniMax-H3-Studio
python -m pip install -r requirements.txt

Restart and hard-refresh the frontend. No extra dependencies beyond the pack.

CategoryH3 Studio/Runtime

Inputs (19)

NameTypeDefaultDescription
clipCLIPMiniMax H3 Qwen text/vision encoder.
vaeVAEMiniMax H3 video VAE used to encode every ordered reference image.
source_imageIMAGEPrimary REF2VA reference, addressed as <Picture 1> in the prompt.
edit_instructionSTRINGDescribe the final image and refer to inputs explicitly as <Picture 1>, <Picture 2>, and so on.
widthINT134432–16384Generation canvas width; references retain their own aspect ratio before encoding.
heightINT76832–16384Generation canvas height; references retain their own aspect ratio before encoding.
quality_profileCOMBOrecommended | 5 frames5 frames is the recommended speed/quality balance. 20 frames gives REF2VA more temporal context and is much slower. The complete profile is available to Single Image Output.
source_fidelityFLOAT0.750–1Controls how strongly the still prompt asks H3 to preserve identity, pose, composition and geometry. This is NOT diffusion denoise strength and does not alter the sigma schedule.
source_fitCOMBOcrop_centerHow the primary source preview is fitted to the generation canvas.
reference_detailCOMBOmatch_generation_areaHow much source resolution each REF2VA reference keeps before VAE encoding. max_identity_2048 may preserve more identity detail at higher memory cost.
optimize_for_stillBOOLEANtrueAdds a locked-camera still-image prompt wrapper and reference-preservation language. Sampling settings are unchanged.
reference_image_2optIMAGEOptional <Picture 2> reference. Different dimensions are supported.
reference_image_3optIMAGEOptional <Picture 3> reference.
reference_image_4optIMAGEOptional <Picture 4> reference.
reference_image_5optIMAGEOptional <Picture 5> reference.
reference_image_6optIMAGEOptional <Picture 6> reference.
reference_image_7optIMAGEOptional <Picture 7> reference.
reference_image_8optIMAGEOptional <Picture 8> reference.
reference_image_9optIMAGEOptional <Picture 9> reference.

Outputs (6)

NameTypeDescription
positiveCONDITIONINGPositive REF2VA reference-edit conditioning for the sampler's positive input.
h3_latentLATENTPacked H3 audio/video latent prepared for reference-guided regeneration.
fitted_sourceIMAGEPrimary source fitted to the output canvas for preview and comparison.
requested_framesINTNumber of image frames that Exact Frame Decode should preserve and decode.
image_promptSTRINGFinal ordered-reference prompt after optional preservation optimization.
run_infoSTRINGReference count, temporal packet, checkpoint expectations and recommended selection strategy.