ComfyUI Node

Pipe to Any

Pipe to Any — unpack the bundle, one slot at a time

By vslinx·Created about a year ago·Updated 26 days ago· 25
Pipe to Any
  • pipe
  • slot_1
  • slot_2
  • slot_3
  • slot_4
  • slot_5

This is the receiving end of the vsLinx pipe system. Its partner, Any to Pipe, bundles up to five values of any type into one wire so you can route them across a large graph as a single connection. This node is where that bundle comes back out: it takes the VSLINX_PIPE input and unpacks it into up to five individual outputs, slot_1 through slot_5.

How it works

The contract is positional and strict: slot 1 in on the packing side comes out as slot_1 here, and so on. Slots that were left unconnected on the sending end come out as None on this side. So the rule of thumb is to only wire up the outputs you actually packed, and to remember the ordering when you're designing the bundle. There's no type checking beyond what the any-slot system does - the whole point is that a pipe carries anything: models, latents, conditioning, strings, booleans, whatever.

The pattern the README describes is decluttering: bundle several unrelated values into a single pipe, route that one wire across the canvas (or into a subgraph), and unpack right where you need the values. It's the same instinct that made rgthree's Context nodes popular - fewer long, tangled wires makes a big workflow something you can actually read.

Inputs and outputs

  • pipe (VSLINX_PIPE) - the bundled connection from an Any to Pipe.
  • Outputs: slot_1 through slot_5, each any-type, each None if not packed on the sending side.

That's the whole node - one input, five outputs, no widgets to configure.

When to reach for it

Any graph where a cluster of values travels together - say a model, a VAE, a positive and a negative conditioning that all need to reach a sampler on the far side of a busy canvas. Pack them once, drag one pipe over, unpack at the sampler. It also plays well with the pack's bypass/mute nodes, which are pipe-aware: bypassing a branch correctly propagates through an Any to Pipe → Pipe to Any chain, so the pipe doesn't break your conditional logic.

Install

Part of the vsLinx pack. ComfyUI Manager → search "ComfyUI vsLinx Nodes", or:

cd ComfyUI/custom_nodes
git clone https://github.com/vslinx/ComfyUI-vslinx-nodes.git comfyui-vslinx-nodes

Restart, look under vsLinx/utility. No extra dependencies.

The honest take

Pure organization, zero generation value - if your graphs are small and tidy, this adds nothing. Where it earns its place is the medium-large workflow where a handful of values always travel together; the visual simplification is real. The thing to respect is the fixed slot order. There's no named-ports magic, so if you reorder what you pack, you have to reorder what you unpack - or you'll silently wire a model into a conditioning slot and get an error that takes a while to explain itself.

CategoryvsLinx/utility

Inputs (1)

NameTypeDefaultDescription
pipeVSLINX_PIPE

Outputs (5)

NameTypeDescription
slot_1*
slot_2*
slot_3*
slot_4*
slot_5*