π Embedding Selector
Pick a textual inversion from a dropdown instead of typing its filename
- text
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 yourmodels/embeddingsfolder 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.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| embedding | COMBO | 0 options: | |
| strength | FLOAT | 1.000β2 | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| text | STRING | β |