Save A1111-style Weighted Embeddings
The same weighted-embedding trick, but with A1111-style scaling
- clip
If you've read the article on Save Weighted Embeddings, this is the same node with one line of math changed. If you haven't: both freeze a prompt - including its (word:1.3) weights, which Flux/Qwen/Mistral tokenizers normally throw away - into a reusable embedding file. The difference is how the weight gets applied, and it matters for one specific reason: compatibility.
ComfyUI-style vs A1111-style weighting
- Save Weighted Embeddings interpolates the token vector toward the empty/pad embedding:
(embedding − empty) × weight + empty. Gentle, saturating, and the behavior ComfyUI itself uses. - Save A1111-style Weighted Embeddings just scales the vector:
embedding × weight. Harsher - a 1.4 weight pushes the vector 40% further in the same direction, and at extreme weights things can blow out.
Why would you want the harsher one? Because it's what the A1111 ecosystem expects. If you've ever loaded a .pt or .safetensors embedding that behaves like the volume knob is stuck on eleven, that's the difference. A1111-style weighting is the convention baked into years of existing embeddings and the people who build for them. So this node exists for when you want your frozen weighted prompt to behave like a traditional embedding: predictable in A1111-style workflows, and not dependent on the empty-embedding interpolation the other node uses.
Honestly, for pure ComfyUI use you'll usually want the interpolation version - it's less prone to overshoot and blends into prompts more cleanly. Reach for this one when you're producing a file to share, to drop into a workflow written around A1111 conventions, or when the interpolation path can't find a pad token for your encoder and you need a fallback.
Inputs and output
Identical shape to the rest of the pack's save nodes:
- clip - your CLIP; the node discovers and processes each sub-encoder (
clip_l,clip_g,t5xxl,qwen3_*,mistral3_*, …) present on it. - text - the weighted prompt to freeze.
- slice_bos_eos (default off) - strips BOS/EOS from
clip_l/clip_gand EOS from T5 parts when on. - filename_prefix (default
a1111_weighted_embed) - saves asa1111_weighted_embed_00001.safetensorsinComfyUI/models/embeddings/, auto-incremented.
No output ports; the file is the output. Reference it in any text encoder as embedding:a1111_weighted_embed_00001.
Installing and gotchas
Part of silveroxides/ComfyUI_EmbeddingToolkit - no dependencies, no model downloads. Via ComfyUI Manager (search "ComfyUI_EmbeddingToolkit") or:
cd ComfyUI/custom_nodes
git clone https://github.com/silveroxides/ComfyUI_EmbeddingToolkit
Then restart. The same caveats as every embedding apply: the file is locked to the encoder it was made on, and ComfyUI won't warn you when it can't apply an incompatible one. And per the pack README, uploading these to CivitAI under Early Access is called out as deceptive - free uploads are fine.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| clip | CLIP | — | |
| text | STRING | — | |
| slice_bos_eos | BOOLEAN | false | — |
| filename_prefix | STRING | a1111_weighted_embed | — |
Outputs (0)
No outputs