Nodes/ComfyUI-Apt_Preset/AD_MinMax_Ref2_generate
ComfyUI Node

AD_MinMax_Ref2_generate

H3 video from up to 64 references — the node for identity you can't afford to lose

By cardenluo·Created 2 years ago·Updated a day ago· 324
AD_MinMax_Ref2_generate
  • context
  • model
  • media
  • media_1
  • media_2
  • media_3
  • media_4
  • media_5
  • media_6
  • media_7
  • media_8
  • media_9
  • media_10
  • media_11
  • media_12
  • media_13
  • media_14
  • media_15
  • media_16
  • media_17
  • media_18
  • media_19
  • media_20
  • media_21
  • media_22
  • media_23
  • media_24
  • media_25
  • media_26
  • media_27
  • media_28
  • media_29
  • media_30
  • media_31
  • media_32
  • media_33
  • media_34
  • media_35
  • media_36
  • media_37
  • media_38
  • media_39
  • media_40
  • media_41
  • media_42
  • media_43
  • media_44
  • media_45
  • media_46
  • media_47
  • media_48
  • media_49
  • media_50
  • media_51
  • media_52
  • media_53
  • media_54
  • media_55
  • media_56
  • media_57
  • media_58
  • media_59
  • media_60
  • media_61
  • media_62
  • media_63
  • media_64
  • stage_info
  • stage_data
  • denoise_latent1
  • segment_video
  • merged_video
  • text
prompt
width512
height768
length124
ref_image_sizematch
seed0
stage_prompts[]
single_long_video_splitfalse
single_long_audio_splitfalse
second_pass_modeNone
refine_modelNone
refine_denoise0.30
refine_steps8
latent_model(place MiniMax H3 3D models in models/latent_upscale_models)
latent_scale1.30
split_step4
fps24
media_type_1
media_type_2
media_type_3
media_type_4
media_type_5
media_type_6
media_type_7
media_type_8
media_type_9
media_type_10
media_type_11
media_type_12
media_type_13
media_type_14
media_type_15
media_type_16
media_type_17
media_type_18
media_type_19
media_type_20
media_type_21
media_type_22
media_type_23
media_type_24
media_type_25
media_type_26
media_type_27
media_type_28
media_type_29
media_type_30
media_type_31
media_type_32
media_type_33
media_type_34
media_type_35
media_type_36
media_type_37
media_type_38
media_type_39
media_type_40
media_type_41
media_type_42
media_type_43
media_type_44
media_type_45
media_type_46
media_type_47
media_type_48
media_type_49
media_type_50
media_type_51
media_type_52
media_type_53
media_type_54
media_type_55
media_type_56
media_type_57
media_type_58
media_type_59
media_type_60
media_type_61
media_type_62
media_type_63
media_type_64
stage_text_1
stage_text_2
stage_text_3
stage_text_4
stage_text_5
stage_text_6
stage_text_7
stage_text_8
stage_text_9
stage_text_10
stage_text_11
stage_text_12
stage_text_13
stage_text_14
stage_text_15
stage_text_16
stage_text_17
stage_text_18
stage_text_19
stage_text_20
stage_text_21
stage_text_22
stage_text_23
stage_text_24
stage_text_25
stage_text_26
stage_text_27
stage_text_28
stage_text_29
stage_text_30
stage_text_31
stage_text_32
stage_text_33
stage_text_34
stage_text_35
stage_text_36
stage_text_37
stage_text_38
stage_text_39
stage_text_40
stage_text_41
stage_text_42
stage_text_43
stage_text_44
stage_text_45
stage_text_46
stage_text_47
stage_text_48
stage_text_49
stage_text_50
stage_text_51
stage_text_52
stage_text_53
stage_text_54
stage_text_55
stage_text_56
stage_text_57
stage_text_58
stage_text_59
stage_text_60
stage_text_61
stage_text_62
stage_text_63
stage_text_64

The FL2 generate node is great at one specific trick: anchor the start and end frame. AD_MinMax_Ref2_generate is the one you grab when "start and end" isn't enough - it's the Ref2VA sampler, meaning the whole video can lean on reference media, and the node gives you up to 64 reference slots to prove it. It's the same staged, self-merging pipeline as FL2, but the conditioning model is different: instead of a first/last image pair, you feed it images, videos, even audio, and H3 treats them as the thing the target clip should conform to. This is your character-consistency and video-to-video workhorse.

How it works

Same stage mechanics: stage_prompts is a JSON list, one prompt per stage; length snaps to the 17k+5 grid (124 ≈ 5s at 24 fps, per the author's own tooltip); and when the last stage fires you get merged_video out. The references come in through media plus media_1…64, each with a matching media_type_N string that tells the node what it's looking at. Unlike FL2, this node's media ports accept IMAGE, VIDEO, AUDIO, and LATENT - audio references are genuinely useful here because H3 generates native synchronized audio.

Two inputs are worth calling out before anything else:

  • ref_image_size - match scales references to your canvas area (fast, good enough for most shots); max aligns to a 2048 short edge for better identity but slower. When the whole point of your shot is a recognizable face, max is usually the difference between "close enough" and "that's her."
  • single_long_video_split / single_long_audio_split - for the long-reference workflow. Flip one on, feed a single long video (or audio) in, and the node splits it by stage; its embedded audio drives H3 during generation, while the final merge reuses the original continuous soundtrack. That's how you do a whole-scene remake with one source clip instead of juggling dozens of slices.

Then the standard second-pass trio (second_pass_mode → None/refine/latent_scale, with refine_model/refine_denoise/refine_steps or latent_model/latent_scale/split_step), which works exactly like the FL2 node.

Outputs and wiring

denoise_latent1 (current stage latent), segment_video (this stage's clip), merged_video (all stages, stitched on the last run), text. Decode merged_video at the end and you're done - that's the whole pipeline.

Install and the practical gotchas

Install via ComfyUI Manager (search "ComfyUI-Apt_Preset") or clone + install.bat. You need the MiniMax H3 weights and a ComfyUI build with H3 support; without it you'll get a "does not provide MiniMax H3 support" runtime error, which is a ComfyUI-version problem, not yours. The latent_scale path additionally wants the H3 3D upscaler in ComfyUI/models/latent_upscale_models - the dropdown placeholder shows you the path. And the standing H3 caveat: the open weights' community license excludes the US, EU, UK and South Korea, so check your region before building a workflow around this node.

CategoryApt_Preset/AD

Inputs (214)

NameTypeDefaultDescription
promptSTRING
widthINT51232–4096
heightINT76832–4096
lengthINT1245–3600帧数(24 fps),自动 snap 到 17k+5 网格(124 ≈ 5s)
ref_image_sizeCOMBOmatch'match' 缩放到画布面积;'max' 对齐 2048 短边(身份更好但更慢)
seedINT00–18446744073709550000
stage_promptsSTRING[]
single_long_video_splitBOOLEANfalseSplit one referenced long video by stage. Its embedded audio drives H3; the final merge uses the original continuous soundtrack.
single_long_audio_splitBOOLEANfalseSplit one referenced long audio clip by stage and lock it into H3; the final merge uses the original continuous audio.
second_pass_modeCOMBONoneSelect one mutually exclusive second-pass workflow.
refine_modelCOMBONoneOptional image upscaler before the second pass. None resamples the first-pass latent directly. Use None or a 1x model for multi-stage latent continuity.
refine_denoiseFLOAT0.300–1Denoise strength for the second sampling pass.
refine_stepsINT81–10000Number of steps for the second sampling pass.
latent_modelCOMBO(place MiniMax H3 3D models in models/latent_upscale_models)1 options: (place MiniMax H3 3D models in models/latent_upscale_models)
latent_scaleFLOAT1.301–4MiniMax H3 latent upscale multiplier between the two sigma ranges.
split_stepINT40–10000SplitSigmas step: high sigmas run before latent scaling and low sigmas run after it.
contextoptRUN_CONTEXT
modeloptMODEL
fpsoptFLOAT241–120
mediaoptIMAGE,VIDEO,AUDIO,LATENT,STRING
media_1optIMAGE,VIDEO,AUDIO,LATENT
media_type_1optSTRING
media_2optIMAGE,VIDEO,AUDIO,LATENT
media_type_2optSTRING
media_3optIMAGE,VIDEO,AUDIO,LATENT
media_type_3optSTRING
media_4optIMAGE,VIDEO,AUDIO,LATENT
media_type_4optSTRING
media_5optIMAGE,VIDEO,AUDIO,LATENT
media_type_5optSTRING
media_6optIMAGE,VIDEO,AUDIO,LATENT
media_type_6optSTRING
media_7optIMAGE,VIDEO,AUDIO,LATENT
media_type_7optSTRING
media_8optIMAGE,VIDEO,AUDIO,LATENT
media_type_8optSTRING
media_9optIMAGE,VIDEO,AUDIO,LATENT
media_type_9optSTRING
media_10optIMAGE,VIDEO,AUDIO,LATENT
media_type_10optSTRING
media_11optIMAGE,VIDEO,AUDIO,LATENT
media_type_11optSTRING
media_12optIMAGE,VIDEO,AUDIO,LATENT
media_type_12optSTRING
media_13optIMAGE,VIDEO,AUDIO,LATENT
media_type_13optSTRING
media_14optIMAGE,VIDEO,AUDIO,LATENT
media_type_14optSTRING
media_15optIMAGE,VIDEO,AUDIO,LATENT
media_type_15optSTRING
media_16optIMAGE,VIDEO,AUDIO,LATENT
media_type_16optSTRING
media_17optIMAGE,VIDEO,AUDIO,LATENT
media_type_17optSTRING
media_18optIMAGE,VIDEO,AUDIO,LATENT
media_type_18optSTRING
media_19optIMAGE,VIDEO,AUDIO,LATENT
media_type_19optSTRING
media_20optIMAGE,VIDEO,AUDIO,LATENT
media_type_20optSTRING
media_21optIMAGE,VIDEO,AUDIO,LATENT
media_type_21optSTRING
media_22optIMAGE,VIDEO,AUDIO,LATENT
media_type_22optSTRING
media_23optIMAGE,VIDEO,AUDIO,LATENT
media_type_23optSTRING
media_24optIMAGE,VIDEO,AUDIO,LATENT
media_type_24optSTRING
media_25optIMAGE,VIDEO,AUDIO,LATENT
media_type_25optSTRING
media_26optIMAGE,VIDEO,AUDIO,LATENT
media_type_26optSTRING
media_27optIMAGE,VIDEO,AUDIO,LATENT
media_type_27optSTRING
media_28optIMAGE,VIDEO,AUDIO,LATENT
media_type_28optSTRING
media_29optIMAGE,VIDEO,AUDIO,LATENT
media_type_29optSTRING
media_30optIMAGE,VIDEO,AUDIO,LATENT
media_type_30optSTRING
media_31optIMAGE,VIDEO,AUDIO,LATENT
media_type_31optSTRING
media_32optIMAGE,VIDEO,AUDIO,LATENT
media_type_32optSTRING
media_33optIMAGE,VIDEO,AUDIO,LATENT
media_type_33optSTRING
media_34optIMAGE,VIDEO,AUDIO,LATENT
media_type_34optSTRING
media_35optIMAGE,VIDEO,AUDIO,LATENT
media_type_35optSTRING
media_36optIMAGE,VIDEO,AUDIO,LATENT
media_type_36optSTRING
media_37optIMAGE,VIDEO,AUDIO,LATENT
media_type_37optSTRING
media_38optIMAGE,VIDEO,AUDIO,LATENT
media_type_38optSTRING
media_39optIMAGE,VIDEO,AUDIO,LATENT
media_type_39optSTRING
media_40optIMAGE,VIDEO,AUDIO,LATENT
media_type_40optSTRING
media_41optIMAGE,VIDEO,AUDIO,LATENT
media_type_41optSTRING
media_42optIMAGE,VIDEO,AUDIO,LATENT
media_type_42optSTRING
media_43optIMAGE,VIDEO,AUDIO,LATENT
media_type_43optSTRING
media_44optIMAGE,VIDEO,AUDIO,LATENT
media_type_44optSTRING
media_45optIMAGE,VIDEO,AUDIO,LATENT
media_type_45optSTRING
media_46optIMAGE,VIDEO,AUDIO,LATENT
media_type_46optSTRING
media_47optIMAGE,VIDEO,AUDIO,LATENT
media_type_47optSTRING
media_48optIMAGE,VIDEO,AUDIO,LATENT
media_type_48optSTRING
media_49optIMAGE,VIDEO,AUDIO,LATENT
media_type_49optSTRING
media_50optIMAGE,VIDEO,AUDIO,LATENT
media_type_50optSTRING
media_51optIMAGE,VIDEO,AUDIO,LATENT
media_type_51optSTRING
media_52optIMAGE,VIDEO,AUDIO,LATENT
media_type_52optSTRING
media_53optIMAGE,VIDEO,AUDIO,LATENT
media_type_53optSTRING
media_54optIMAGE,VIDEO,AUDIO,LATENT
media_type_54optSTRING
media_55optIMAGE,VIDEO,AUDIO,LATENT
media_type_55optSTRING
media_56optIMAGE,VIDEO,AUDIO,LATENT
media_type_56optSTRING
media_57optIMAGE,VIDEO,AUDIO,LATENT
media_type_57optSTRING
media_58optIMAGE,VIDEO,AUDIO,LATENT
media_type_58optSTRING
media_59optIMAGE,VIDEO,AUDIO,LATENT
media_type_59optSTRING
media_60optIMAGE,VIDEO,AUDIO,LATENT
media_type_60optSTRING
media_61optIMAGE,VIDEO,AUDIO,LATENT
media_type_61optSTRING
media_62optIMAGE,VIDEO,AUDIO,LATENT
media_type_62optSTRING
media_63optIMAGE,VIDEO,AUDIO,LATENT
media_type_63optSTRING
media_64optIMAGE,VIDEO,AUDIO,LATENT
media_type_64optSTRING
stage_infooptFLOW_STAGE_INFO
stage_dataoptIMAGE,VIDEO,AUDIO,LATENT
stage_text_1optSTRING
stage_text_2optSTRING
stage_text_3optSTRING
stage_text_4optSTRING
stage_text_5optSTRING
stage_text_6optSTRING
stage_text_7optSTRING
stage_text_8optSTRING
stage_text_9optSTRING
stage_text_10optSTRING
stage_text_11optSTRING
stage_text_12optSTRING
stage_text_13optSTRING
stage_text_14optSTRING
stage_text_15optSTRING
stage_text_16optSTRING
stage_text_17optSTRING
stage_text_18optSTRING
stage_text_19optSTRING
stage_text_20optSTRING
stage_text_21optSTRING
stage_text_22optSTRING
stage_text_23optSTRING
stage_text_24optSTRING
stage_text_25optSTRING
stage_text_26optSTRING
stage_text_27optSTRING
stage_text_28optSTRING
stage_text_29optSTRING
stage_text_30optSTRING
stage_text_31optSTRING
stage_text_32optSTRING
stage_text_33optSTRING
stage_text_34optSTRING
stage_text_35optSTRING
stage_text_36optSTRING
stage_text_37optSTRING
stage_text_38optSTRING
stage_text_39optSTRING
stage_text_40optSTRING
stage_text_41optSTRING
stage_text_42optSTRING
stage_text_43optSTRING
stage_text_44optSTRING
stage_text_45optSTRING
stage_text_46optSTRING
stage_text_47optSTRING
stage_text_48optSTRING
stage_text_49optSTRING
stage_text_50optSTRING
stage_text_51optSTRING
stage_text_52optSTRING
stage_text_53optSTRING
stage_text_54optSTRING
stage_text_55optSTRING
stage_text_56optSTRING
stage_text_57optSTRING
stage_text_58optSTRING
stage_text_59optSTRING
stage_text_60optSTRING
stage_text_61optSTRING
stage_text_62optSTRING
stage_text_63optSTRING
stage_text_64optSTRING

Outputs (4)

NameTypeDescription
denoise_latent1LATENT
segment_videoVIDEO
merged_videoVIDEO
textSTRING