Nodes/ComfyUI-Flux2Klein-Enhancer/FLUX.2 Klein Text Enhancer
ComfyUI Node

FLUX.2 Klein Text Enhancer

The simple, one-stop version of prompt strength control

By capitan01R·Created 7 months ago·Updated 30 days ago· 551
FLUX.2 Klein Text Enhancer
  • conditioning
  • CONDITIONING
magnitude1.00
contrast0.00
normalize_strength0.00
skip_bostrue
debugfalse

Klein reads your prompt through a Qwen3 LLM as an instruction, not through CLIP as weighted tags - which means the classic (word:1.4) emphasis syntax simply isn't parsed and does nothing. This pack has two answers to that gap. The full-featured one, FLUX.2 Klein Enhancer, is a mixing board with per-layer controls. This is the other one: four fields, no Klein-specific layer plumbing, good enough for most people most of the time.

What it's actually doing

It modifies the active text embeddings directly - magnitude (overall scale), contrast (how differentiated tokens are from each other), and normalization (how equalized their magnitudes are). It's worth being precise about what it isn't: it does not parse prompt meaning, doesn't assign semantic roles to specific words, and can't selectively boost "the dress" while leaving "the lighting" alone. Everything here is a global operation over the active token region. If you need per-section control - front of the prompt weighted differently from the end - that's what Sectioned Encoder plus Detail Controller are for, not this node.

The inputs that matter

  • magnitude - required, default 1.0. Below 1 weakens the whole prompt's influence, above 1 strengthens it. This is the one field you'll actually reach for most often; it's the closest thing to a global "prompt strength" dial Klein has.
  • contrast (optional, default 0) - positive values sharpen how differentiated tokens are from each other; negative values blend them together. Think of it as controlling how distinctly the model treats different concepts in your prompt, not how strong any one of them is.
  • normalize_strength (optional, default 0) - equalizes token magnitudes toward the sequence average. 0 means off.
  • skip_bos (optional, default true) - skips token 0, the beginning-of-sequence token, which the tooltip notes carries a disproportionately huge norm. Leave this on unless you have a specific reason not to; including the BOS token in magnitude/contrast operations tends to skew results toward that one outlier token.

Output is a single CONDITIONING, wired straight to your sampler's positive input.

Installing it

ComfyUI Manager: search ComfyUI-Flux2Klein-Enhancer, install, restart. Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/capitan01R/ComfyUI-Flux2Klein-Enhancer.git

No extra dependencies.

Where people get burned

magnitude at neutral (1.0) with everything else at 0 is a pass-through, so this is safe to drop into a working graph and dial up from there. The mistake people make is expecting contrast to behave like weighting a specific word - it doesn't touch individual concepts, it changes how sharply all tokens are differentiated from each other, which is a subtler and more global effect than most people expect from something called "contrast."

If you're not getting the emphasis control you want out of magnitude and contrast together, don't keep pushing them further off their defaults - that's usually the sign you actually need the more granular FLUX.2 Klein Enhancer (per-Qwen-layer scaling) or the section-based Sectioned Encoder/Detail Controller pair instead, rather than a reason to crank this node past sensible bounds. And don't stack this node with Enhancer on the same conditioning - their effects compound, and it gets hard to tell which one is responsible for a given result.

Categoryconditioning/flux2klein

Inputs (6)

NameTypeDefaultDescription
conditioningCONDITIONING
magnitudeFLOAT1.000–3Scale text embeddings. <1=weaker prompt, >1=stronger
contrastoptFLOAT0.00-1–2Token differentiation. >0=sharper, <0=blended
normalize_strengthoptFLOAT0.000–1Equalize token magnitudes
skip_bosoptBOOLEANtrueSkip token 0 (BOS token with huge norm)
debugoptBOOLEANfalse

Outputs (1)

NameTypeDescription
CONDITIONINGCONDITIONING