Eclipse KSampler (Pipe)
Sample, decode, and update the pipe in one go
- pipe
- positive
- negative
- latent
- image
- pipe
- latent
- image
The pack's whole philosophy is "one PIPE wire carries everything," and this is the payoff: a KSampler that reads its model and VAE out of the pipe, samples your conditioning, VAE-decodes the result, and hands you the updated pipe plus the latent and the image. It replaces the classic four-node chain - KSampler + separate VAE Decode + two value plumbing nodes - with one box.
Two inputs are non-negotiable: pipe (from the Smart Model Loader or another compatible pipe source) and the positive/negative conditioning. The node pulls model and vae out of the pipe and refuses to run if either is missing - the error message tells you exactly which one is absent, which beats tracing a broken wire any day.
For the latent, you have options. A directly connected image gets VAE-encoded (tiled, if you want) and takes priority over a latent; otherwise it falls back to whatever latent or image is sitting inside the pipe. If neither exists anywhere, it errors out and tells you so. So img2img is just "wire an image in," and txt2img is "make sure the pipe has a latent" - usually because you enabled the latent chip on the Smart Model Loader.
The settings that matter
allow_overwrite- the precedence switch. Off (default): your local widget values win over pipe values, with the pipe filling in anything you left unset. On: pipe values override your widgets. Off is what you want most of the time; flip it on when the pipe is the single source of truth.steps/cfg/sampler_name/scheduler/denoise- the usual suspects. Note the defaults: 8 steps, cfg 1,res_multistep/simple. That's a distilled-model profile, not a universal one. If you feed this node an SD1.5 workflow and it comes out mushy, you forgot to change them - SD1.5 wants ~cfg 7 and 20+ steps.seed--1random each run,-2increments,-3decrements. The node writes the resolved seed back into the workflow so what you see is what actually ran.tiled_decode+tile_size- tile the VAE decode (and encode) so large images don't OOM. Tile size defaults to 512.preview_mode-Previewshows live step-by-step progress plus the final image;Nonekeeps the canvas clean and skips the previews.
Outputs: the updated pipe (a copy containing the sampled latent, decoded image, and resolved settings - your original pipe is untouched), the latent, and the decoded image. It's marked as an output node, so it always runs.
Installing
cd ComfyUI/custom_nodes
git clone https://github.com/r-vage/ComfyUI_SmartModelLoader.git
cd ComfyUI_SmartModelLoader
python -m pip install -r requirements.txt
or ComfyUI Manager → ComfyUI Smart Model Loader, restart.
Common issues
- "input 'pipe' is invalid or not connected" - the pipe socket is empty. This node needs a real pipe, not loose wires.
- Mushy output at default settings - change the defaults; see above. The 8-step / cfg-1 profile assumes a distilled model.
- "connect either a 'latent' or an 'image'" - the pipe didn't carry one. Enable the latent section on your Smart Model Loader, or wire an image in directly.
Inputs (15)
| Name | Type | Default | Description |
|---|---|---|---|
| pipe | PIPE | The pipe dictionary from Smart Model Loader or other compatible pipe nodes. | |
| allow_overwrite | BOOLEAN | false | When enabled, allows values from the pipe to take priority over/overwrite local widget settings. |
| positive | CONDITIONING | The positive conditioning (required, e.g. text prompt). | |
| negative | CONDITIONING | The negative conditioning (required, e.g. text prompt). | |
| steps | INT | 81–10000 | The number of steps used in the denoising process. |
| cfg | FLOAT | 1.00–100 | The Classifier-Free Guidance scale. |
| sampler_name | COMBO | res_multistep | The sampling algorithm. |
| scheduler | COMBO | simple | The scheduler algorithm. |
| denoise | FLOAT | 1.000–1 | The amount of denoising applied. |
| tiled_decode | BOOLEAN | false | Enable tiled VAE decoding to save VRAM on large images. |
| tile_size | INT | 51264–4096 | The size of the tiles used for tiled VAE decoding. |
| preview_mode | COMBO | Preview | Show the step-by-step rendering process during sampling and display the final decoded image at the end (Preview), or hide both (None) to keep the node layout clean. |
| seed | INT | 42-3–18446744073709550000 | The random seed used for creating the noise. Use -1 for random, -2 to increment, -3 to decrement. |
| latentopt | LATENT | Optional input latent to denoise. Either this or 'image' must be connected/provided in the pipe. | |
| imageopt | IMAGE | Optional input image to VAE-encode and denoise. Either this or 'latent' must be connected/provided in the pipe. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| pipe | PIPE | The updated pipe dictionary containing the model, clip, vae, latent, image, and sampler settings. |
| latent | LATENT | The denoised latent. |
| image | IMAGE | The decoded image. |