Nodes/DemonAlone-nodes-ComfyUI/Dynamic Encoder Selector
ComfyUI Node

Dynamic Encoder Selector

Picking which text encoders a run actually uses

By DemonAlone·Created 7 months ago·Updated 22 days ago· 3
Dynamic Encoder Selector
    • STRING
    • LIST
    text_enc_1none
    text_enc_2none
    text_enc_3none
    text_enc_4none
    text_enc_5none
    text_enc_6none
    text_enc_7none
    text_enc_8none
    text_enc_9none
    text_enc_10none

    Most current checkpoints don't run on a single text encoder anymore. SDXL combines CLIP-L and OpenCLIP-G. Flux pairs CLIP-L with T5-XXL. Newer models like Z-Image or Flux 2 Klein skip CLIP entirely and use an LLM - Qwen3, Mistral - as the encoder outright. The moment you're juggling more than one encoder file, or comparing how a workflow behaves with different encoder combinations swapped in, you need somewhere to actually pick which ones are in play. That's this node's job - the display name, "Dynamic Encoder Selector," is more honest about what it does than the class name.

    It gives you ten dropdown slots, each one a live list of whatever encoder files ComfyUI finds on your system, and lets you pick up to ten of them. What comes out is not a loaded CLIP model - there's no CLIP-typed output here. It hands back your selections as a joined STRING and as a LIST. Given that this whole pack was, per its own README, "originally crafted to support XYZ-plot pipelines," the most sensible read of this node is that it's meant to be an axis in a comparison grid: pick which encoder a given test cell should use, and get that choice back as a label you can display and a value you can iterate - not as something you plug straight into a sampler.

    The inputs and outputs that matter

    All ten fields are technically required, but don't let that intimidate you - "required" here just means each dropdown always carries some value, defaulting to none, not that you're expected to fill all ten:

    • text_enc_1 through text_enc_10 - each a dropdown populated from your installed encoder files, defaulting to none. In practice you'll set one or two and leave the rest alone. What actually shows up in each dropdown depends entirely on what's sitting in your ComfyUI models folder - an empty install shows nothing but none.

    Two outputs: a STRING (your selections joined into one string - useful as a label, or fed into a filename) and a LIST (the same selections in iterable form, for feeding into a loop or one of this pack's other list-consuming utilities).

    How to install it

    Through ComfyUI Manager, search "DemonAlone-nodes-ComfyUI." Manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/DemonAlone/SimpeStringGenerator_ComfyUI
    

    then restart. The clone URL is the pack's original name, SimpeStringGenerator_ComfyUI, while it now presents as "DemonAlone-nodes-ComfyUI" elsewhere - same repo. No model weights ship with the node itself; it only reads whatever encoder files you've already got installed.

    Common issues & troubleshooting

    Every dropdown just shows "none." That means ComfyUI didn't find any text-encoder files where it expects them. This node doesn't ship any encoders itself - it only lists what's already on disk, so if the list is empty, the fix is installing the actual CLIP/T5/LLM encoder files your checkpoint needs, not this node.

    Plugging the output straight into a node expecting a loaded CLIP fails. That's expected - the outputs here are a STRING and a LIST of chosen filenames, not a CLIP object. This node selects and labels; it doesn't load. If you need the actual encoder loaded for inference, you're still routing through a standard loader (or this pack's own, if it has one) - this node is the picker sitting in front of that step, not a replacement for it.

    No community discussion to check against. This is a small personal pack with essentially no footprint outside its own repository, so there's nothing to search for if a selection isn't behaving as expected - the source is short enough to read directly.

    Categoryutils

    Inputs (10)

    NameTypeDefaultDescription
    text_enc_1COMBOnone1 options: none
    text_enc_2COMBOnone1 options: none
    text_enc_3COMBOnone1 options: none
    text_enc_4COMBOnone1 options: none
    text_enc_5COMBOnone1 options: none
    text_enc_6COMBOnone1 options: none
    text_enc_7COMBOnone1 options: none
    text_enc_8COMBOnone1 options: none
    text_enc_9COMBOnone1 options: none
    text_enc_10COMBOnone1 options: none

    Outputs (2)

    NameTypeDescription
    STRINGSTRING
    LISTLIST