ComfyUI Node

SEGS Passer

The Routing Node for the Detailer Pipeline

By r-vageΒ·Created 10 months agoΒ·Updated a day agoΒ· 31
SEGS Passer
  • segs
  • segs

What it is

SEGS Passer takes a SEGS object in one side and hands you the same SEGS object out the other. No processing, no filtering, no conversion - just a typed pass-through, exactly like its Pipe Passer sibling but for the data type that the Impact Pack's automatic-detailing pipeline runs on.

If you've never heard of SEGS, that's fine - it's plumbing, not a topic. SEGS is the Impact Pack's container for "a set of detected segments": the bounding boxes and masks that a detector node emits and that a detailer iterates over. It's the noun everything after the detector is passing around in a FaceDetailer-style workflow. This node is for those moments when that passing needs a little help.

How it works

The implementation is one line: receive segs, return segs. It's a typed router (from the pack's Router/Typed category), meaning the type checker knows it's SEGS before the graph runs - no wildcard any-type looseness. It costs you nothing at runtime; ComfyUI's cache means a pass-through node is essentially free.

So why does it exist? The same three reasons any passer does. Graph legibility: a SEGS wire that has to thread across a busy workflow can be broken into two short wires with a passer at the corner. Splitting: if two detailers or two filters both need the same SEGS, a passer gives you a clean branch point. And organization: passers are how you segment a long pipeline into readable chunks without changing the data. None of it touches the segments; all of it makes the graph easier to live in.

The one input and one output

  • segs in β†’ segs out. Same object, unchanged.

That's the whole surface. If you catch yourself wanting a SEGS node with options, you're not looking for a passer - you want a SEGS filter (keep only the largest faces, drop low-confidence regions) or a SEGS reorder, which live in the Impact Pack, not here.

When you'd use it

In any automatic-detailing workflow where the SEGS line needs to bend around the graph, branch to two consumers, or just have a named checkpoint for debugging. The full pattern - detect β†’ filter β†’ detailer β†’ paste - is the core of ComfyUI's detail-loop, and a SEGS passer is the small courtesy node that keeps that loop tidy as it grows.

Installing it

It ships with ComfyUI_Eclipse:

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

then restart, or use Manager and search "Eclipse". Note that SEGS itself is an Impact Pack concept, so the node only shows up in a graph that already has Impact Pack installed - Eclipse handles the passing, Impact provides the type. And the usual lineage warning: the pack was formerly RvTools_v2, legacy nodes were removed in v4.0.0, and the bundled migration tool upgrades old workflows.

Common issues

Almost nothing goes wrong with a pure pass-through, but there's one trap worth naming: because this node is typed to SEGS, it won't accept a raw bbox list or a mask batch - those aren't SEGS, and a typed node will refuse them before the graph runs. If a wire won't connect, the thing you're passing isn't actually SEGS yet; run it through a detector (or the pack's Mask to SEGS node) first.

CategoryπŸŒ’ Eclipse/ Router/ Typed

Inputs (1)

NameTypeDefaultDescription
segsCOMFY_MATCHTYPE_V3SEGS input to be passed through.

Outputs (1)

NameTypeDescription
segsCOMFY_MATCHTYPE_V3β€”