Float Literal (Image Saver)
A decimal-number source for denoise, weights and the like
- FLOAT
The decimal cousin of Int Literal. It outputs a single floating-point number, and it exists in the Image Saver pack for the same "define once, wire to many" reason as the rest of the literal family. Anywhere a workflow wants a decimal value that you'd like to control from one spot - a denoise strength, a weight, a scale - this gives you a clean source you can fan out to a sampler and to your metadata so they stay in lockstep.
How it works
You set a float; it comes out as a FLOAT with a step of 0.01. That's the entire node. Its value is being a shared source: one place to set a decimal, multiple destinations reading it. No math, no transformation.
The inputs and outputs that matter
- float - a floating-point value (step 0.01, default 1).
The single output is a FLOAT. Route it wherever a decimal input lives - a KSampler's denoise, a LoRA or conditioning weight, a scale factor - and, if it's a value you want recorded, into the saver too.
The most common target is denoise, and the values there are worth knowing: 1.0 for plain text-to-image (start from pure noise), roughly 0.4–0.7 for img2img or a hires-fix second pass (keep some of the source), and lower still if you only want a light polish. Driving that one number from a Float Literal means the denoise your sampler used is the denoise your metadata reports.
Installing it
ComfyUI Manager: search ComfyUI Image Saver, install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/alexopus/ComfyUI-Image-Saver
cd ComfyUI-Image-Saver
pip install -r requirements.txt
Restart, hard-refresh. No downloads.
Where people get tripped up
Pick the right literal for the job. If the number is specifically CFG, the pack's Cfg Literal already clamps to the sensible 0–100 range and labels its output for you; for CFG that's the tidier choice. Float Literal is the general-purpose one for everything else decimal.
One more thing on precision: the step is 0.01, so this happily holds values like 0.55 or 3.75 that an integer node can't. That's the reason it exists separately from Int Literal - decimals for denoise, weights and scales; whole numbers for steps and seeds go to the integer nodes.
The broader caution is the same across the family: a standalone literal node only earns its keep when you genuinely need one value in several places. If a denoise or a weight lives in a single node, just type it into that widget - a dangling Float Literal wired to one input is clutter, not clarity. And when you're wiring up a whole run for metadata (seed, steps, cfg, sampler, scheduler, denoise), the Input Parameters node carries denoise as a float output already, so you rarely need a separate Float Literal just for that.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| float | FLOAT | 1.00 | floating point number |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| FLOAT | FLOAT | float (FLOAT) |