Nodes/ComfyUI GOAT Nodes/🐐 Embedding Selector
ComfyUI Node

🐐 Embedding Selector

Pick a textual inversion from a dropdown instead of typing its filename

By AconexOfficialΒ·Created 2 years agoΒ·Updated 12 months agoΒ· 11
🐐 Embedding Selector
    • text
    β—„embeddingβ–Ύβ–Ί
    β—„strength1.00β–Ί

    Using an embedding (a textual inversion) in ComfyUI normally means typing embedding:filename:1.0 directly into your prompt text, spelling exactly right, remembering the syntax, and manually retyping the strength every time you want to tweak it. It works, but it's fragile - one typo and the embedding silently doesn't apply, with no error to tell you. Embedding Selector turns that into a dropdown plus a slider: pick the file, set the strength, and it hands you back the correctly-formatted string to drop into your prompt.

    How it works

    This is a small, honest utility node - it doesn't apply anything itself. It builds the embedding:name:strength syntax string for you from a dropdown of whatever's sitting in your models/embeddings folder, then outputs it as plain text. You concatenate that output into your actual prompt (string concat node, or GOAT's own Triple Prompt) before it reaches your CLIP Text Encode. One genuinely useful detail baked into the logic: if you set the strength low enough that the embedding wouldn't meaningfully do anything, the node skips emitting it entirely rather than outputting a weird embedding:name:0.0 fragment that clutters your prompt for no effect.

    Inputs and outputs that matter

    • embedding - a dropdown populated from your installed embeddings. If it's empty, you don't have any embedding files in your models/embeddings folder yet - this node can't create them, only reference what's there.
    • strength (0–2, default 1, step 0.05) - the weight applied to the embedding. 1.0 is "as trained"; push it up for a stronger pull toward whatever the embedding represents, or down to soften it. Drop it low enough and, per the node's own logic, it just gets omitted from the output instead of cluttering your prompt with a near-zero weight.

    One output: text (STRING) - the formatted embedding:name:strength fragment, ready to concatenate into your actual prompt string.

    How to install it

    ComfyUI Manager: search "GOAT Nodes", install, restart. Manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/AconexOfficial/ComfyUI_GOAT_Nodes.git
    

    then restart ComfyUI. This node reads your existing embeddings folder - it doesn't download anything itself, so you still need your .pt/.safetensors embedding files sitting in ComfyUI/models/embeddings beforehand (through ComfyUI Manager's model browser or wherever you got them, e.g. CivitAI).

    Common issues & troubleshooting

    Dropdown is empty. You have no embeddings installed. Embeddings are a different asset type from checkpoints or LoRAs - they need to live specifically in models/embeddings, and ComfyUI only scans that folder on startup, so a file you just dropped in won't show up until you restart.

    Nothing seems to happen in the output image. Remember this node only produces a string fragment - it does nothing on its own. Check that the text output is actually wired into something that reaches your prompt (a concat node feeding CLIP Text Encode), not just sitting disconnected on the graph. Also worth knowing generally: embeddings are trained per model architecture (an SD1.5 embedding does nothing sensible on SDXL or Flux), so if the fragment is reaching your prompt and still doing nothing, double check the embedding was actually trained for the checkpoint you're running.

    Strength feels like it's doing nothing near the low end. That's the intended cutoff behavior, not a bug - the node deliberately drops embeddings whose strength is too low to matter rather than emitting a no-op fragment. If you want a visible effect, push strength up rather than assuming a small value at least does something.

    Category🐐 GOAT Nodes/Input

    Inputs (2)

    NameTypeDefaultDescription
    embeddingCOMBO0 options:
    strengthFLOAT1.000–2β€”

    Outputs (1)

    NameTypeDescription
    textSTRINGβ€”