Nodes/Mecha Merge Node Pack/FLUX-FLUX Components Params
ComfyUI Node

FLUX-FLUX Components Params

Weight FLUX's four sub-models separately — diffuser, CLIP-L, T5, and VAE as one param recipe

By ljleb·Created 2 years ago·Updated 29 days ago· 101
FLUX-FLUX Components Params
    • recipe
    diffuser0.00
    clip_l0.00
    t5xxl0.00
    vae0.00

    FLUX Defaults Hyper is a params node for the FLUX architecture, and it exists because FLUX isn't one model you blend - it's a bundle of four components: the diffusion model (here called diffuser), the clip_l text encoder, the t5xxl text encoder, and the vae. When you merge a FLUX checkpoint or bake a LoRA into one, each of those components is a separate key group, and they don't have to move at the same strength. This node hands you one recipe containing four independent weights, one per component.

    The display name - "FLUX-FLUX Components Params" - looks like a typo but isn't: it's the auto-generated name for the flux-flux model config's components-params node, one of a whole family the pack generates for every supported architecture (there are SDXL Components Params and SD1 Components Params siblings).

    What you set

    Four FLOAT inputs, each a per-component strength (default 0.0, step 0.01):

    • diffuser - the main FLUX transformer/diffusion model. The one you usually care about.
    • clip_l - the CLIP-L text encoder half.
    • t5xxl - the T5-XXL text encoder half.
    • vae - the VAE.

    Output is one recipe (MECHA_RECIPE) that you wire into a param socket - typically the alpha of a merge or LoRA-application node. The recipe is built by picking each component's value and OR-ing them together, so downstream, the merge applies diffuser's strength to diffuser keys, clip_l's strength to CLIP keys, and so on.

    Why you'd bother

    Most of the time one number for everything is fine - that's Float. The reason to split by component: LoRA merges and cross-model merges where the text encoders and the transformer respond differently. Baking a FLUX LoRA at alpha 0.8 can be great for the diffuser but oversaturated for T5; this lets you hold the transformer at 0.8 and drop the encoders to 0.5 without building a multi-branch workflow. It's also the natural target for "merge the transformer but not the VAE" workflows, since you can zero out components you don't want touched.

    Install & gotchas

    ComfyUI Manager → search mechaMecha Merge Node Pack, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/ljleb/comfy-mecha.git
    pip install -r comfy-mecha/requirements.txt
    

    Restart; only dependency is sd-mecha==1.1.7.

    The trap: all four default to 0.0, and a components-params recipe with everything at zero is a "do nothing" recipe. If your FLUX merge silently doesn't change anything, check this node - you set diffuser and forgot the rest, or vice versa. Also note this node produces a param recipe; it goes into an alpha/param socket, not a weight socket. And while the pack knows the flux-flux key layout, it can only separate components if the models you're merging actually carry all four - a transformer-only FLUX file won't gain text-encoder keys just because you set a value for them.

    Categorymecha

    Inputs (4)

    NameTypeDefaultDescription
    diffuserFLOAT0.00-18446744073709550000–18446744073709550000
    clip_lFLOAT0.00-18446744073709550000–18446744073709550000
    t5xxlFLOAT0.00-18446744073709550000–18446744073709550000
    vaeFLOAT0.00-18446744073709550000–18446744073709550000

    Outputs (1)

    NameTypeDescription
    recipeMECHA_RECIPE