Nodes/ComfyUI-FluxHallucinate/Flux Hallucinate (conditioning chaos)
ComfyUI Node

Flux Hallucinate (conditioning chaos)

Flux obeys you too well — this node breaks its brain on purpose

By isam2024·Created 3 months ago·Updated 3 months ago· 0
Flux Hallucinate (conditioning chaos)
  • conditioning
  • CONDITIONING
t5_scale0.65
embed_noise0.20
token_dropout0.00
token_shuffle0.00
pooled_scale1.00
pooled_noise0.00
seed0

Flux is a people-pleaser. Point it at "a quiet forest path at dusk" and you get a quiet forest path at dusk, every time, arranged exactly the way your words imply. That's normally the selling point. But if you came up on SD1.5 or SDXL, it can feel like the model stopped having opinions - a little too beholden to the prompt, as one early Flux thread put it. FluxHallucinate exists to fix that by making it worse on purpose. It deliberately degrades the prompt conditioning so Flux stops obeying and starts interpreting, drifting, inventing: the loose, hallucinatory feel your old checkpoint had.

Why Flux is so literal-minded

The pack's README names three culprits, and each node in the pack attacks one. FluxHallucinate is the conditioning attack, aimed at the biggest one:

  • T5-XXL sequence embeddings are the real engine of prompt adherence. SDXL never had T5 (CLIP only), which is a big part of why it drifts and invents. Flux's natural-language understanding is exactly what makes it obedient.
  • Guidance distillation - Flux Dev bakes strong adherence into a single guidance scalar. There's no CFG and no negative prompt on it.
  • Rectified-flow sampling walks a near-straight path to a clean image, with little of the per-step noise wandering that ancestral SD1.5 samplers had.

FluxHallucinate weakens and scrambles the T5 and CLIP conditioning so the model has to fill gaps. What you get is interpretation instead of transcription.

How it works

The node takes a CONDITIONING input and returns a CONDITIONING output. Inside, it reads the text-embedding tensor and the CLIP pooled vector, applies whatever degradation you've dialed in (each knob is a no-op at its neutral value), and hands the mangled result to the sampler. The noise it adds is scaled to the tensor's own standard deviation, so it bites regardless of magnitude.

The knobs that matter:

  • t5_scale (default 0.65): shrinks the T5 sequence embeddings. Toward 0 ≈ ignore the prompt body. This is the master "looseness" knob.
  • embed_noise (default 0.20): gaussian noise on the T5 embeddings → hallucinated associations that aren't in your prompt. 0.2 is the sweet spot; push toward 1 if you want genuine strangers in your scene.
  • token_dropout (0–0.15): zeroes whole token positions, so the model fills in dropped concepts from context. Low values only.
  • token_shuffle (0–0.2): permutes a fraction of token positions - scrambled word-order meaning. Higher values get silly fast.
  • pooled_scale / pooled_noise: the global CLIP "mood" vector that SDXL leaned on. Leave at 1.0 / 0.0 until you're comfortable.
  • seed: makes the whole degradation reproducible.

Wiring it up

Drop it on the positive conditioning line, between CLIP Text Encode and the sampler/guider. It's a conditioning transform, not a model patch, so it works regardless of where your LoRAs are loaded - it just needs to see the conditioning before the sampler does. Feed its CONDITIONING output to the sampler's positive input (or through a guider).

Installing

It ships in the ComfyUI-FluxHallucinate pack alongside Flux Noise Injection and Flux Chaos Guidance. Clone and restart - a node-list refresh won't pick up a brand-new package:

cd ComfyUI/custom_nodes
git clone https://github.com/isam2024/ComfyUI-FluxHallucinate

Then restart ComfyUI. There are no extra dependencies - the whole pack is pure torch in a single file, and there are no model files to download. ComfyUI Manager may have it listed under "ComfyUI-FluxHallucinate" if you'd rather click.

Common issues

  • "It did nothing" - at the defaults (0.65 / 0.20) the effect is real but gentle. Crank embed_noise to 0.5 and you'll hear it. Check your sampling settings too; Flux wants Euler with a Simple/Normal scheduler, and wrong samplers can drown out the effect.
  • "Everything's mush" - the pack's recipe is t5_scale 0.6, embed_noise 0.25, low guidance, and one of the ancestral samplers. Introduce one knob at a time; stacking all four degradation layers at once is how you get concept soup.
  • It doesn't move the model - this is conditioning chaos only. If you also want per-step wandering and looser guidance, that's the other two nodes in the same pack, and they compound.
  • Not reproducible across runs - you changed the seed. Set a fixed seed and the degradation is stable; it's one of the few places where the seed genuinely matters.
Categoryconditioning/chaos

Inputs (8)

NameTypeDefaultDescription
conditioningCONDITIONING
t5_scaleFLOAT0.650–2
embed_noiseFLOAT0.200–5
token_dropoutFLOAT0.000–1
token_shuffleFLOAT0.000–1
pooled_scaleFLOAT1.000–2
pooled_noiseFLOAT0.000–5
seedINT00–18446744073709550000

Outputs (1)

NameTypeDescription
CONDITIONINGCONDITIONING