Nodes/ComfyUI_Fill-Nodes/FL KSampler Basic
ComfyUI Node

FL KSampler Basic

A KSampler that also decodes and passes everything through

By filliptm·Created 3 years ago·Updated about 15 hours ago· 628
FL KSampler Basic
  • model
  • positive
  • negative
  • latent_image
  • vae
  • image
  • model
  • positive
  • negative
  • latent
  • vae
  • image
seed0
steps20
cfg7.00
sampler_name
scheduler
denoise1.00

Core ComfyUI already has a KSampler, so why this? Convenience. FL_KsamplerBasic bundles the three things you almost always do around a sampler - take either a latent or an image as input, sample, and decode the result back to pixels - into one node, and then passes your model and conditioning straight through so you can chain a second pass without re-wiring anything. It's the "I want fewer nodes on screen" version of a standard sample step.

The behavior is deliberately ordinary. It runs a normal KSampler with the parameters you'd expect. The two conveniences are: it accepts an image input and VAE-encodes it for you (so you can do img2img without a separate VAEEncode node), and it outputs both the latent and the decoded image (so you don't need a separate VAEDecode after it). Everything else - the sampler math, the results - is stock. This isn't a fancier sampler, it's a tidier one.

The inputs and outputs that matter

Inputs are the standard set: model, positive, negative, seed, steps, cfg, sampler_name, scheduler, denoise. If you're new to these, the two you'll touch most are steps (20 is a fine default; more isn't always better) and cfg (7 is the SDXL-ish default, but modern flow-matching models like Flux and Z-Image want it way down near 1–3.5 - check your model). The denoise at 1.0 means "generate from scratch"; drop it to ~0.5 for img2img refinement.

The input flexibility is the point:

  • Feed a latent_image for normal text-to-image.
  • Or feed an image plus a vae, and it encodes for you - instant img2img.

Outputs are a full passthrough: model, positive, negative, latent, vae, image. That means after this node you already have the decoded image to save and the latent to feed into another sampler, with your model and conditioning still on the wire. Chaining a second refinement pass is drag-drag-done, no VAEEncode/VAEDecode boilerplate in between.

Installing it

It's inside ComfyUI_Fill-Nodes. In ComfyUI Manager, search Fill-Nodes, install, restart. Or:

cd ComfyUI/custom_nodes
git clone https://github.com/filliptm/ComfyUI_Fill-Nodes

then restart ComfyUI. No dedicated model download - it uses whatever checkpoint and VAE you wire in.

Honest take

If you're the sort who keeps a clean graph and hates seeing a VAEEncode and VAEDecode bracketing every sampler, this is a nice compaction and the passthrough outputs are genuinely convenient for two-pass work. If you're learning, though, there's an argument for staying on the stock KSampler + explicit VAEDecode a while longer - seeing the encode/decode as separate steps builds the mental model of what's a latent and what's pixels, which is worth more early on than one fewer node. Once that's second nature, compact away.

Category🏵️Fill Nodes/Ksamplers

Inputs (12)

NameTypeDefaultDescription
modelMODEL
positiveCONDITIONING
negativeCONDITIONING
seedINT00–18446744073709550000
stepsINT201–10000
cfgFLOAT7.000–100
sampler_nameCOMBO44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38
schedulerCOMBO9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3
denoiseFLOAT1.000–1
latent_imageoptLATENT
vaeoptVAE
imageoptIMAGE

Outputs (6)

NameTypeDescription
modelMODEL
positiveCONDITIONING
negativeCONDITIONING
latentLATENT
vaeVAE
imageIMAGE