Krea2 Model Merge Simple
Blend two Krea 2 checkpoints in one node, no training involved
- model1
- model2
- model
Krea 2 shipped two checkpoints you're meant to combine rather than choose between - Raw, the undistilled base, and Turbo, the 8-step distilled one - and the community went and added a stack of finetunes on top of both. Want a checkpoint that sits between two of them at an exact ratio? That's what this node does, and the "simple" in the name is earned: two MODEL wires in, a ratio slider, one blended MODEL out. No dedicated loader, no custom data type, no training run. It's the classic merge move - averaging weights - applied to Krea 2.
The workflow this plugs into is short. Load each checkpoint with the stock Load Diffusion Model (or UNETLoader, which is how the pack's own example wires it), feed both MODEL outputs here, and the output feeds a sampler exactly like any other model. Because Krea 2 support went native in ComfyUI 0.25.0, there's no weird Krea-specific loader in the chain. You keep loading the Qwen3-VL text encoder and Qwen-Image VAE the normal way.
How it actually merges
The mechanism matters here, because it's lazier than you'd think. model1 gets cloned, then model2's real diffusion_model weights are pulled out and registered as a patch on the clone via ComfyUI's add_patches(..., 1 - ratio, ratio). The blend is model1 × (1 - ratio) + model2 × ratio, applied at sampling time rather than materialized upfront. For a 12B model that's the difference between a merge that happens in seconds and one that needs a spare 26GB of RAM to crunch.
The bit that makes this Krea-specific: quantized checkpoints carry virtual helper keys - weight_scale, comfy_quant, scaled_fp8, that family - that only exist in the state_dict. Merge those in raw and you're averaging scale factors that are meaningless outside their own tensors. The node strips them before blending, so an FP8 checkpoint merges cleanly instead of corrupting. It also validates that the two models actually have matching structure and tensor shapes and refuses to merge if they don't.
The inputs that matter
Three, and you'll touch two of them:
- model1 / model2 - the two
MODELs. Order matters only because it flips the ratio direction. - ratio - float, 0.0 to 1.0, default 0.5. 0.0 gives you pure model1, 1.0 pure model2, 0.5 a straight average. That's the whole slider.
One output: model, which wires straight into your sampler. Note it returns a MODEL - the text encoder and VAE aren't part of the blend, because they were never part of the input.
Install
Through ComfyUI Manager, search the pack title ComfyUI-Krea2-Model-Merge, or clone it:
cd ComfyUI/custom_nodes
git clone https://github.com/isiwork/ComfyUI-Krea2-Model-Merge
Then restart ComfyUI - fully, not just reload. The requirements.txt is genuinely empty: "No additional packages. ComfyUI already provides torch and safetensors." No model downloads, no heavy deps.
Where people get burned
This is v0.2.0 and the README is upfront that it's beta/experimental - only synthetic tests have run, full-size Krea 2 checkpoints haven't been validated across every ComfyUI setup. Realistic failure modes:
- Shape mismatch. Merging a Krea 2 checkpoint with a non-Krea model raises an error, because the architectures don't line up. Same architecture or nothing.
- "No common weights" errors if something is off with model2's state dict. Keep an eye on the console - the node logs how many keys it merged and how many quant aux keys it skipped.
- It's a lazy patch, not a file. Nothing is written to disk. If you want the merged result saved so you don't re-merge on every run, feed the output to the pack's companion
Krea2 Model Savenode.
Keep your original checkpoints backed up - that's the author's own advice, and it's good advice for anything beta that writes weights around.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| model1 | MODEL | — | |
| model2 | MODEL | — | |
| ratio | FLOAT | 0.500–1 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |