PreSampling (SDTurbo)
PreSampling (SDTurbo) – ComfyUI Node Guide
- pipe
- pipe
This is the presampling node built specifically for SD-Turbo-style distilled checkpoints - models trained to produce a usable image in one to four steps instead of the usual twenty-plus. The defaults give it away immediately: steps maxes out at 10 with a default of 1, and cfg defaults to 1 rather than the 7-8 you'd use on a normal SD1.5/SDXL checkpoint. That's not an oversight, it's the correct operating point - Turbo-family checkpoints bake classifier-free guidance into the weights during distillation, so stacking a real CFG value on top of that applies guidance twice and burns the image. Leave cfg near 1 unless you have a specific reason not to.
Two things bundled into one node. Under the hood this is doing two separate jobs. The first half - steps, cfg, sampler_name, eta, s_noise, seed - is a standard, if compact, sampler configuration tuned for low step counts. The second half is a built-in progressive-upscale-and-sharpen pass: upscale_ratio (default 2) sets how much bigger the image gets, start_step/end_step (default 5/15) mark which steps of the run the upscale happens across, and upscale_n_step breaks that window into incremental jumps rather than one hard resize. Then unsharp_kernel_size, unsharp_sigma, and unsharp_strength run an unsharp-mask pass afterward - this exists because low-step Turbo sampling is fast but characteristically softer/blurrier than a full 20-30 step run, and a sharpening pass is the standard way to claw some of that detail back without adding steps.
Inputs and output. Everything above is required - there's no optional input on this node, which makes sense given it's meant to be a fairly complete, self-contained presampling config. Required pipe in, and it needs one to already carry a model/conditioning/latent to sample against. Output is pipe, ready to feed into an easy kSampler or equivalent downstream.
Install. ComfyUI Manager (search "ComfyUI Easy Use") or:
cd ComfyUI/custom_nodes
git clone https://github.com/yolain/ComfyUI-Easy-Use
then restart. No extra models to download for the node itself - you do need an actual SD-Turbo or SDXL-Turbo checkpoint loaded upstream for the settings here to make sense; this node doesn't ship or fetch one.
Common issues. The single biggest mistake is running this node's defaults against a non-Turbo checkpoint. steps=1, cfg=1 on a regular SD1.5 or SDXL model will produce noise or an unrecognizable mess - those defaults only make sense paired with a model that was actually distilled for few-step, low-CFG sampling. The second common trap is over-tuning the unsharp settings: cranking unsharp_strength too high chasing detail introduces its own halo/ringing artifacts around edges, which looks worse than the softness it was meant to fix. Start with the defaults, generate a few images, and only nudge unsharp_strength up in small steps if the result genuinely looks soft rather than reflexively maxing it out.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| pipe | PIPE_LINE | — | |
| steps | INT | 11–10 | — |
| cfg | FLOAT | 1.000–100 | — |
| sampler_name | COMBO | 44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38 | |
| eta | FLOAT | 1.000–10 | — |
| s_noise | FLOAT | 1.000–10 | — |
| upscale_ratio | FLOAT | 2.000–16 | — |
| start_step | INT | 50–1000 | — |
| end_step | INT | 150–1000 | — |
| upscale_n_step | INT | 30–1000 | — |
| unsharp_kernel_size | INT | 31–21 | — |
| unsharp_sigma | FLOAT | 0.500–10 | — |
| unsharp_strength | FLOAT | 0.000–10 | — |
| seed | INT | 00–1125899906842624 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| pipe | PIPE_LINE | — |