Use embeddings without the syntax confusion
Textual Inversion embeddings are tiny files that teach Stable Diffusion a new
style, character or quality fix and bind it to a trigger word. They are one
of the cheapest ways to upgrade your output — easynegative alone cleans up a
huge range of artifacts. The only thing that trips people up is the syntax,
which differs between Automatic1111 and ComfyUI. This guide generates the exact
token to paste, in the right prompt box, at the weight you want.
How embeddings work and where they go
An embedding does not modify the model’s weights. Instead it adds a new “word” to the text encoder’s vocabulary that maps to a learned concept. To use it you simply reference its filename (minus the extension):
- Automatic1111 / Forge — type the bare name:
easynegative,my-art-style. The UI auto-detects files in yourembeddings/folder. - ComfyUI — use the prefix form:
embedding:easynegative. The file lives inmodels/embeddings/.
Placement matters:
- Positive embeddings (styles, subjects, quality boosters) go in the positive prompt, usually near the front for style or with your subject.
- Negative embeddings (
easynegative,badhandv4,ng_deepnegative) go in the negative prompt — they describe what to avoid.
Understanding what Textual Inversion actually does
Textual Inversion (the training technique, not just the resulting files) works by finding a new token in the CLIP text encoder’s embedding space that best activates the target concept. During training, the model’s weights stay frozen and only the new token’s embedding vector is optimised. This is why embeddings are small (a few KB) and architecture-specific: the learned vector is tied to the specific CLIP encoder used by SD 1.5 or SDXL — it is literally coordinates in that encoder’s learned vocabulary space.
When you type the trigger word in a prompt, the text encoder replaces it with this learned vector before the diffusion process sees the text. Everything else in the prompt is processed normally.
Tips on weighting and stacking
- Tune the weight. If an embedding dominates, dial it down:
(my-style:0.7). If it is too weak, raise toward 1.2. Standard Automatic1111 weighting syntax works on embeddings the same way it works on regular tokens. - Don’t over-stack negatives. Three or four well-chosen negative embeddings cover most artifacts. Adding ten or fifteen often produces flat, desaturated images because the negative prompt begins overriding desirable features too.
- Names are exact and case-sensitive on some systems. Copy the filename precisely — a typo means the token is silently treated as an unknown word rather than loading the embedding.
- SD 1.5 vs SDXL. Embeddings trained on SD 1.5’s CLIP encoder will not load on an SDXL model (which uses a different, dual-encoder architecture) and vice versa. Verify the model architecture before downloading.
Common negative embeddings and what they target
| Embedding | What it addresses |
|---|---|
| easynegative | General low-quality outputs, deformed anatomy, bad composition |
| badhandv4 | Specifically malformed hands and fingers — a known SD weakness |
| ng_deepnegative | Deep negative conditioning for anatomy and quality issues |
| verybadimagenegative | Watermarks, text in images, compressed-looking outputs |
These are widely used community embeddings. Results vary by base model and sampling settings, so test each one on your typical prompts and disable any that change the look more than you want.
Prompt placement in Automatic1111
For positive embeddings that define an overall style, placing them early in the
prompt (before the subject description) gives them stronger influence. For quality
booster embeddings like detailed, photo-realistic, placing them mid-prompt works
well. Experiment with order to find what feels right for your specific model and
style target.