Nodes/ComfyUI-easygoing-nodes/Model Scale Krea2
ComfyUI Node

Model Scale Krea2

Scale Krea 2 with slider names that match the loader, not the file

By easygoing0114·Created 12 months ago·Updated 5 days ago· 5
Model Scale Krea2
  • model
  • MODEL
first.1.00
txtmlp.1.00
tmlp.1.00
tproj.1.00
txtfusion.refiner_blocks.0.1.00
txtfusion.refiner_blocks.1.1.00
txtfusion.layerwise_blocks.0.1.00
txtfusion.layerwise_blocks.1.1.00
txtfusion.projector.1.00
blocks.0.1.00
blocks.1.1.00
blocks.2.1.00
blocks.3.1.00
blocks.4.1.00
blocks.5.1.00
blocks.6.1.00
blocks.7.1.00
blocks.8.1.00
blocks.9.1.00
blocks.10.1.00
blocks.11.1.00
blocks.12.1.00
blocks.13.1.00
blocks.14.1.00
blocks.15.1.00
blocks.16.1.00
blocks.17.1.00
blocks.18.1.00
blocks.19.1.00
blocks.20.1.00
blocks.21.1.00
blocks.22.1.00
blocks.23.1.00
blocks.24.1.00
blocks.25.1.00
blocks.26.1.00
blocks.27.1.00
last.1.00

Krea 2 is the 12B diffusion transformer Krea trained from scratch and opened in June 2026 - the default base for people building on open weights, alignment-passed quirks included. Model Scale Krea2 is this pack's scaler for the Krea-2-Turbo layout, and it has one detail you need to know before anything else: the slider names match ComfyUI's post-load module names, not the safetensors key names. When a UNet loader ingests a Krea model it renames things - img_in becomes first, txt_in becomes txtmlp, time_embed becomes tmlp, transformer_blocks.N becomes blocks.N, and so on. This node was built against those renamed, internal names, so its widgets line up with what the model actually looks like after loading.

That's a genuinely considerate design decision. A scaler that matched the raw file keys would silently miss everything once ComfyUI renamed the graph, and you'd be tweaking sliders that touched nothing. This one does the extra step of matching the world the model lives in.

How it works

Standard pack mechanism: clone the model, longest-prefix match each weight against the sliders, scale by weight × scale, 1.0 = untouched, 0.0 = zeroed, above 1.0 amplified, all defaulting to 1.0. model in, one MODEL out.

The inputs, mapped

  • first. - the image input projection (file-side img_in).
  • txtmlp. - text input MLP (file-side txt_in); tmlp. - time embed MLP; tproj. - time modulation projection.
  • txtfusion.refiner_blocks.0/1, txtfusion.layerwise_blocks.0/1, txtfusion.projector. - Krea 2's text-fusion stack, the part that gates how the prompt influences the model. This is the region most tied to Krea 2's alignment-pass behavior - the open weights' trained-in refusal and prompt-dropping - so it's a natural place to experiment if you're working around that.
  • blocks.0blocks.27 - the 28 main transformer blocks (file-side transformer_blocks.N).
  • last. - the final output layer (file-side final_layer).

What's worth trying

If you're one of the people using the conditioning-rebalance or uncensor approaches to Krea 2's alignment quirks, this node gives you a non-destructive experimental lane: scaling the text-fusion blocks or the early blocks.N lets you probe how much of the refusal behavior is concentrated in the fusion path versus the main stack. That's genuinely interesting work, and it's the kind of thing this pack's scalers exist to enable. For everyone else: small scale moves on the mid blocks, tested across seeds, same as any model.

Install

Search Easygoing in the ComfyUI Manager, or:

cd ComfyUI/custom_nodes
git clone https://github.com/easygoing0114/ComfyUI-easygoing-nodes.git

Restart ComfyUI. No pip extras; needs a current ComfyUI with the V3 node API.

What to watch

Because the widget names are the renamed names, this node only works when you load Krea through ComfyUI's normal loader path - the very thing that applies the renaming. Load it any other way and the prefixes won't exist. And as always: in-graph only, save the workflow, or use the pack's save-with-original nodes to persist a scaled Krea you actually like.

Categoryadvanced/model_merging/model_specific

Inputs (39)

NameTypeDefaultDescription
modelMODEL
first.FLOAT1.000–2
txtmlp.FLOAT1.000–2
tmlp.FLOAT1.000–2
tproj.FLOAT1.000–2
txtfusion.refiner_blocks.0.FLOAT1.000–2
txtfusion.refiner_blocks.1.FLOAT1.000–2
txtfusion.layerwise_blocks.0.FLOAT1.000–2
txtfusion.layerwise_blocks.1.FLOAT1.000–2
txtfusion.projector.FLOAT1.000–2
blocks.0.FLOAT1.000–2
blocks.1.FLOAT1.000–2
blocks.2.FLOAT1.000–2
blocks.3.FLOAT1.000–2
blocks.4.FLOAT1.000–2
blocks.5.FLOAT1.000–2
blocks.6.FLOAT1.000–2
blocks.7.FLOAT1.000–2
blocks.8.FLOAT1.000–2
blocks.9.FLOAT1.000–2
blocks.10.FLOAT1.000–2
blocks.11.FLOAT1.000–2
blocks.12.FLOAT1.000–2
blocks.13.FLOAT1.000–2
blocks.14.FLOAT1.000–2
blocks.15.FLOAT1.000–2
blocks.16.FLOAT1.000–2
blocks.17.FLOAT1.000–2
blocks.18.FLOAT1.000–2
blocks.19.FLOAT1.000–2
blocks.20.FLOAT1.000–2
blocks.21.FLOAT1.000–2
blocks.22.FLOAT1.000–2
blocks.23.FLOAT1.000–2
blocks.24.FLOAT1.000–2
blocks.25.FLOAT1.000–2
blocks.26.FLOAT1.000–2
blocks.27.FLOAT1.000–2
last.FLOAT1.000–2

Outputs (1)

NameTypeDescription
MODELMODEL