Nodes/ComfyUI_EmbeddingToolkit/Prompt Embedding Fixer
ComfyUI Node

Prompt Embedding Fixer

Name from gluing itself to your prompt

By silveroxides·Created about a year ago·Updated 4 months ago· 11
Prompt Embedding Fixer
    • STRING
    text

    This is the simplest node in the whole pack, and it does one thing: it guarantees whitespace around every embedding:name mention in your text. That's it. A couple of regex passes that add a space before and after any embedding:... token that's missing one.

    Why would you need that? Because ComfyUI's tokenizer resolves embedding:name as a whitespace-delimited token, and the embedding: prefix gets detected wherever it appears. Jam it against another word - photorealisticembedding:neg, which is exactly what you get when a wildcard or dynamic prompt stitches text together - and the reference runs into the word, so the name can't be resolved as a file. The fixer splits that apart: photorealisticembedding:neg becomes photorealistic embedding:neg, and 1girl,embedding:neg becomes 1girl, embedding:neg, with the reference cleanly isolated before the tokenizer ever sees it.

    Fair warning on the limits: it only handles spacing. If you write embedding:neg:0.8 A1111-style or glue a comma onto the name yourself, the comma and colon stay part of the name - the node won't re-parse those for you.

    When it's actually useful

    If you hand-type your prompts and your embeddings work, you don't need this. Where it earns its keep:

    • You're pasting prompts from elsewhere - CivitAI descriptions, old A1111 exports, someone's shared workflow - where embedding: references are glued to a neighboring word or a comma.
    • You're using dynamic prompts or wildcard expansion that stitches embedding:name into a string without bothering about spacing.
    • You want a belt-and-braces stage in a reusable template so embedding references always arrive at the text encoder well-formed.

    How to use it

    One input, one output:

    • text (multiline) - in.
    • STRING - out.

    It's not an output node, so this one wires normally: put it between your prompt source and a text encoder, or anywhere you're massaging prompt text before encoding. It touches nothing except whitespace around embedding: tokens, so it's safe to leave in a workflow permanently.

    Honestly, if the embedding in question is genuinely incompatible with your model (say, an SDXL CLIP file on a Qwen3 encoder), spacing won't save you - the fixer only fixes parsing, not architecture. But for the far more common case of a valid file with a mangled reference, it's the difference between an embedding that resolves and one that quietly does nothing.

    Installing

    Part of silveroxides/ComfyUI_EmbeddingToolkit - no dependencies, no model downloads, nothing to configure. Via ComfyUI Manager (search "ComfyUI_EmbeddingToolkit") or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/silveroxides/ComfyUI_EmbeddingToolkit
    

    Restart ComfyUI and it shows up under EmbeddingToolkit/Utils. It's the kind of node you install once, forget about, and are quietly grateful for the day a pasted prompt stops resolving.

    CategoryEmbeddingToolkit/Utils

    Inputs (1)

    NameTypeDefaultDescription
    textSTRING

    Outputs (1)

    NameTypeDescription
    STRINGSTRING