Denoise Precision KSampler
The KSampler Clone That Cares
- model
- positive
- negative
- latent_image
- LATENT
Here's a QoL node that earns its name: a byte-for-byte clone of the stock ComfyUI KSampler, except the denoise parameter is expressed as a percentage instead of a fraction. That one change buys you two extra decimal places of precision, which sounds like a gimmick until you're doing img2img at 0.35 and the slider can't quite land where your A/B test says it should.
This is the kind of node you discover the use for after you've fought the stock denoise slider for an evening.
What it is and why you'd reach for it
Denoise (denoising strength) controls how much of your input latent survives. At 1.0 you're generating from scratch; at 0.3 you're doing a light refinement that keeps the composition; at 0.05 you're basically nudging pixels. That scale matters a lot for img2img, inpainting, and upscale-refine passes where tiny changes in strength are the difference between "same image, cleaner" and "subtle rewrite."
The stock KSampler exposes denoise as a 0.0–1.0 float with limited slider granularity. This node rescales it to 0–100 percent with a step of 0.01 - so 0.235 becomes a setting you can actually type. Per the tooltip in the node itself: 100.0 = full denoise, 1.0 = 0.01, and 0.01 = 0.0001 internally. It's the percentage readout, divided by 100, clamped to [0, 1], handed to the exact same sampling core ComfyUI uses.
Inputs and outputs
Everything else is identical to a normal KSampler, so there's no re-learning curve:
- model - the diffusion model.
- seed, steps, cfg - standard fare.
- sampler_name (44 options) and scheduler (9 options) - the full stock lists, so
euler,dpmpp_2m,karras,simple, all present. - positive / negative - your conditioning.
- latent_image - the latent to denoise from.
- denoise - 0.01–100, default 100. This is the one you came for.
Single LATENT output, same as core. Wire it exactly where you'd wire a KSampler.
Installing it
Manager: search "ComfyUI-Fossiel-QoL-Nodes" and install the pack. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/Fossiel/ComfyUI-Fossiel-QoL-Nodes
pip install -r ComfyUI-Fossiel-QoL-Nodes/requirements.txt
Restart, and the node shows up under the sampling category. No models, no weights, nothing to download - it's a thin wrapper over ComfyUI's own sampler code.
The honest caveats
It is a clone of the core node, so it carries the same behavior and none of the extras - if you're already using a fancy sampling pack with scheduling and guider support, this won't replace it. And a gentle warning: just because you can set denoise to 0.0001 doesn't mean you should. Below a few percent the noise injection is negligible and you're mostly paying for a full sampling pass to do almost nothing. Where this genuinely earns its keep is the mid-range - finding that 0.31 vs 0.33 threshold in a refine loop without fighting the UI.
One more thing: because it's an exact clone, denoise = 100 behaves identically to denoise = 1.0 on the stock KSampler. Same seed, same steps, same sampler, same scheduler - same result, pixel for pixel.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | The model used for denoising the input latent. | |
| seed | INT | 00–18446744073709550000 | — |
| steps | INT | 201–10000 | — |
| cfg | FLOAT | 8.00–100 | — |
| sampler_name | COMBO | 44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38 | |
| scheduler | COMBO | 9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3 | |
| positive | CONDITIONING | — | |
| negative | CONDITIONING | — | |
| latent_image | LATENT | — | |
| denoise | FLOAT | 100.000.01–100 | Displayed as percentage-like (100.0 = full denoise, 1.0 = 0.01, 0.01 = 0.0001) |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| LATENT | LATENT | — |