Nodes/DiffSynth-ComfyUI/DiffSynth: Merge ModelConfigs
ComfyUI Node

DiffSynth: Merge ModelConfigs

The boring node every DiffSynth graph runs through

By modelscope·Created about a month ago·Updated a day ago· 8
DiffSynth: Merge ModelConfigs
  • model_config_1
  • model_config_2
  • model_config_3
  • model_config_4
  • model_config_5
  • model_config_6
  • model_config_7
  • model_config_8
  • model_configs

The name is misleading in a way that will cost you ten minutes if you let it. This node does not merge model weights. It's a fan-in: you hand it the individual ModelConfig nodes and it gives the Loader one list to read from. Nothing is added, averaged, or blended. Think of it as a bus bar with eight sockets.

Why it exists

Loaders take model_configs, a list. ComfyUI's model loaders take whatever they want. So the pack splits the job: each ModelConfig describes one file, and this node collects them, because ComfyUI sockets are one-wire and a loader needs four.

model_config_1 is required. model_config_2 through model_config_8 are optional and appear on the node whether you use them or not, which is why it looks so empty in a working workflow. The output is a single model_configs wire into the Loader, typed DIFFSYNTH_MODEL_CONFIG_LIST.

How to wire it

Order doesn't matter. DiffSynth matches files to pipeline components by what they are, not by which socket you used, so transformer/encoder/VAE can arrive in any arrangement:

VRAMConfig ──→ ModelConfig ×4 ──→ Merge ModelConfigs ──→ Loader
             VRAMLimit ────────────────────────────────┘

The pack's own templates do exactly this, and there are 46 of them under the Template tab in the sidebar - Qwen-Image, LTX-2 two-stage, MiniMax H3 ref2va, MOVA 360p, Qwen-Image-2.1. Open one and read the wiring before you build from scratch; it's faster than reading this.

One practical habit: keep the merge node tight to the loader rather than spaghetti-ing configs across the canvas. When a component goes missing later, the list is your documentation of what the pipeline was supposed to load.

The limit is real

Eight slots, and they're typed as single DIFFSYNTH_MODEL_CONFIG inputs - you cannot feed a list into model_config_2 and stack two merges into one. So eight files per pipeline is a hard ceiling in this version. In practice nothing here gets close: the fattest graph in the pack is MOVA, which uses video DiT, audio DiT, a dual-tower bridge, an audio VAE, plus Wan's VAE and umt5 text encoder, and the Wan text encoder is a separate shared file.

Where people get burned

A missing config usually surfaces as a load failure, not a warning. If the loader expects a component and it isn't in the list, you get an error from DiffSynth's from_pretrained, often after the other files have finished downloading. Add the ModelConfig, re-queue.

Optional inputs that are wired but empty. An unwired optional socket is fine; DiffSynth just doesn't get that component. But if a ModelConfig is wired in with a typo'd repo, the download fails at execution and the whole branch stops.

Don't confuse it with the LoRA path. If you're building a LoRA-stacking chain, the LoRA file is a ModelConfig that goes to the LoRA Load node, not into this list. Feeding a LoRA .safetensors into the merge node gets it treated as a pipeline component, which is not what you want.

Install is the pack install - Manager, search DiffSynth-ComfyUI, or clone into custom_nodes after pip install git+https://github.com/modelscope/DiffSynth-Studio.git, then restart. This node has no dependencies of its own, so if it's missing from your node menu, the pack itself failed to import and the terminal will tell you why.

CategoryDiffSynth/config

Inputs (8)

NameTypeDefaultDescription
model_config_1DIFFSYNTH_MODEL_CONFIG—
model_config_2optDIFFSYNTH_MODEL_CONFIG—
model_config_3optDIFFSYNTH_MODEL_CONFIG—
model_config_4optDIFFSYNTH_MODEL_CONFIG—
model_config_5optDIFFSYNTH_MODEL_CONFIG—
model_config_6optDIFFSYNTH_MODEL_CONFIG—
model_config_7optDIFFSYNTH_MODEL_CONFIG—
model_config_8optDIFFSYNTH_MODEL_CONFIG—

Outputs (1)

NameTypeDescription
model_configsDIFFSYNTH_MODEL_CONFIG_LIST—