Nodes/ComfyUI Eclipse/IO Sampler Settings v2.1 (Legacy)
ComfyUI Node

IO Sampler Settings v2.1 (Legacy)

The sampler channel hub your old pipe workflow expects

By r-vage·Created 12 months ago·Updated 14 days ago· 38
IO Sampler Settings v2.1 (Legacy)
  • pipe
  • sampler_name
  • scheduler
  • pipe
  • steps
  • cfg
  • sampler_name
  • scheduler
  • guidance
  • denoise
  • sigmas_denoise
  • noise_strength
  • upscale_steps
  • upscale_denoise
  • upscale_value
  • seed
◄steps—►
◄cfg—►
◄guidance—►
◄denoise—►
◄sigmas_denoise—►
◄noise_strength—►
◄upscale_steps—►
◄upscale_denoise—►
◄upscale_value—►
◄seed—►

A pipe in the Eclipse ecosystem is just a Python dict: sampler name, scheduler, steps, CFG, guidance, denoise, noise injection values, upscale values, seed. Pipe IO Sampler Settings v2.1 [Eclipse] is the node that reads one of those dicts, merges it against individually wired values, and re-exports every channel as a normal typed output. It's the adapter between "one wire carrying twelve settings" and "the specific socket a KSampler wants".

It's deprecated, and it's in the pack only so pre-4.0 workflows still load. The current equivalent is IO Sampler Settings (the pack's own display name for Pipe IO Sampler Settings [Eclipse]).

The channels

Every input is optional, and every one of them is mirrored by an output of the same name and type, plus the outgoing pipe itself:

steps (INT), cfg (FLOAT), sampler_name (*), scheduler (*), guidance (FLOAT), denoise (FLOAT), sigmas_denoise (FLOAT), noise_strength (FLOAT), upscale_steps (INT), upscale_denoise (FLOAT), upscale_value (FLOAT), seed (INT).

That's 12 channels and no prompt_seed - v2.1 predates it. sampler_name and scheduler are untyped (*) deliberately, so they accept whatever your sampler-settings node emits and pass it straight through.

One structural detail that trips people up: the numeric channels are declared as forced inputs, which means they render as sockets rather than typeable widgets. You can't just click a field and type 30. Either wire a value in - a Primitive/Integer node, a literal from elsewhere - or leave it unconnected and let the incoming pipe supply it. That's the point of an IO node: it isn't a control panel, it's a merge point.

How the merge decides

The priority rule is the part worth memorising. If the incoming pipe carries the internal _allow_overwrite flag set true, your direct inputs win over the pipe's values. Otherwise the pipe wins, and direct inputs only fill channels the pipe doesn't have. In v2.1 there's no allow_overwrite input on the node at all - the flag can only arrive inside the pipe, typically written there by a Sampler Settings node with its overwrite chip enabled. If you came here expecting a toggle, you're on the wrong version; v2.3 added it.

Missing values are replaced with nothing rather than merged away. The node builds a fresh channel set covering every key, so unwired input plus empty pipe means that channel is empty on the way out - and empty output sockets are how downstream nodes quietly get told "no sampler name". Wire the pipe first, then add only the overrides you actually want.

Install

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

Or search ComfyUI_Eclipse in ComfyUI Manager and restart. It lives under 🌒 Eclipse/ Legacy, which is also the hint that it's maintenance-only.

Why socket order matters

The reason three near-identical legacy versions still exist is that saved workflows store links by position. Where a later release reordered, renamed or added a channel, older graphs would have reconnected to the wrong socket, so the pack keeps each historical schema with its original indices intact. If you upgrade and a workflow suddenly feeds CFG into denoise, that's the class of problem the Workflow Migration Tool exists to fix - run it with backups rather than patching links by hand.

For new graphs, skip this and use the current IO Sampler Settings node, which covers the channels you'll actually use (it drops the separate upscale steps/denoise pair and adds an allow_overwrite socket). For graphs you're just trying to keep alive, this version is exactly what the doctor ordered.

Category🌒 Eclipse/ Legacy

Inputs (13)

NameTypeDefaultDescription
pipeoptPIPE—
stepsoptINT—
cfgoptFLOAT—
sampler_nameopt*—
scheduleropt*—
guidanceoptFLOAT—
denoiseoptFLOAT—
sigmas_denoiseoptFLOAT—
noise_strengthoptFLOAT—
upscale_stepsoptINT—
upscale_denoiseoptFLOAT—
upscale_valueoptFLOAT—
seedoptINT—

Outputs (13)

NameTypeDescription
pipePIPE—
stepsINT—
cfgFLOAT—
sampler_name*—
scheduler*—
guidanceFLOAT—
denoiseFLOAT—
sigmas_denoiseFLOAT—
noise_strengthFLOAT—
upscale_stepsINT—
upscale_denoiseFLOAT—
upscale_valueFLOAT—
seedINT—