Civitai Embedding Selector
Textual-inversion embeddings for the cloud — no trigger word required
- embeddings
- embeddings
Embeddings - textual inversion, the 10-to-80 KB files that teach a text encoder a new word - mostly lost to LoRA years ago, but they're still everywhere in the SDXL-lineage anime world. Civitai Embedding Selector is how you attach them to a cloud generation: pick one (or chain several), wire the output into a recipe node's embeddings socket, and the Civitai pipeline applies it for you. No local file, no ComfyUI Load Embedding node, no trigger-word guessing.
What it is
A loader node under Civitai/Loaders that produces an embeddings output (type CIVITAI_EMBEDDINGS). It's a sibling of the pack's Model and LoRA selectors, built for the same pattern: selectors pick resources on the canvas, recipe nodes consume them via typed sockets.
One input genuinely matters: air - the embedding's AIR identifier, filled by the 🔍 Browse Civitai button (the searchable card grid every selector has). The optional embeddings socket is the chain-in: connect another Embedding Selector to combine stacks.
How it works - and the part that surprises people
The README is explicit about a quirk that trips up anyone coming from local ComfyUI: the pipeline prepends each embedding to the positive prompt automatically, so no trigger word is needed. That's backwards from local practice, where you type the embedding's trigger token into your prompt to invoke it. Here, selecting the embedding is the invocation.
Want it on the negative side? Then reference it by its model name inside the recipe node's negative prompt - that's how you place it on the negative side instead. (And per the pack docs, only the sdcpp ecosystems - sd1/sdxl - expose an embeddings input at all, which makes sense: those are the lineages where embeddings still live, per the KB's embedding panel.)
Install & gotchas
Same pack install as everything here - ComfyUI Manager (search Civitai Comfy Nodes), comfy node registry-install civitai-comfy-nodes, or git clone + pip install -r requirements.txt.
The failure modes worth knowing:
- If your recipe node has no
embeddingssocket, the ecosystem doesn't support them. It's not a wiring problem you can fix - the pack only exposes that input on sd1/sdxl cloud engines. Don't burn an hour hunting for a missing socket. - A selected embedding applies even if your prompt says nothing about it. That's the feature, but it means an embedding you forgot to disconnect will silently steer results. The selector shows an on-node preview of the current resource; glance at it before you queue.
- Metered cloud calls. You're running on Civitai's fleet, so each generation costs Buzz, and the embedding rides along in the request. Check
raw_jsonon any run to see the cost.
Honest take: for most people in 2026, a LoRA is the better tool - embeddings are a diminishing part of the modern stack (the KB's embedding panel calls them "lost to LoRA"). This node is worth having for the specific corner where you already own the right embedding: SDXL anime bases, where the trained-vector library is deep and the files are trivially cheap to run. For that niche it's genuinely frictionless - no file management, no trigger word, just pick and go.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| air | STRING | Embedding AIR (use the Browse Civitai button) | |
| embeddingsopt | CIVITAI_EMBEDDINGS | Chain from another Civitai Embedding Selector |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| embeddings | CIVITAI_EMBEDDINGS | — |