Nodes/ComfyUI_EmAySee_CustomNodes/EmAySee Twenty Float To Text And Float
ComfyUI Node

EmAySee Twenty Float To Text And Float

The body-attribute text builder

By EmAySee·Created about a year ago·Updated 4 months ago· 2
EmAySee Twenty Float To Text And Float
    • combined_text
    • Breasts Size
    • Breasts Sag
    • Areloas Size
    • Puffie
    • Belly Fat
    • Waist Size
    • Butt Size
    • Thigh Size
    • Thigh Spacing
    • Body Type
    • Pregnant
    • Pubic Hair Peek
    • Option 01
    • Option 02
    • Option 03
    • Option 04
    • Option 05
    • Option 06
    • Option 07
    • Option 08
    Breasts Size0.00
    Breasts Sag0.00
    Areloas Size0.00
    Puffie0.00
    Belly Fat0.00
    Waist Size0.00
    Butt Size0.00
    Thigh Size0.00
    Thigh Spacing0.00
    Body Type0.00
    Pregnant0.00
    Pubic Hair Peek0.00
    Option 010.00
    Option 020.00
    Option 030.00
    Option 040.00
    Option 050.00
    Option 060.00
    Option 070.00
    Option 080.00

    If you build photoreal workflows with body-attribute sliders - the kind where a dozen LoRA-ish values control everything from waist to thigh spacing - you know the annoying part isn't the sliders, it's turning twenty of them into one usable prompt string. That's the whole job of EmAySee Twenty Float To Text And Float. You get twenty float inputs, it hands you back a single text line that only lists the attributes you actually touched.

    The trick that makes it work is that zero means "leave it out." Each of the twenty inputs (Breasts Size, Breasts Sag, Areloas Size, Puffie, Belly Fat, Waist Size, Butt Size, Thigh Size, Thigh Spacing, Body Type, Pregnant, Pubic Hair Peek, plus eight generically named Option 01–08) is a float slider from -2 to 3 in steps of 0.01. Any value that isn't 0 gets formatted as Label: 1.25 and appended to the output, one per line. Anything still sitting at its default of 0 is silently dropped. So the combined_text output is always exactly the list of attributes you changed - a clean prompt fragment you can wire straight into a positive prompt or into the text encoder.

    The mechanism is boring in the best way. No LLM, no API, no model files, no network. It's a loop that formats each non-zero value with two decimal places and joins the lines with newlines. That's it. Which also means there's nothing to break and nothing to configure.

    One thing that surprises people: this node also has outputs. Alongside combined_text it echoes all twenty floats back out as named FLOAT outputs, one per input. That's a pass-through convenience - you can route the same slider value into a LoRA strength or a second text builder without dragging a separate Reroute node into the graph. If you don't need that, just ignore the float outputs and read the text one.

    Where it fits: this is part of a bigger pack of personal automation nodes from EmAySee (the repo brands itself "SPECTRE"), and it's clearly built for the author's own slider-driven photoreal pipeline rather than for general audiences. The README is honest about this - it's a list of AI-generated one-liners that ends with "code provided without any guarantees or warranties." Don't expect docs or support.

    How to install

    Install the whole pack once - this node ships inside ComfyUI_EmAySee_CustomNodes:

    cd ComfyUI/custom_nodes
    git clone https://github.com/EmAySee/ComfyUI_EmAySee_CustomNodes
    

    Then restart ComfyUI. Or skip the terminal and search ComfyUI_EmAySee_CustomNodes in ComfyUI Manager. There's no requirements.txt and no model download - the node is pure Python and runs on what ComfyUI already ships. On startup the pack prints a big magenta "SPECTRE v5.0" ASCII banner in your console; that's normal, not a crash.

    Where people trip up

    • Setting a slider to 0 removes the tag. If you want "neutral" in a slider workflow you usually want 0 - but be aware the moment you drag it back to 0 mid-experiment, that attribute vanishes from the prompt entirely.
    • Default output is empty. With all inputs at 0, combined_text is an empty string. That's correct behavior, but it makes this node look broken if you test it before touching any slider.
    • The range is -2 to +3. The pack's older TwentyFloatToText goes -3 to +5 in 0.1 steps; this one is finer (0.01) but tighter. If you're swapping between the two, your saved slider values won't map 1:1.

    Honestly, if you're just after "turn floats into a prompt line," this is fine. If you want the individual attributes as separate strings too, the V2 version of this node does that - but for the simple case, this is the one.

    CategoryEmAySee/Text

    Inputs (20)

    NameTypeDefaultDescription
    Breasts SizeFLOAT0.00-2–3
    Breasts SagFLOAT0.00-2–3
    Areloas SizeFLOAT0.00-2–3
    PuffieFLOAT0.00-2–3
    Belly FatFLOAT0.00-2–3
    Waist SizeFLOAT0.00-2–3
    Butt SizeFLOAT0.00-2–3
    Thigh SizeFLOAT0.00-2–3
    Thigh SpacingFLOAT0.00-2–3
    Body TypeFLOAT0.00-2–3
    PregnantFLOAT0.00-2–3
    Pubic Hair PeekFLOAT0.00-2–3
    Option 01FLOAT0.00-2–3
    Option 02FLOAT0.00-2–3
    Option 03FLOAT0.00-2–3
    Option 04FLOAT0.00-2–3
    Option 05FLOAT0.00-2–3
    Option 06FLOAT0.00-2–3
    Option 07FLOAT0.00-2–3
    Option 08FLOAT0.00-2–3

    Outputs (21)

    NameTypeDescription
    combined_textSTRING
    Breasts SizeFLOAT
    Breasts SagFLOAT
    Areloas SizeFLOAT
    PuffieFLOAT
    Belly FatFLOAT
    Waist SizeFLOAT
    Butt SizeFLOAT
    Thigh SizeFLOAT
    Thigh SpacingFLOAT
    Body TypeFLOAT
    PregnantFLOAT
    Pubic Hair PeekFLOAT
    Option 01FLOAT
    Option 02FLOAT
    Option 03FLOAT
    Option 04FLOAT
    Option 05FLOAT
    Option 06FLOAT
    Option 07FLOAT
    Option 08FLOAT