Simple Sampler
KSampler + VAE Decode, Merged Into One Box
- model
- positive
- negative
- vae
- latent
- image
Simple Sampler is exactly what it says: the sampler half of a standard generation pipeline, simplified. Where the classic ComfyUI graph chains KSampler into VAE Decode to get pixels, this node takes a model, conditioning, a latent, and a VAE and hands you back a finished IMAGE - no decode step, no extra wiring. It's the middle-ground node for people who want the full graph's flexibility but find the sampler's two-node dance a little silly.
What it actually is
Mechanically, it's a KSampler followed by a VAE decode, fused. It takes the same inputs a KSampler wants - model, positive, negative, latent, steps, cfg, seed, sampler_name, scheduler, denoise - plus the vae needed to decode, and runs common_ksampler on the latent before decoding the samples. The output type is IMAGE, not LATENT, which is the whole point: whatever comes after it works in pixel space, not latent space.
What that buys you
Two things. One, your graph shrinks - one node instead of two, and one fewer place to forget a wire. Two, everything downstream sees an image, so this slots neatly into workflows built around the zsq_prompt pack's image nodes. It's not a replacement for full control, though: no option for per-stage behavior, no way to grab the latent mid-sampling. If you need hires-fix internals or a sampled latent for later, the standard KSampler stays your friend.
The inputs that matter
The wiring inputs (model, positive, negative, vae, latent) come from your loaders and conditioning setup - the same sources KSampler uses, so this node drops into an existing graph with minimal rewiring. The dials are the familiar ones: steps (1–100), cfg (0–30), seed, sampler_name, scheduler, and denoise (0–1, which is your hires-fix knob - feed an upscaled latent at a denoise under 1.0 to refine it). Output is a single image.
The honest take
If you're assembling a workflow from scratch and want to think in terms of "images in, image out," this node keeps your graph legible. If you're debugging sampling behavior, the fused node hides the seam you'd want to inspect. For the middle 80% of workflows - generate, post-process, save - it's the right amount of simplification.
Installing it
Part of windfancy/zsq_prompt. In ComfyUI Manager, search "zsq_prompt" and install, then restart; or:
cd ComfyUI/custom_nodes
git clone https://github.com/windfancy/zsq_prompt
then restart ComfyUI. The pack's requirements.txt installs heavy stuff this node doesn't need - it runs on ComfyUI's own sampling stack. If Manager shows a "conflicting" flag for zsq_prompt, that's the pack's generic class names; the community advice is to ignore it unless you're actually running the other pack it names.
Verdict
A tidy convenience node for a common pattern. Not a must-have - but once it's installed, it quietly becomes the sampler you reach for in simple workflows.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| positive | CONDITIONING | — | |
| negative | CONDITIONING | — | |
| vae | VAE | — | |
| latent | LATENT | — | |
| steps | INT | 201–100 | — |
| cfg | FLOAT | 7.50–30 | — |
| seed | INT | 00–18446744073709550000 | The random seed used for creating the noise. |
| 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 | |
| denoise | FLOAT | 1.000–1 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |