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 5 days ago· 348
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_data1
  • stage_data
  • context
  • segment_video
  • merged_video
  • text
◄prompt►
◄width512►
◄height768►
◄single_stage_time5.0►
◄ref_image_sizematch►
◄fps24►
◄motion_contextguide_22►
◄reference_media_modedefault►
◄one_pass_sampletrue►
◄seed0►
◄stage_prompts[]►
◄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►
◄sampling_profileNone►
◄VAE_TILEdefault►
◄latent_sample_tileNone:不分块►

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/😺backup

Inputs (147)

NameTypeDefaultDescription
promptSTRING—
widthINT51232–4096—
heightINT76832–4096—
single_stage_timeFLOAT5.00.1–15当前分段时长(秒),支持一位小数
ref_image_sizeCOMBOmatch'match' 自动将参考图和参考视频限制到目标画布面积;'max' 保留官方高分辨率参考策略(细节更多但更慢、更占内存)
fpsFLOAT241–120仅用于视频创建输出
motion_contextCOMBOguide_22续接方案:Guide22/39帧使用条件引导;native soft 39使用动态重绘并保持AV网格精确对齐。
reference_media_modeCOMBOdefaultdefault: 默认使用提示词驱动,音频仅参考
one_pass_sampleBOOLEANtrue执行一次采样。关闭时,不进行采样。
seedINT00–18446744073709550000—
stage_promptsSTRING[]—
contextoptRUN_CONTEXT—
modeloptMODEL—
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_info_data1optFLOW_STAGE_INFO—
stage_dataoptIMAGE,VIDEO,AUDIO,LATENT—
sampling_profileoptCOMBONone模型内部QKV/MLP 分块:token分块+层内算子分块
VAE_TILEoptCOMBOdefault只解决VAE 编码、解码阶段的爆显存,不解决主要采样显存
latent_sample_tileoptCOMBONone:不分块采样画面分块:2|128 建议配置,2表示分块数量,128表示重叠数量。分块越小,重叠越小,采样速度越快。

Outputs (4)

NameTypeDescription
contextRUN_CONTEXT—
segment_videoVIDEO—
merged_videoVIDEO—
textSTRING—