DavchaModelMergeSimple
Merge two checkpoints in-graph, negatives allowed
- model1
- model2
- MODEL
Merging checkpoints is how a lot of your favorite models were born - combine two parents at a ratio and you get a child that inherits a bit of both. ComfyUI's stock ModelMergeSimple already does this in the graph, so why the davcha version? The ratio range. This one lets you go negative and past 1.0 (the slider runs -5 to 6), which unlocks subtractive merges - the classic trick for pulling one model's influence out of another.
It's part of comfyui_davcha, the "personal QoL and experimental nodes" pack. This is one of the more legitimately useful entries.
How it works
The mechanism is identical to core ComfyUI merging: clone model1, take model2's key patches for the diffusion model, and apply each with weights (1 - ratio, ratio). At ratio 0 you get model1; at 1.0 you get essentially model2; in between is the blend. Because the ratio can go negative, you can subtract - merge at -0.3 and you push model2's patterns out of the result rather than adding them. Values above 1 emphasize model2 beyond a full swap, which is aggressive but occasionally exactly what a style mix needs.
Inputs: model1, model2 (both MODEL), ratio (FLOAT, -5 to 6, step 0.001). Output: MODEL, ready to wire into a checkpoint loader's downstream (via a Load Checkpoint bypass pattern or a model router).
When you'd reach for it
- Quick blends without exporting files - merge a realism base with an anime model for a hybrid look, live, and tune the ratio while you watch the results.
- Subtractive style removal - a merged model picked up a style you don't want; negative ratio on the offending parent scrubs it back out.
- Experiments before committing - merging in-graph means no disk writes and instant A/B.
Installing it
# ComfyUI Manager → Install Custom Nodes → search "comfyui_davcha" → Install → Restart
# or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/dchatel/comfyui_davcha
cd comfyui_davcha
pip install -r requirements.txt
Pack-level catch: nodes.py imports llama_cpp and cv2 at module load but requirements.txt only lists webp and rapidfuzz. If the pack won't load, pip install llama-cpp-python opencv-python and restart.
Where people get burned
The community's long experience with merges applies here: they're fast and free, but merging blindly loses coherence and the ecosystem has a known convergence problem - everyone's merged into the same mush. Use this for deliberate, small blends, not as a shortcut to "better." And keep in mind a single ratio merges every block identically; if you want different weights per UNet block - say, structure from one model, style from another - that's what DavchaModelMergeSD1 and SDXL in the same pack are for.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| model1 | MODEL | — | |
| model2 | MODEL | — | |
| ratio | FLOAT | 1.000-5–6 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |