ComfyUI Node

KSampler Pipe

The sampler with no MODEL input — and why that's the point

By r-vage·Created 23 days ago·Updated 3 days ago· 0
KSampler Pipe
  • pipe
  • positive
  • negative
  • latent
  • image
  • pipe
  • latent
  • image
◄configuration{"decode":{"alpha":false,"tileSize":512,"tiled":false},"preview":true,"sampler":{"cfg":1.0,"denoise":1.0,"sampler_name":"res_multistep","scheduler":"simple","steps":8},"seed":{"policy":"fixed","value":"42"},"usePipe":false,"version":1}►

Open KSampler Pipe [SML2] expecting a MODEL socket and you'll hunt for a while. There isn't one. The model and VAE arrive inside the pipe, the node samples, decodes, and hands you back an image - plus an updated pipe you can keep threading.

What it does in a workflow

It's the second half of this pack's loader-to-image line. Smart Model Loader supplies pipe; you wire positive and negative conditioning in from the text encode nodes; out come pipe, latent, and image. It's an output node, so it can be the end of your graph. If you want to keep going - upscale, detail pass, a second sampler - take the returned pipe or the raw latent and continue.

The settings live in one JSON configuration string that the compact Jade panel edits for you: sampler, scheduler, steps, CFG, denoise, seed policy and value, plus four independent feature switches. The sampler and seed controls stay visible and editable at all times; collapsing the Options bar just hides the buttons.

The four switches, and the ones people get wrong

Use pipe settings flips the priority: pipe-supplied sampler, scheduler, steps, CFG, denoise and seed win, and missing or None values fall back to the local controls. Off by default, which trips up people who set 30 steps upstream and wonder why the sampler ran 8. (The shipped default is res_multistep/simple, 8 steps, CFG 1.0 - a Flux-ish starting point, not a universal one.)

Tiled decode uses ComfyUI's tiled VAE decoder at the tile size you pick in pixels, default 512, multiples of 32 from 64 to 4096. This affects decoding only; connected images still get normal VAE encoding.

Alpha is off by default, which means decoded alpha is stripped and you get RGB downstream. If your VAE produces RGBA - Qwen Image 2.1 is the obvious one - enable it or lose the transparency. Turning it on doesn't invent alpha on an RGB image, and turning it off doesn't change RGB values or composite anything.

Preview drives both live sampling previews and the decoded image on the node. Disable it for a batch run and all three outputs still work.

Inputs and outputs that matter

Required: pipe, positive, negative. Optional: latent and image.

The priority order is worth memorizing because it's how you do img2img here. A connected image gets encoded and beats everything. Otherwise a connected latent beats both latent and image inside the pipe. With neither socket used, the pipe's latent wins, and the pipe's image is used only when there's no latent - deliberately, so a sampler chain doesn't re-encode the previous preview frame. Sampling settings, conditioning and the actual output dimensions get recorded into the returned pipe; the incoming pipe and latent are never mutated.

Installing it

Part of the pack, so one install covers it. ComfyUI Manager → search Smart Model Loader Nova, or:

cd ComfyUI/custom_nodes
git clone https://github.com/r-vage/ComfyUI_SmartModelLoader_Nova.git
cd ComfyUI_SmartModelLoader_Nova
python -m pip install -r requirements.txt

Run pip inside ComfyUI's own environment, restart, then look under Add Node → 🌒 Smart Model Loader Nova → Sampler. This node needs nothing beyond the base requirements - no Nunchaku, no GGUF backend unless your loader is feeding it GGUF.

Where people get burned

Explicit SIGMAS don't work here. If a pipe carries sigmas - say from the Qwen Image 2.1 Scheduler - KSampler Pipe ignores them and uses its own scheduler selection. To use an explicit schedule you must extract it with IO Checkpoint Loader and drive SamplerCustomAdvanced. Same story with flux_guidance: it's stored in the pipe and never applied to conditioning, so you route it through a FluxGuidance node yourself.

VAE mismatch fails late. Sampling happily completes and then the decode throws, because the latent was made by one VAE and decoded by another. Qwen Image 2.1 is the classic case - its VAE is not interchangeable with the original Qwen Image one.

Saved names that vanished are not silently swapped. If a workflow references a sampler or scheduler your install doesn't have, it stays visible and errors instead of quietly substituting another algorithm. Annoying once, and genuinely the right call.

Seeds and caching. Local seed controls only advance after an accepted submission, and the queued snapshot records the concrete seed. With Use pipe settings on, the local seed is retained and doesn't advance - the upstream loader is meant to own it. If you're driving the API directly with a random policy, the node returns a NaN fingerprint so cached samples aren't reused; that's the difference between "randomize each run" and "same picture forever".

Category🌒 Smart Model Loader Nova/ Sampler

Inputs (6)

NameTypeDefaultDescription
pipePIPEPipe containing MODEL, VAE, and optional latent/image and sampler settings.
positiveCONDITIONING—
negativeCONDITIONING—
configurationSTRING{"decode":{"alpha":false,"tileSize":512,"tiled":false},"preview":true,"sampler":{"cfg":1.0,"denoise":1.0,"sampler_name":"res_multistep","scheduler":"simple","steps":8},"seed":{"policy":"fixed","value":"42"},"usePipe":false,"version":1}—
latentoptLATENTOverrides latent and image from the pipe.
imageoptIMAGEEncode this image before sampling. Takes priority over connected or pipe latents.

Outputs (3)

NameTypeDescription
pipePIPE—
latentLATENT—
imageIMAGE—