Sampler Pipe
Bundle cfg, sampler and scheduler into one wire
- sampler_pipe
Sampler Pipe does one small, tidy thing: it bundles your three "how to sample" settings - cfg, sampler_name, and scheduler - into a single SAMPLER_PIPE wire. That's it. On its own it generates nothing. It exists so that the pack's actual sampler, KSampler with Pipe (sample_pipe), can take these settings as one connection instead of three widgets you re-set on every sampler in a multi-pass workflow.
The payoff shows up when you have more than one sampling stage. Base pass, refiner pass, upscale pass - if they should share the same cfg/sampler/scheduler, you set them once here and fan the one SAMPLER_PIPE out to all of them. Change your mind about the scheduler later and you change it in exactly one place. It's the same "bundle-related-settings-onto-one-wire" philosophy as the BASIC_PIPE that Impact Pack popularized, applied to sampler config rather than model config.
How it works
There's no magic here - it's a container. You dial in the three values and it packs them into a SAMPLER_PIPE object that only the matching sampler node knows how to unpack. Notably, the two settings that usually change per run - seed and steps - are not here. Those live on the KSampler with Pipe node itself. That split is deliberate: the "recipe" (cfg/sampler/scheduler) is stable and reusable, the "per-shot" values (seed/steps/denoise) belong to the moment you press generate.
The inputs and outputs that matter
- cfg (default 8) - classifier-free guidance. How hard the model chases your prompt. 7–8 is the classic SD range; modern distilled and flow-matching models often want much lower, sometimes 1–2. If your images look fried or over-saturated, cfg is the first knob to drop.
- sampler_name - the sampling algorithm, the full stock list (44 of them:
euler,euler_ancestral,dpmpp_2m,heun, and the rest).euleranddpmpp_2mare the safe defaults; the_ancestralones add variation between runs. - scheduler - how the noise schedule is spaced across steps:
normal,karras,simple,sgm_uniform,beta,exponentialand a few more.karrasis the usual go-to; some newer models specifically wantsimpleorsgm_uniform.
One output: sampler_pipe, which wires into the sampler_pipe input of KSampler with Pipe. That's the only place it goes.
Installing it
Pure Python, no weights, no heavy deps - installs instantly. ComfyUI Manager → Install Custom Nodes → search "antrobots ComfyUI Nodepack" → Install → restart, or:
cd ComfyUI/custom_nodes
git clone https://github.com/antrobot1234/antrobots-comfyUI-nodepack
then restart. Find it under antrobots-ComfyUI-nodepack/flow-control.
Common issues
The number-one confusion: "where's seed and steps?" They're not on this node - they're on KSampler with Pipe, which is the node that actually does the denoising. Sampler Pipe is settings-only, so on its own it produces no image. If you wired one up and nothing happened, that's expected; you need the sampler node downstream.
The SAMPLER_PIPE output is a custom type, so it only connects to this pack's sampler. It won't plug into a stock KSampler. And sampler/scheduler choice is model-dependent - a combo that's crisp on SD1.5 can go mushy on a flow-matching model - so if output quality is off, suspect the recipe before the node. Real bug? It's a small solo pack; the author asks you to open a GitHub issue.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| cfg | FLOAT | 8.00–100 | The Classifier-Free Guidance scale balances creativity and adherence to the prompt. Higher values result in images more closely matching the prompt however too high values will negatively impact quality. |
| sampler_name | COMBO | The algorithm used when sampling, this can affect the quality, speed, and style of the generated output. | |
| scheduler | COMBO | The scheduler controls how noise is gradually removed to form the image. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| sampler_pipe | SAMPLER_PIPE | The denoised latent. |