EmAySee Twenty Float To Text
Twelve body-attribute sliders that turn into prompt text lines
- combined_text
The name says "Twenty," the node actually ships twelve sliders - but you get the idea, and the sliders are the point. EmAySee Twenty Float To Text is a character-attribute control panel: twelve float sliders labeled for body attributes (Breasts Size, Breasts Sag, Areolas Size, Puffies, Belly Fat, Waist Size, Butt Size, Thigh Size, Thigh Gap, Body Type, Pregnant, Peeking Pubic Hairs), each ranging from -3 to 5 in 0.1 steps, and it turns any non-zero slider into a line of text you can inject into your prompt.
So the workflow it's built for is adult character generation with sliders instead of typing. Set the dials, the node emits lines like Waist Size: 1.20 and Butt Size: 2.50 for every slider you moved, and you feed that text into a prompt encoder or a text combiner alongside the rest of your prompt. The values are emitted as text, not as numbers - the model sees words, which is exactly what a diffusion model wants.
How it works
Two behaviors worth knowing before you set anything:
- Zero means "don't mention it." Only non-zero sliders produce output lines. This is deliberate: a body-attribute tag only belongs in the prompt when you're actually changing it. Leave everything at 0 and you get an empty string.
- Values are formatted to two decimals as
Label: value(e.g.Breasts Size: 2.50), joined with newlines. The labels are hardcoded - you can't rename them or add sliders. What you get is what the author tuned for their own character-rig.
The text goes out as combined_text, one line per active slider. It's plain text, so downstream you can append it to the main prompt, slot it into a Text Combiner, or pre-process it with the pack's Text Replace node if you want the labels rewritten into booru-style tags.
The inputs that matter
All twelve are FLOAT sliders, default 0, range -3 to 5, step 0.1. The negative range is meaningful - the author uses it for "less than baseline" (a "Shrink" direction), so don't assume 0 is the floor of a scale that goes to 5; it's a bipolar control. Beyond that, there's nothing to configure. Output is a single combined_text string.
Installing it
Same pack: ComfyUI_EmAySee_CustomNodes via ComfyUI Manager, or git clone https://github.com/EmAySee/ComfyUI_EmAySee_CustomNodes into custom_nodes/, then restart. No dependencies, no models - it's sliders and string formatting.
The honest take
This node is blunt about what it is. The attribute list is fixed and NSFW-leaning, there's no way to add your own sliders, and "Twenty" in the name doesn't match the twelve it ships (there's a V2 file in the repo if the author kept iterating). If you just want numeric attribute dials that you can wire into anything, this works. If you want a general-purpose "N floats to text" tool, a plain float-to-text node does the same thing without the hardcoded labels. And one real gotcha: the output uses a space after the colon and newline separators - if your downstream prompt consumer expects comma-separated tags, run the output through a join/replace node first, or the odd line break will end up mid-prompt.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| Breasts Size | FLOAT | 0.0-3–5 | — |
| Breasts Sag | FLOAT | 0.0-3–5 | — |
| Areolas Size | FLOAT | 0.0-3–5 | — |
| Puffies | FLOAT | 0.0-3–5 | — |
| Belly Fat | FLOAT | 0.0-3–5 | — |
| Waist Size | FLOAT | 0.0-3–5 | — |
| Butt Size | FLOAT | 0.0-3–5 | — |
| Thigh Size | FLOAT | 0.0-3–5 | — |
| Thigh Gap | FLOAT | 0.0-3–5 | — |
| Body Type | FLOAT | 0.0-3–5 | — |
| Pregnant | FLOAT | 0.0-3–5 | — |
| Peeking Pubic Hairs | FLOAT | 0.0-3–5 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| combined_text | STRING | — |