Nodes/ComfyUI-easygoing-nodes/Model Scale Flux2 Klein
ComfyUI Node

Model Scale Flux2 Klein

Scale Flux 2 Klein's blocks to tune a model that's actually runnable

By easygoing0114·Created 12 months ago·Updated 5 days ago· 5
Model Scale Flux2 Klein
  • model
  • MODEL
img_in.1.00
time_in.1.00
txt_in.1.00
double_blocks.0.1.00
double_blocks.0.img_attn.1.00
double_blocks.0.img_mlp.1.00
double_blocks.0.txt_attn.1.00
double_blocks.0.txt_mlp.1.00
double_blocks.1.1.00
double_blocks.1.img_attn.1.00
double_blocks.1.img_mlp.1.00
double_blocks.1.txt_attn.1.00
double_blocks.1.txt_mlp.1.00
double_blocks.2.1.00
double_blocks.2.img_attn.1.00
double_blocks.2.img_mlp.1.00
double_blocks.2.txt_attn.1.00
double_blocks.2.txt_mlp.1.00
double_blocks.3.1.00
double_blocks.3.img_attn.1.00
double_blocks.3.img_mlp.1.00
double_blocks.3.txt_attn.1.00
double_blocks.3.txt_mlp.1.00
double_blocks.4.1.00
double_blocks.4.img_attn.1.00
double_blocks.4.img_mlp.1.00
double_blocks.4.txt_attn.1.00
double_blocks.4.txt_mlp.1.00
double_stream_modulation_img.1.00
double_stream_modulation_txt.1.00
single_blocks.0.1.00
single_blocks.1.1.00
single_blocks.2.1.00
single_blocks.3.1.00
single_blocks.4.1.00
single_blocks.5.1.00
single_blocks.6.1.00
single_blocks.7.1.00
single_blocks.8.1.00
single_blocks.9.1.00
single_blocks.10.1.00
single_blocks.11.1.00
single_blocks.12.1.00
single_blocks.13.1.00
single_blocks.14.1.00
single_blocks.15.1.00
single_blocks.16.1.00
single_blocks.17.1.00
single_blocks.18.1.00
single_blocks.19.1.00
single_stream_modulation.1.00
final_layer.1.00

Flux 2 proper is a 32B model that needs 18–24GB of VRAM even quantized - impressive, but out of reach for most people's daily driver. Flux 2 Klein is the January 2026 size-distilled answer: 9B, Apache 2.0, and genuinely usable on a ~13GB card, which is why it's the Flux 2 most people actually run. Model Scale Flux2 Klein is the block scaler for that model, and it comes with an unusually fine-grained widget layout because Klein's architecture is small enough that per-sub-block control is practical.

The mechanics are standard for this pack: clone the model, match weights by longest prefix, scale by weight × scale. 1.0 = untouched, 0.0 = zeroed, above 1.0 = amplified; everything defaults to 1.0. model in, single MODEL out.

The inputs, mapped to the architecture

Klein is a hybrid transformer - a few dense double-stream blocks up front, then a long single-stream tail - and the widget list mirrors that:

  • img_in., time_in., txt_in. - the input projections. Drastic knobs; leave near 1.0.
  • double_blocks.0double_blocks.4 - the five early blocks where image and text attend jointly. Each is further split into .img_attn / .img_mlp / .txt_attn / .txt_mlp, so you can scale the text path independently of the image path inside the same block. That's a genuinely nice level of control for prompt-adherence tuning: most of the semantic understanding enters through the text-attention path in these blocks.
  • double_stream_modulation_img. / double_stream_modulation_txt. - the per-stream modulation projections.
  • single_blocks.0single_blocks.19 - the 20 single-stream blocks, the workhorse tail. These carry most of the output detail; scaling them down "loosens" the render, scaling a middle band up can sharpen detail at the cost of coherence.
  • single_stream_modulation., final_layer. - the exit path.

What's worth trying

Since Klein is a distilled model - trained to compress the big model's behavior into far fewer steps - it's already tightly tuned, and large scale deviations are more likely to break it than with a bigger, more redundant model. Small nudges are the play: 0.7–1.3 on a region you care about, tested over a few seeds. A popular experiment for the "weak prompt adherence" complaints that followed Klein's launch is boosting the txt_attn/txt_mlp sub-blocks in the double-stream section - more text signal per token, at the cost of some speed. Whether that's a real win is exactly the thing you can now test in a graph instead of arguing about on Reddit.

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; requires a ComfyUI build with the V3 node API.

Where people get burned

The sub-block widgets assume Klein's standard module layout - if you're loading a heavily fused or otherwise modified Klein, the prefixes may not line up, and silent no-op sliders are the symptom. Check with Key Name Inspector before trusting results. And remember the scale is live-in-graph only: save the workflow, or run it through the pack's save-with-original pair if you want a persistent file.

Categoryadvanced/model_merging/model_specific

Inputs (53)

NameTypeDefaultDescription
modelMODEL
img_in.FLOAT1.000–2
time_in.FLOAT1.000–2
txt_in.FLOAT1.000–2
double_blocks.0.FLOAT1.000–2
double_blocks.0.img_attn.FLOAT1.000–2
double_blocks.0.img_mlp.FLOAT1.000–2
double_blocks.0.txt_attn.FLOAT1.000–2
double_blocks.0.txt_mlp.FLOAT1.000–2
double_blocks.1.FLOAT1.000–2
double_blocks.1.img_attn.FLOAT1.000–2
double_blocks.1.img_mlp.FLOAT1.000–2
double_blocks.1.txt_attn.FLOAT1.000–2
double_blocks.1.txt_mlp.FLOAT1.000–2
double_blocks.2.FLOAT1.000–2
double_blocks.2.img_attn.FLOAT1.000–2
double_blocks.2.img_mlp.FLOAT1.000–2
double_blocks.2.txt_attn.FLOAT1.000–2
double_blocks.2.txt_mlp.FLOAT1.000–2
double_blocks.3.FLOAT1.000–2
double_blocks.3.img_attn.FLOAT1.000–2
double_blocks.3.img_mlp.FLOAT1.000–2
double_blocks.3.txt_attn.FLOAT1.000–2
double_blocks.3.txt_mlp.FLOAT1.000–2
double_blocks.4.FLOAT1.000–2
double_blocks.4.img_attn.FLOAT1.000–2
double_blocks.4.img_mlp.FLOAT1.000–2
double_blocks.4.txt_attn.FLOAT1.000–2
double_blocks.4.txt_mlp.FLOAT1.000–2
double_stream_modulation_img.FLOAT1.000–2
double_stream_modulation_txt.FLOAT1.000–2
single_blocks.0.FLOAT1.000–2
single_blocks.1.FLOAT1.000–2
single_blocks.2.FLOAT1.000–2
single_blocks.3.FLOAT1.000–2
single_blocks.4.FLOAT1.000–2
single_blocks.5.FLOAT1.000–2
single_blocks.6.FLOAT1.000–2
single_blocks.7.FLOAT1.000–2
single_blocks.8.FLOAT1.000–2
single_blocks.9.FLOAT1.000–2
single_blocks.10.FLOAT1.000–2
single_blocks.11.FLOAT1.000–2
single_blocks.12.FLOAT1.000–2
single_blocks.13.FLOAT1.000–2
single_blocks.14.FLOAT1.000–2
single_blocks.15.FLOAT1.000–2
single_blocks.16.FLOAT1.000–2
single_blocks.17.FLOAT1.000–2
single_blocks.18.FLOAT1.000–2
single_blocks.19.FLOAT1.000–2
single_stream_modulation.FLOAT1.000–2
final_layer.FLOAT1.000–2

Outputs (1)

NameTypeDescription
MODELMODEL