Nodes/ComfyUI-MixMod/MixMod Guider Component
ComfyUI Node

MixMod Guider Component

How one checkpoint becomes a voice in the mix

By kantsche·Created about a year ago·Updated 11 months ago· 31
MixMod Guider Component
  • model
  • positive
  • negative
  • prev_component
  • options
  • COMPONENT
base_weight1.00
cfg7.5

MixMod's whole trick is running two or more checkpoints at once and blending their denoise predictions every sampling step. This node is the atom that trick is built from: it takes one model, its prompt, and how much it should get a say, and wraps it all into a COMPONENT. You build components for each checkpoint, chain them together, and the pack's guiders do the actual blending.

Why would you want that? Because different models are good at different things, and normally you have to pick one. The pack's launch post (Kantsche posts on Reddit as Ryukra) framed it as "the models can share knowledge between each other": Pony v6 gets NoobAI's artist knowledge, an SDXL base gets the prompt adherence of Pixart Sigma's T5 encoder, a detail-focused model rides on top of a composition-focused one. If that sounds like Composable Diffusion's AND-weights done across checkpoints instead of across prompts - that's basically what a commenter in the thread called it, and it's the right mental model.

The inputs that actually matter

  • model - a checkpoint (SD1.5, SDXL, or Pixart Sigma all work). The mix is only as good as the latent spaces being compatible; mixing 1.5 with XL needs the ostris sdxl-sd1-vae-lora from the README to align them.
  • positive / negative - the conditionings for this model. You get them from the normal CLIP Text Encode nodes, so each component can carry a totally different prompt if you want.
  • base_weight (default 1.0, 0–1) - this component's share of the blend.
  • cfg (default 7.5) - the guidance scale applied to this model's prediction, per step. You can run two models at very different CFGs in the same pass.
  • prev_component (optional) - chain the next component into this pin to stack models.
  • options (optional) - wire an OPTIONS bundle here (mask, step range, scale) to gate or shape this component.

The output is a single COMPONENT that flows into the MixMod Guider or one of the special guiders, which turns the whole chain into a GUIDER for the sampler.

How the weighting actually works

Here's the one gotcha that catches everyone: the weights get normalized. A component with base_weight 1.0 chained to one with 0.5 doesn't mean "model A at 100%, model B at 50%" - weights are summed and divided, so you're getting a 66/34 split. Think of the numbers as relative loudness, not absolute. The other thing: every model is loaded for the whole pass, so expect your VRAM to roughly double and your sampling to slow down. That's the trade for getting two models in one denoise loop.

Installing

This is part of the ComfyUI-MixMod pack, so there's nothing to download for the node itself. ComfyUI Manager → search "ComfyUI-MixMod" → install, or:

cd ComfyUI/custom_nodes
git clone https://github.com/kantsche/ComfyUI-MixMod

Restart ComfyUI either way. There's no requirements.txt - the pack is plain torch plus ComfyUI's own samplers. The dependencies are the companion packs: ComfyUI-GGUF and ComfyUI_ExtraModels if you're mixing in Pixart Sigma, and ComfyUI ControlNet Aux if you ever touch the Depth Guider. The author targets ~8GB VRAM minimum and only tests on Windows, so treat anything else as untrodden ground.

Troubleshooting

Blank or unchanged output usually means only one model ever had a nonzero normalized weight - check you actually chained components through prev_component and didn't leave one orphaned. If mixing SD1.5 and SDXL gives mush, that's the latent-space mismatch the README warns about; the vae-lora is the fix. And if you see two checkpoints fighting and overbaking details, turn their CFGs down rather than fighting the weights - these modes amplify CFG, they don't average it.

Categorymixmod/components

Inputs (7)

NameTypeDefaultDescription
modelMODEL
positiveCONDITIONING
negativeCONDITIONING
base_weightFLOAT1.000–1
cfgFLOAT7.5-100–100
prev_componentoptCOMPONENT
optionsoptOPTIONS

Outputs (1)

NameTypeDescription
COMPONENTCOMPONENT