Nodes/ComfyUI Timesaver Nodes/TS Krea 2 Text Fusion
ComfyUI Node

TS Krea 2 Text Fusion

Krea 2 Keeps Ignoring You — This Is the One Number That Fixes It

By AlexYez·Created 2 years ago·Updated 4 days ago· 13
TS Krea 2 Text Fusion
  • model
  • model
strength1.00

The problem this node exists for

Krea 2 is a genuinely strong base model with one documented bruise: on your machine it follows prompts worse than the hosted version does. Krea's head of research said on the record why - the open weights went through alignment training the API model never got. In practice you see clauses about bodies, facial expression and violence quietly drop out, something users have described as craters in the model rather than a wall.

The fix the community settled on is a LoRA. Beinsezii's Krea-2-Turbo-Projector-Scale-LoRA is literally this tweak shipped as weights, and people stack a refusal-reduction LoRA on top of it. This node is the same trick as a slider instead of a file.

What it's actually multiplying

Krea 2's text encoder is Qwen3-VL-4B, and the model keeps twelve of that encoder's hidden layers at once - taps at hidden_states[2, 5, 8, … 35]. Those twelve are collapsed into the single embedding the DiT attends to by one linear layer inside the model: Linear(12 → 1), no bias. So its weight is not a matrix. It is twelve numbers, one per tap: a learned weighted sum.

Twelve numbers is a wonderfully small surface to grab. Multiply them, and you scale everything the prompt does - how loudly the text signal arrives. In the checkpoints the key is diffusion_model.txtfusion.projector.weight, and it carries the same name in Raw, in Turbo and in the int8 / convrot quants, so the node doesn't care which build you're on.

The implementation is a small piece of cleverness worth knowing about. ComfyUI has no "multiply this weight" patch, so the node attaches a patch of zeros with a patch strength of 0 and hands your value over as the patch's model strength. Core multiplies the weight by that strength before it adds the patch, and adding zeros changes nothing. The multiply lands on a copy, so your checkpoint on disk is untouched and the patch leaves with the model.

The two things you set

model takes a Krea 2 or a Krea 2 Turbo. That's the whole input requirement.

strength is the dial, from −10 to 10. 1.0 is the model as trained, and the node skips the work entirely at exactly 1.0. 3.0 is where the author of the original tweak landed - clearly better prompt adherence with the invention still intact. 0.0 silences the text path completely (worth doing once, to see what the architecture does without you), and negative values invert it.

How to tune it: don't jump straight to 3.0. Run 1.0 on a fixed seed, then 1.5, then 2, then 3. Over-literal and contrasty output means you went too far; the useful band is usually narrower than a slide from 1 straight to 3 suggests.

One output, model - wire it wherever your Krea model used to go.

Install

ComfyUI Manager → search Timesaver, or:

cd ComfyUI/custom_nodes
git clone https://github.com/AlexYez/comfyui-timesaver
cd comfyui-timesaver
python -m pip install -r requirements.txt

Restart ComfyUI. Fair warning: Timesaver is 76 nodes in one pack and its requirements are not shy (transformers>=5.2.0, openai-whisper, opencv-python-headless, imageio-ffmpeg…). You install all of that to get this one node. On a Windows portable build, run pip from python_embeded\python.exe or the dependencies land in a different interpreter than the one ComfyUI runs.

Where people get burned

The two errors this node raises are both informative, which is rare:

  • This model has no 'diffusion_model.txtfusion.projector.weight', so it is not a Krea 2. You connected something else. The twelve-layer text fusion exists only in Krea 2 and Krea 2 Turbo.
  • A second refusal - the model reports the key but refuses the patch - means a repackaged checkpoint put together differently. Rarer, but it fails loudly instead of handing you an unchanged picture.

Then the boring one, which is also the most common: strength at 3.0 and nothing looks different usually means the sampler is holding the original model rather than the node's output. It returns a clone - wire the clone.

And so you reach for the right tool: if what's bothering you is that your negative prompt does nothing, this is not the fix. Krea 2 Turbo runs at CFG 1, where the negative branch isn't even computed; a small CFG bump (people report 1.2 working) is the usual answer there, because attention-level guidance is refused on Krea 2 - its text and picture streams are fused before the stack.

CategoryTS/Utils

Inputs (2)

NameTypeDefaultDescription
modelMODELA Krea 2 or Krea 2 Turbo model. Nothing else carries this layer.
strengthFLOAT1.00-10–10Multiplier for the text-fusion projector. 1.0 is the model as trained and changes nothing; around 3.0 is what the author of the original tweak settles on — more prompt adherence while still inventive. 0.0 silences the text path entirely, and negative values invert it.

Outputs (1)

NameTypeDescription
modelMODELThe same model with the projector scaled. The original is untouched.