Nodes/CFE_comfyui/CFE FLUX Guidance
ComfyUI Node

CFE FLUX Guidance

Flux's one real dial, fused with the prompt encode

By CpreForEver·Created 2 years ago·Updated 2 years ago· 0
CFE FLUX Guidance
  • clip
  • cond
guidance3.5
text

Every SDXL refugee has the same first Flux conversation. You reach for the CFG slider and a negative prompt, and both quietly do nothing. Flux is guidance-distilled: it was trained with the prompt baked in, so "CFG 7" isn't a tuning choice, it's a mistake that doubles your render time. What Flux has instead is a single number called guidance, and it travels inside the conditioning rather than as a CFG value on the sampler.

CFE FLUX Guidance is that number plus the prompt encode, fused into one node. It's ComfyUI's core FluxGuidance node and CLIPTextEncode squished together so you can drop two nodes and a wire from your graph - which is the entire stated purpose of this pack ("minimizing the noodles," per the author). Feed it your text and your CLIP, and out comes ready-to-sample conditioning for a positive-only workflow. There is no negative input, on purpose.

How it works

The mechanism is exactly what the core FluxGuidance node does, just earlier in the chain. The node tokenizes and encodes your text with the CLIP model, then pops the encoded conditioning and stuffs your guidance number into it as a metadata key. When the sampler runs, ComfyUI's Flux guider reads that key and uses it to scale prompt adherence - one pass, no negative branch, no doubled time.

The three inputs are all you get:

  • clip - your model's CLIP. (The tooltip here claims it's "the name of the sampler being used," which is a copy-paste artifact from the author's sampler nodes. It's a CLIP. Feed it a CLIP.)
  • text - your prompt. Multiline, and dynamic prompts are enabled.
  • guidance - a float from 0 to 100, default 3.5. This is the whole show.

The single output, cond (CONDITIONING), wires into the positive input of any sampler. On a stock KSampler, set CFG to 1.0 and let the guidance ride along in the conditioning - that's the Flux way.

Where people get burned

The author's own CFE FLUX Sampler takes its own cfg field and re-stamps guidance into the conditioning right before sampling. Wire this node into that sampler and the guidance you set here gets silently overwritten by the sampler's cfg. If you're running the pack's full chain, set the number on the sampler; if you're using a stock KSampler, set it here. Both default to the same 3.5, which is exactly why nobody notices until they start experimenting.

What the number actually does

Lower than the default loosens adherence and your prompt starts getting ignored; 5–8 follows the prompt harder but drifts into the "plastic" look people consistently complain about. Start at 3.5 and nudge up only when the prompt isn't landing. And don't bother wiring a negative prompt into this graph - on distilled Flux it does nothing by design, and you'll get a cleaner image from phrasing the positive prompt well.

Installing it

The node ships in the small personal pack ctefer/CFE_comfyui. Easiest route is ComfyUI Manager: search "CFE" (the pack title is CFE_comfyui) and install, then restart ComfyUI. Or the manual route:

cd ComfyUI/custom_nodes
git clone https://github.com/ctefer/CFE_comfyui

Then restart. Good news: there's no requirements.txt and no model downloads - the pack only uses ComfyUI's own internals, so nothing to fight with pip over. The bad news, in the author's own words: it's a personal playground, "no guarantees," and if something breaks, just don't use it. Fair deal for a node this small.

CategoryCFE/flux

Inputs (3)

NameTypeDefaultDescription
clipCLIPThe name of the sampler being used
guidanceFLOAT3.50–100The Classifier-Free Guidance scale balances creativity and adherence to the prompt. Higher values result in images more closely matching the prompt however too high values will negatively impact quality.
textSTRINGThe text to be encoded.

Outputs (1)

NameTypeDescription
condCONDITIONING