ComfyUI Node

Empty Conditioning

A real no-op CONDITIONING socket for ComfyUI

By zhangp365·Created 2 years ago·Updated 5 months ago· 134
Empty Conditioning
    • CONDITIONING

    This is about as minimal as a node gets: no inputs at all, one CONDITIONING output, and what it hands you is genuinely empty - zero-size, not "an encoding of an empty string." That distinction matters more than it sounds like it should.

    Why you'd want a conditioning that does nothing

    A lot of ComfyUI graphs have slots that expect a CONDITIONING plug even when you don't actually want it doing anything. The classic case is a sampler's negative-conditioning input. On older SD/SDXL-style setups people fill that with CLIPTextEncode fed an empty string - which works, but it still tokenizes and encodes something through the text encoder every single run, for a result you're discarding.

    It matters even more on the newer flow-matching, guidance-distilled models most of the current lineup has moved to. On those, CFG is typically pinned to 1 by default, and at CFG 1 the negative conditioning branch is mathematically inert - it never gets blended into the output at all. If your negative slot isn't doing anything either way, EmptyConditioning is the honest way to say so: skip the encode, skip the compute, and get a conditioning tensor that's structurally empty instead of "empty but expensively computed."

    It's also useful anywhere else a CONDITIONING wire is structurally required but conceptually optional - a bypass path you're testing, a reference/guidance input on a node you want to leave dormant, or just tidying up a graph where you'd otherwise have a CLIPTextEncode sitting there purely as plumbing.

    What's actually in the pack around it

    Looking at the rest of ComfyUI-utils-nodes, this isn't a one-off idea - the author built the same "give it a real off switch" pattern elsewhere too: ReferenceLatentSwitch wraps the official ReferenceLatent node with a toggle that, when off, passes the input conditioning straight through unchanged. EmptyConditioning is the more literal version of that instinct: instead of toggling a pass-through, it gives you a genuinely blank starting point you can wire in directly.

    Using it

    There's nothing to configure - drop the node, connect its CONDITIONING output wherever a socket needs filling, done. No required inputs means no way to get it wrong. The only decision is where you use it: negative conditioning on a CFG-1 model, a disabled reference-latent branch, or any conditioning input you're leaving intentionally unused for this run.

    Installing it

    Same install as the rest of the pack - through ComfyUI Manager (search "ComfyUI-utils-nodes"), or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/zhangp365/ComfyUI-utils-nodes
    

    Restart ComfyUI and it's in the node list under utils/conditioning. No model downloads, no extra Python dependencies - it's pure Python glue, so there's genuinely nothing to troubleshoot here beyond making sure the pack itself loaded (check the console on startup if the node doesn't show up).

    Categoryutils/conditioning

    Inputs (0)

    No inputs

    Outputs (1)

    NameTypeDescription
    CONDITIONINGCONDITIONING