AD_MinMax_FL2_generate
The H3 video sampler that splits your scene into stages and stitches it back together
- 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
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_denoise0.3,refine_steps8 by default) to clean up the image. The tooltip onrefine_modelis 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_stepis the SplitSigmas point: high-sigma steps run before the latent scaling, low-sigma steps after, andlatent_scale(default 1.3) is the multiplier. This needs the MiniMax H3 3D upscaler, selected inlatent_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.
Inputs (211)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| width | INT | 51232–4096 | — |
| height | INT | 76832–4096 | — |
| length | INT | 1245–3600 | — |
| seed | INT | 00–18446744073709550000 | — |
| stage_prompts | STRING | [] | — |
| second_pass_mode | COMBO | None | Select one mutually exclusive second-pass workflow. |
| refine_model | COMBO | None | Optional 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_denoise | FLOAT | 0.300–1 | Denoise strength for the second sampling pass. |
| refine_steps | INT | 81–10000 | Number of steps for the second sampling pass. |
| latent_model | COMBO | (place MiniMax H3 3D models in models/latent_upscale_models) | 1 options: (place MiniMax H3 3D models in models/latent_upscale_models) |
| latent_scale | FLOAT | 1.301–4 | MiniMax H3 latent upscale multiplier between the two sigma ranges. |
| split_step | INT | 40–10000 | SplitSigmas step: high sigmas run before latent scaling and low sigmas run after it. |
| contextopt | RUN_CONTEXT | — | |
| modelopt | MODEL | — | |
| fpsopt | FLOAT | 241–120 | — |
| mediaopt | IMAGE,LATENT,STRING | — | |
| media_1opt | IMAGE,LATENT | — | |
| media_type_1opt | STRING | — | |
| media_2opt | IMAGE,LATENT | — | |
| media_type_2opt | STRING | — | |
| media_3opt | IMAGE,LATENT | — | |
| media_type_3opt | STRING | — | |
| media_4opt | IMAGE,LATENT | — | |
| media_type_4opt | STRING | — | |
| media_5opt | IMAGE,LATENT | — | |
| media_type_5opt | STRING | — | |
| media_6opt | IMAGE,LATENT | — | |
| media_type_6opt | STRING | — | |
| media_7opt | IMAGE,LATENT | — | |
| media_type_7opt | STRING | — | |
| media_8opt | IMAGE,LATENT | — | |
| media_type_8opt | STRING | — | |
| media_9opt | IMAGE,LATENT | — | |
| media_type_9opt | STRING | — | |
| media_10opt | IMAGE,LATENT | — | |
| media_type_10opt | STRING | — | |
| media_11opt | IMAGE,LATENT | — | |
| media_type_11opt | STRING | — | |
| media_12opt | IMAGE,LATENT | — | |
| media_type_12opt | STRING | — | |
| media_13opt | IMAGE,LATENT | — | |
| media_type_13opt | STRING | — | |
| media_14opt | IMAGE,LATENT | — | |
| media_type_14opt | STRING | — | |
| media_15opt | IMAGE,LATENT | — | |
| media_type_15opt | STRING | — | |
| media_16opt | IMAGE,LATENT | — | |
| media_type_16opt | STRING | — | |
| media_17opt | IMAGE,LATENT | — | |
| media_type_17opt | STRING | — | |
| media_18opt | IMAGE,LATENT | — | |
| media_type_18opt | STRING | — | |
| media_19opt | IMAGE,LATENT | — | |
| media_type_19opt | STRING | — | |
| media_20opt | IMAGE,LATENT | — | |
| media_type_20opt | STRING | — | |
| media_21opt | IMAGE,LATENT | — | |
| media_type_21opt | STRING | — | |
| media_22opt | IMAGE,LATENT | — | |
| media_type_22opt | STRING | — | |
| media_23opt | IMAGE,LATENT | — | |
| media_type_23opt | STRING | — | |
| media_24opt | IMAGE,LATENT | — | |
| media_type_24opt | STRING | — | |
| media_25opt | IMAGE,LATENT | — | |
| media_type_25opt | STRING | — | |
| media_26opt | IMAGE,LATENT | — | |
| media_type_26opt | STRING | — | |
| media_27opt | IMAGE,LATENT | — | |
| media_type_27opt | STRING | — | |
| media_28opt | IMAGE,LATENT | — | |
| media_type_28opt | STRING | — | |
| media_29opt | IMAGE,LATENT | — | |
| media_type_29opt | STRING | — | |
| media_30opt | IMAGE,LATENT | — | |
| media_type_30opt | STRING | — | |
| media_31opt | IMAGE,LATENT | — | |
| media_type_31opt | STRING | — | |
| media_32opt | IMAGE,LATENT | — | |
| media_type_32opt | STRING | — | |
| media_33opt | IMAGE,LATENT | — | |
| media_type_33opt | STRING | — | |
| media_34opt | IMAGE,LATENT | — | |
| media_type_34opt | STRING | — | |
| media_35opt | IMAGE,LATENT | — | |
| media_type_35opt | STRING | — | |
| media_36opt | IMAGE,LATENT | — | |
| media_type_36opt | STRING | — | |
| media_37opt | IMAGE,LATENT | — | |
| media_type_37opt | STRING | — | |
| media_38opt | IMAGE,LATENT | — | |
| media_type_38opt | STRING | — | |
| media_39opt | IMAGE,LATENT | — | |
| media_type_39opt | STRING | — | |
| media_40opt | IMAGE,LATENT | — | |
| media_type_40opt | STRING | — | |
| media_41opt | IMAGE,LATENT | — | |
| media_type_41opt | STRING | — | |
| media_42opt | IMAGE,LATENT | — | |
| media_type_42opt | STRING | — | |
| media_43opt | IMAGE,LATENT | — | |
| media_type_43opt | STRING | — | |
| media_44opt | IMAGE,LATENT | — | |
| media_type_44opt | STRING | — | |
| media_45opt | IMAGE,LATENT | — | |
| media_type_45opt | STRING | — | |
| media_46opt | IMAGE,LATENT | — | |
| media_type_46opt | STRING | — | |
| media_47opt | IMAGE,LATENT | — | |
| media_type_47opt | STRING | — | |
| media_48opt | IMAGE,LATENT | — | |
| media_type_48opt | STRING | — | |
| media_49opt | IMAGE,LATENT | — | |
| media_type_49opt | STRING | — | |
| media_50opt | IMAGE,LATENT | — | |
| media_type_50opt | STRING | — | |
| media_51opt | IMAGE,LATENT | — | |
| media_type_51opt | STRING | — | |
| media_52opt | IMAGE,LATENT | — | |
| media_type_52opt | STRING | — | |
| media_53opt | IMAGE,LATENT | — | |
| media_type_53opt | STRING | — | |
| media_54opt | IMAGE,LATENT | — | |
| media_type_54opt | STRING | — | |
| media_55opt | IMAGE,LATENT | — | |
| media_type_55opt | STRING | — | |
| media_56opt | IMAGE,LATENT | — | |
| media_type_56opt | STRING | — | |
| media_57opt | IMAGE,LATENT | — | |
| media_type_57opt | STRING | — | |
| media_58opt | IMAGE,LATENT | — | |
| media_type_58opt | STRING | — | |
| media_59opt | IMAGE,LATENT | — | |
| media_type_59opt | STRING | — | |
| media_60opt | IMAGE,LATENT | — | |
| media_type_60opt | STRING | — | |
| media_61opt | IMAGE,LATENT | — | |
| media_type_61opt | STRING | — | |
| media_62opt | IMAGE,LATENT | — | |
| media_type_62opt | STRING | — | |
| media_63opt | IMAGE,LATENT | — | |
| media_type_63opt | STRING | — | |
| media_64opt | IMAGE,LATENT | — | |
| media_type_64opt | STRING | — | |
| stage_infoopt | FLOW_STAGE_INFO | — | |
| stage_dataopt | IMAGE,VIDEO,LATENT | — | |
| stage_text_1opt | STRING | — | |
| stage_text_2opt | STRING | — | |
| stage_text_3opt | STRING | — | |
| stage_text_4opt | STRING | — | |
| stage_text_5opt | STRING | — | |
| stage_text_6opt | STRING | — | |
| stage_text_7opt | STRING | — | |
| stage_text_8opt | STRING | — | |
| stage_text_9opt | STRING | — | |
| stage_text_10opt | STRING | — | |
| stage_text_11opt | STRING | — | |
| stage_text_12opt | STRING | — | |
| stage_text_13opt | STRING | — | |
| stage_text_14opt | STRING | — | |
| stage_text_15opt | STRING | — | |
| stage_text_16opt | STRING | — | |
| stage_text_17opt | STRING | — | |
| stage_text_18opt | STRING | — | |
| stage_text_19opt | STRING | — | |
| stage_text_20opt | STRING | — | |
| stage_text_21opt | STRING | — | |
| stage_text_22opt | STRING | — | |
| stage_text_23opt | STRING | — | |
| stage_text_24opt | STRING | — | |
| stage_text_25opt | STRING | — | |
| stage_text_26opt | STRING | — | |
| stage_text_27opt | STRING | — | |
| stage_text_28opt | STRING | — | |
| stage_text_29opt | STRING | — | |
| stage_text_30opt | STRING | — | |
| stage_text_31opt | STRING | — | |
| stage_text_32opt | STRING | — | |
| stage_text_33opt | STRING | — | |
| stage_text_34opt | STRING | — | |
| stage_text_35opt | STRING | — | |
| stage_text_36opt | STRING | — | |
| stage_text_37opt | STRING | — | |
| stage_text_38opt | STRING | — | |
| stage_text_39opt | STRING | — | |
| stage_text_40opt | STRING | — | |
| stage_text_41opt | STRING | — | |
| stage_text_42opt | STRING | — | |
| stage_text_43opt | STRING | — | |
| stage_text_44opt | STRING | — | |
| stage_text_45opt | STRING | — | |
| stage_text_46opt | STRING | — | |
| stage_text_47opt | STRING | — | |
| stage_text_48opt | STRING | — | |
| stage_text_49opt | STRING | — | |
| stage_text_50opt | STRING | — | |
| stage_text_51opt | STRING | — | |
| stage_text_52opt | STRING | — | |
| stage_text_53opt | STRING | — | |
| stage_text_54opt | STRING | — | |
| stage_text_55opt | STRING | — | |
| stage_text_56opt | STRING | — | |
| stage_text_57opt | STRING | — | |
| stage_text_58opt | STRING | — | |
| stage_text_59opt | STRING | — | |
| stage_text_60opt | STRING | — | |
| stage_text_61opt | STRING | — | |
| stage_text_62opt | STRING | — | |
| stage_text_63opt | STRING | — | |
| stage_text_64opt | STRING | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| denoise_latent1 | LATENT | — |
| segment_video | VIDEO | — |
| merged_video | VIDEO | — |
| text | STRING | — |