ModelMergeKrea2
Block-merge the hottest base of 2026, and maybe fix its refusals
- model1
- model2
- MODEL
ModelMergeKrea2 is the block-merge node for Krea 2, Krea's 12B diffusion transformer that took the open ecosystem away from Ideogram 4 in under a week in June 2026. It's the newest node in this whole family - and it arrived fast, because the community needed it fast. Within days of Krea 2's open release, LoRAs, fine-tunes, and checkpoints appeared, and the moment you have multiple Krea 2 fine-tunes, you want to merge them.
There's a second, sharper reason this node matters, and it's Krea 2's defining defect. The KB panel is upfront: the open weights went through alignment training the hosted version never got, and the refusal behavior doesn't stop at porn - it flattens facial expression, drops prompt clauses, leaves "craters" in the model. The community's fixes are merges. People blend Krea 2 with weights that don't have the alignment baked in, or merge fine-tunes over the refusal-prone areas block-by-block. This node is the surgical instrument for that, and it's why a model-merge node for a model this young got real usage instead of being a placeholder.
How it works
Standard family mechanism - a ModelMergeBlocks subclass, per-tensor interpolation result = ratio · model1 + (1 − ratio) · model2 with ratio selected by longest matching key prefix. Krea 2's unusual architecture means the key map is genuinely different from the MMDiT nodes:
first.,last.- the first and last projection layers.tmlp.,txtmlp.,tproj.- the timestep MLP, text MLP, and text projection - Krea 2's text-conditioning path.txtfusion.layerwise_blocks.0–1,txtfusion.projector.,txtfusion.refiner_blocks.0–1- the text-fusion stack: two layerwise blocks, a projector, two refiner blocks. This is Krea 2's text/image fusion machinery, and it's the part you'd reach for when a merge model isn't obeying prompts the way you want.blocks.0–27- the 28 main transformer blocks. The meat of the model.
Every slider defaults to 1.0 (all model1).
The inputs that matter
If you're doing the "de-alignment" merge, the practical instinct is to hold blocks high where you like model1's behavior and pull specific ranges down toward a cleaner parent - but there's no published formula, and honestly the community was still mapping Krea 2's block semantics weeks after release. Expect to experiment. The txtfusion.* inputs are the distinctive ones to learn: they control how the model reads text, and fiddling with them changes prompt adherence in ways the plain blocks don't.
Output is one MODEL - sample it directly, or send it to Save Checkpoint to share.
Where people get burned
Krea 2 is young, so the usual "this is a stable, known technique" comfort doesn't apply. You're merging a 12B model, which means memory pressure - both parents plus the merged result in VRAM. And the license deserves a look before you publish anything: Krea 2 ships under its own community license (there's a whole KB panel on it), and whatever rights you have to share a merge depend on that license, not on the merge node.
Also note the merge caveat that applies to the whole family: blending two fine-tunes averages their defects. With Krea 2, that includes inheriting the alignment crater if either parent carries it.
How you get it
Core ComfyUI, model/merging/model specific, added June 2026 right alongside Krea 2 support. It's about as fresh as a node gets - if you're on an older ComfyUI build, update before looking for it.
Inputs (40)
| Name | Type | Default | Description |
|---|---|---|---|
| model1 | MODEL | — | |
| model2 | MODEL | — | |
| first. | FLOAT | 1.000–1 | — |
| tmlp. | FLOAT | 1.000–1 | — |
| txtmlp. | FLOAT | 1.000–1 | — |
| tproj. | FLOAT | 1.000–1 | — |
| txtfusion.layerwise_blocks.0. | FLOAT | 1.000–1 | — |
| txtfusion.layerwise_blocks.1. | FLOAT | 1.000–1 | — |
| txtfusion.projector. | FLOAT | 1.000–1 | — |
| txtfusion.refiner_blocks.0. | FLOAT | 1.000–1 | — |
| txtfusion.refiner_blocks.1. | FLOAT | 1.000–1 | — |
| blocks.0. | FLOAT | 1.000–1 | — |
| blocks.1. | FLOAT | 1.000–1 | — |
| blocks.2. | FLOAT | 1.000–1 | — |
| blocks.3. | FLOAT | 1.000–1 | — |
| blocks.4. | FLOAT | 1.000–1 | — |
| blocks.5. | FLOAT | 1.000–1 | — |
| blocks.6. | FLOAT | 1.000–1 | — |
| blocks.7. | FLOAT | 1.000–1 | — |
| blocks.8. | FLOAT | 1.000–1 | — |
| blocks.9. | FLOAT | 1.000–1 | — |
| blocks.10. | FLOAT | 1.000–1 | — |
| blocks.11. | FLOAT | 1.000–1 | — |
| blocks.12. | FLOAT | 1.000–1 | — |
| blocks.13. | FLOAT | 1.000–1 | — |
| blocks.14. | FLOAT | 1.000–1 | — |
| blocks.15. | FLOAT | 1.000–1 | — |
| blocks.16. | FLOAT | 1.000–1 | — |
| blocks.17. | FLOAT | 1.000–1 | — |
| blocks.18. | FLOAT | 1.000–1 | — |
| blocks.19. | FLOAT | 1.000–1 | — |
| blocks.20. | FLOAT | 1.000–1 | — |
| blocks.21. | FLOAT | 1.000–1 | — |
| blocks.22. | FLOAT | 1.000–1 | — |
| blocks.23. | FLOAT | 1.000–1 | — |
| blocks.24. | FLOAT | 1.000–1 | — |
| blocks.25. | FLOAT | 1.000–1 | — |
| blocks.26. | FLOAT | 1.000–1 | — |
| blocks.27. | FLOAT | 1.000–1 | — |
| last. | FLOAT | 1.000–1 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |