Nodes/ComfyUI-Apt_Preset/AD_MinMax_FL2_generate弃用
ComfyUI Node

AD_MinMax_FL2_generate弃用

The H3 video sampler that splits your scene into stages and stitches it back together

By cardenluo·Created 2 years ago·Updated 4 days ago· 345
AD_MinMax_FL2_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►
◄length124►
◄fps24►
◄motion_context39►
◄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►
◄continuation_methodguide►
◄sampling_profileauto►

If you've ever tried to make a longer MiniMax H3 video by chaining clips, you know the pain: each segment drifts, the seams show, and by segment four the thing has forgotten what it was doing. AD_MinMax_FL2_generate is this pack's answer - a H3 (Hailuo) sampler designed around the pack's "flow stage" system, where a long scene is split into N stages, each stage gets its own prompt, and the node generates every segment and merges them into one continuous video. The FL2 part is the conditioning trick: "first/last" reference images, so Picture 1 anchors the 0:00 mark and Picture 2 pins the final frame. That's how you keep a character and a scene stable across segments instead of letting each one reinvent itself.

How it works

It's a "queue-stage FL2VA sampler." It reads the stage_info socket that comes from flow_stage_begin, figures out which segment of the run it's on, samples that segment, and only when the last stage fires does it produce the merged output. Your per-stage prompts go in as a JSON list in stage_prompts (["shot one...", "shot two..."]). Frame count matters: length gets snapped up to the H3 grid of 17k+5, so 124 frames ≈ 5 seconds at the default 24 fps. Don't fight the snap - just treat 124 as "about 5s" and adjust up.

The second pass is where this node earns its keep. second_pass_mode gives you three mutually exclusive options:

  • None - single pass, fastest, usually enough for drafts.
  • refine - a low-denoise second sampling pass (refine_denoise 0.3, refine_steps 8 by default) to clean up the image. The tooltip on refine_model is the important bit: leave it on None, because "None or a 1x model" is what preserves latent continuity across stages.
  • latent_scale - upscale between two sigma ranges. split_step is the SplitSigmas point: high-sigma steps run before the latent scaling, low-sigma steps after, and latent_scale (default 1.3) is the multiplier. This needs the MiniMax H3 3D upscaler, selected in latent_model.

Inputs and outputs that matter

You'll actually set prompt, width/height (512×768 default), length, seed, and stage_prompts. Everything else has sane defaults. Optional inputs worth knowing: context (the pack's RUN_CONTEXT bus - if you use the loader/controller stack, wire it), model to override the sampler's model, and the media/media_1…64 inputs. FL2 mode is strict about media: at most two ordered images (first frame + last frame) and one context latent - video or audio references will error.

Outputs: denoise_latent1 (this stage's LATENT - decode it to see where you are), segment_video (the current stage's clip), merged_video (the full stitched run, populated on the last stage), and text.

Install and the gotchas

Install the pack (ComfyUI Manager, search "ComfyUI-Apt_Preset", or git clone https://github.com/cardenluo/ComfyUI-Apt_Preset into custom_nodes), then run install.bat and restart ComfyUI. You also need MiniMax H3's weights on the machine plus a ComfyUI build that includes H3 support - if you hit the error "This ComfyUI build does not provide MiniMax H3 support," that's your ComfyUI being too old, not the node.

The big one people forget: the MiniMax H3 Community License geofences the weights out of the US, EU, UK and South Korea - running local H3 in those regions isn't licensed, full stop. And the latent_scale path silently needs the minimax_h3_latent_upscaler_3d models in ComfyUI/models/latent_upscale_models; the dropdown placeholder literally tells you where to put them.

CategoryApt_Preset/AD/😺backup

Inputs (144)

NameTypeDefaultDescription
promptSTRING—
widthINT51232–4096—
heightINT76832–4096—
lengthINT1245–3600—
fpsFLOAT241–120仅用于视频创建输出
motion_contextCOMBO39Native Masked AV 使用39帧;旧guide方式可使用22或39帧。
one_pass_sampleBOOLEANtrueSample the prepared first-pass context. Disable to output context without sampling.
seedINT00–18446744073709550000—
stage_promptsSTRING[]—
contextoptRUN_CONTEXT—
modeloptMODEL—
mediaoptIMAGE,LATENT,STRING—
media_1optIMAGE,LATENT—
media_type_1optSTRING—
media_2optIMAGE,LATENT—
media_type_2optSTRING—
media_3optIMAGE,LATENT—
media_type_3optSTRING—
media_4optIMAGE,LATENT—
media_type_4optSTRING—
media_5optIMAGE,LATENT—
media_type_5optSTRING—
media_6optIMAGE,LATENT—
media_type_6optSTRING—
media_7optIMAGE,LATENT—
media_type_7optSTRING—
media_8optIMAGE,LATENT—
media_type_8optSTRING—
media_9optIMAGE,LATENT—
media_type_9optSTRING—
media_10optIMAGE,LATENT—
media_type_10optSTRING—
media_11optIMAGE,LATENT—
media_type_11optSTRING—
media_12optIMAGE,LATENT—
media_type_12optSTRING—
media_13optIMAGE,LATENT—
media_type_13optSTRING—
media_14optIMAGE,LATENT—
media_type_14optSTRING—
media_15optIMAGE,LATENT—
media_type_15optSTRING—
media_16optIMAGE,LATENT—
media_type_16optSTRING—
media_17optIMAGE,LATENT—
media_type_17optSTRING—
media_18optIMAGE,LATENT—
media_type_18optSTRING—
media_19optIMAGE,LATENT—
media_type_19optSTRING—
media_20optIMAGE,LATENT—
media_type_20optSTRING—
media_21optIMAGE,LATENT—
media_type_21optSTRING—
media_22optIMAGE,LATENT—
media_type_22optSTRING—
media_23optIMAGE,LATENT—
media_type_23optSTRING—
media_24optIMAGE,LATENT—
media_type_24optSTRING—
media_25optIMAGE,LATENT—
media_type_25optSTRING—
media_26optIMAGE,LATENT—
media_type_26optSTRING—
media_27optIMAGE,LATENT—
media_type_27optSTRING—
media_28optIMAGE,LATENT—
media_type_28optSTRING—
media_29optIMAGE,LATENT—
media_type_29optSTRING—
media_30optIMAGE,LATENT—
media_type_30optSTRING—
media_31optIMAGE,LATENT—
media_type_31optSTRING—
media_32optIMAGE,LATENT—
media_type_32optSTRING—
media_33optIMAGE,LATENT—
media_type_33optSTRING—
media_34optIMAGE,LATENT—
media_type_34optSTRING—
media_35optIMAGE,LATENT—
media_type_35optSTRING—
media_36optIMAGE,LATENT—
media_type_36optSTRING—
media_37optIMAGE,LATENT—
media_type_37optSTRING—
media_38optIMAGE,LATENT—
media_type_38optSTRING—
media_39optIMAGE,LATENT—
media_type_39optSTRING—
media_40optIMAGE,LATENT—
media_type_40optSTRING—
media_41optIMAGE,LATENT—
media_type_41optSTRING—
media_42optIMAGE,LATENT—
media_type_42optSTRING—
media_43optIMAGE,LATENT—
media_type_43optSTRING—
media_44optIMAGE,LATENT—
media_type_44optSTRING—
media_45optIMAGE,LATENT—
media_type_45optSTRING—
media_46optIMAGE,LATENT—
media_type_46optSTRING—
media_47optIMAGE,LATENT—
media_type_47optSTRING—
media_48optIMAGE,LATENT—
media_type_48optSTRING—
media_49optIMAGE,LATENT—
media_type_49optSTRING—
media_50optIMAGE,LATENT—
media_type_50optSTRING—
media_51optIMAGE,LATENT—
media_type_51optSTRING—
media_52optIMAGE,LATENT—
media_type_52optSTRING—
media_53optIMAGE,LATENT—
media_type_53optSTRING—
media_54optIMAGE,LATENT—
media_type_54optSTRING—
media_55optIMAGE,LATENT—
media_type_55optSTRING—
media_56optIMAGE,LATENT—
media_type_56optSTRING—
media_57optIMAGE,LATENT—
media_type_57optSTRING—
media_58optIMAGE,LATENT—
media_type_58optSTRING—
media_59optIMAGE,LATENT—
media_type_59optSTRING—
media_60optIMAGE,LATENT—
media_type_60optSTRING—
media_61optIMAGE,LATENT—
media_type_61optSTRING—
media_62optIMAGE,LATENT—
media_type_62optSTRING—
media_63optIMAGE,LATENT—
media_type_63optSTRING—
media_64optIMAGE,LATENT—
media_type_64optSTRING—
continuation_methodoptCOMBOguidenative_masked_av直接保护上一段AV latent;guide保留旧的条件引导续接。
stage_info_data1optFLOW_STAGE_INFO—
stage_dataoptIMAGE,VIDEO,LATENT—
sampling_profileoptCOMBOauto模型内部QKV/MLP 分块:token分块+层内算子分块

Outputs (4)

NameTypeDescription
contextRUN_CONTEXT—
segment_videoVIDEO—
merged_videoVIDEO—
textSTRING—