Nodes/ComfyUI-Apt_Preset/AD_MinMax_FL2_mul
ComfyUI Node

AD_MinMax_FL2_mul

The quiet half of the FL2 video pipeline — builds the context, never touches a sampler

By cardenluo·Created 2 years ago·Updated a day ago· 324
AD_MinMax_FL2_mul
  • 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
  • context
  • trim_frames
  • text
prompt
width512
height768
length124
stage_prompts[]
default_trim_frames22
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

AD_MinMax_FL2_mul doesn't generate anything, and that's the whole point. Its source docstring says it plainly: "Queue-stage FL2VA conditioning for an external sampler and video output." Where AD_MinMax_FL2_generate bundles sampling and merging into one node, this one is the conditioning half - it turns your prompt, reference images, and stage plan into a RUN_CONTEXT that you hand to a sampler (or this pack's controller stack) yourself. You reach for it when you want the stage-based FL2 prompt logic without letting the pack own your sampler choice.

How it works

Like its generate sibling, it lives in the flow-stage pipeline. You feed it the same prompt, width, height, length, and a JSON stage_prompts list; it runs once per stage and updates the context for that segment. The interesting output is trim_frames (default 22): the number of motion-context frames reused from the previous continuation clip and removed from the new one. That's the seam-healing trick - H3 carries forward the tail of the last clip as context so the next segment starts from real motion instead of a blank slate. 22 is the sweet spot for most 5s H3 clips; raise it if you see flicker at cuts, lower it if your segments feel stuck in the previous pose.

Note what's not here: no seed input. It's deliberately popped out of this node - the seed belongs on your sampler, which is part of the design, not a bug.

The inputs that bite

  • stage_prompts - JSON array, one prompt per stage. The only thing you must get right.
  • default_trim_frames - 1 to 56, default 22. Sets trim_frames for every stage that doesn't override it.
  • media / media_1…64 - and here's the trap: FL2 conditioning only accepts image, latent, or text. The source raises "AD_MinMax_FL2_mul Media only accepts image, latent or text" if you wire in video or audio, and it's strict about counts too: at most two ordered images (first-frame + last-frame references) and one context latent. Anything else is an error, not a warning.

Optional context and model pass through to the sampler, and stage_info/stage_data hook it into the flow system.

Outputs

  • context (RUN_CONTEXT) - wire this into your KSampler-style node or the pack's sampler/controller.
  • trim_frames (INT) - the context-frame count for continuation.
  • text (STRING) - the resolved FL2 prompt this stage encoded, handy for debugging exactly what the model saw.

Install and issues

Same pack install as everything else in ComfyUI-Apt_Preset: Manager → search the pack title, or clone into custom_nodes and run install.bat. Needs MiniMax H3 weights and a current ComfyUI. If your context errors with "missing: clip, vae, audio_vae," the RUN_CONTEXT you're feeding it wasn't built by the pack's loader/controller - it needs all three, so route it through the pack's context chain. And the usual H3 license reminder applies: the open weights are territory-locked out of the US, EU, UK and Korea.

CategoryApt_Preset/AD

Inputs (203)

NameTypeDefaultDescription
promptSTRING
widthINT51232–4096
heightINT76832–4096
lengthINT1245–3600
stage_promptsSTRING[]
default_trim_framesINT221–56Motion-context frames reused and removed from continuation clips.
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
stage_infooptFLOW_STAGE_INFO
stage_dataoptIMAGE,VIDEO,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 (3)

NameTypeDescription
contextRUN_CONTEXT
trim_framesINT
textSTRING