KSamplerAdvanced (WLSH)
KSamplerAdvanced (WLSH)
- model
- positive
- negative
- latent_image
- LATENT
- INFO
This is stock ComfyUI's KSamplerAdvanced with one thing added: an INFO output that packages up your sampler settings so downstream nodes can log them automatically. If you've used the regular advanced sampler for two-stage workflows - base pass into a refiner, or a hi-res fix second pass - everything here will feel identical. The whole point of the WLSH version is that it feeds the pack's own "info" save nodes (Image Save with Prompt/Info), so your saved images can carry sampler metadata without you manually typing seed, steps and sampler name into a text box every time.
The sampler mechanics don't change from stock, so the short version: add_noise and return_with_leftover_noise are the pair that make "advanced" mean something - set add_noise to disable and return_with_leftover_noise to enable on a first pass, then feed that latent into a second KSamplerAdvanced with matching start_at_step/end_at_step ranges, and you've got a proper multi-stage pipeline instead of one long denoise. start_at_step and end_at_step (both up to 10000) let you slice a fixed total step count across passes rather than restarting denoising from scratch each time. denoise (0–1, default 1) is the odd one out for an "advanced" sampler - most advanced KSamplers hand denoise strength off to the step-range math instead, but WLSH's version keeps it exposed directly, useful if you want to experiment with partial denoise without recalculating start/end steps by hand.
For the actual sampling knobs - which sampler and scheduler to pick - that's architecture-dependent, not this node's business. If you're on an SD 1.5 or SDXL checkpoint (including anime finetunes like Illustrious or Pony), DPM++ 2M Karras at 20–30 steps is still the safe default. If you're running something flow-matching (Flux, Z-Image, Anima), Karras and exponential schedulers are known to fail outright rather than just underperform - stick to Euler-family samplers on beta or simple schedules instead. cfg behaves the same way it does everywhere: 5–9 is typical for SD-lineage models, roughly 1 for anything distilled, and your negative conditioning does nothing at all once CFG hits 1 - that's not a WLSH quirk, it's how classifier-free guidance works, and ComfyUI actually skips computing the negative pass entirely at CFG 1 rather than just zeroing it out.
Outputs: LATENT goes wherever your latent normally goes - a VAE Decode, or the next sampling stage. INFO is the WLSH-specific one - wire it into an Image Save with Prompt/Info (WLSH) node's info input and it'll populate the saved metadata with your actual sampler settings instead of you retyping seed and model name by hand.
Installing it: ComfyUI Manager, search "wlsh_nodes", or:
cd ComfyUI/custom_nodes
git clone https://github.com/wallish77/wlsh_nodes
then restart. No extra dependencies or model downloads.
Troubleshooting: if your two-stage pipeline is producing garbage, the usual culprit is a mismatched start_at_step/end_at_step pair between passes - the second sampler needs to pick up exactly where the first left off, on the same total step count, or you'll get either a hard seam or a wasted re-denoise. If INFO isn't showing up as an expected input on some third-party save node, that's expected - INFO is a WLSH-specific type, it only plugs into WLSH's own info-variant save nodes, not other packs' save nodes (the pack's README notes the info-variant nodes are kept separate specifically because of compatibility issues with other node suites like TTN).
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| add_noise | COMBO | 2 options: enable, disable | |
| seed | INT | 00–18446744073709550000 | — |
| steps | INT | 201–10000 | — |
| cfg | FLOAT | 8.000–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 | — | |
| start_at_step | INT | 00–10000 | — |
| end_at_step | INT | 100000–10000 | — |
| return_with_leftover_noise | COMBO | 2 options: disable, enable | |
| denoise | FLOAT | 1.000–1 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| LATENT | LATENT | — |
| INFO | INFO | — |