π BV Pipe [Deprecated]
One connection that carries your whole pipeline, and you can override any slot
- pipe
- v_001
- v_002
- v_003
- v_004
- v_005
- v_006
- v_007
- v_008
- v_009
- v_010
- v_011
- v_012
- v_013
- v_014
- v_015
- v_016
- v_017
- v_018
- v_019
- v_020
- v_021
- v_022
- v_023
- v_024
- v_025
- v_026
- v_027
- v_028
- v_029
- v_030
- v_031
- v_032
- v_033
- v_034
- v_035
- v_036
- v_037
- v_038
- v_039
- v_040
- v_041
- v_042
- v_043
- v_044
- v_045
- v_046
- v_047
- v_048
- v_049
- v_050
- v_051
- v_052
- v_053
- v_054
- v_055
- v_056
- v_057
- v_058
- v_059
- v_060
- v_061
- v_062
- v_063
- v_064
- v_065
- v_066
- v_067
- v_068
- v_069
- v_070
- v_071
- v_072
- v_073
- v_074
- v_075
- v_076
- v_077
- v_078
- v_079
- v_080
- v_081
- v_082
- v_083
- v_084
- v_085
- v_086
- v_087
- v_088
- v_089
- v_090
- v_091
- v_092
- v_093
- v_094
- v_095
- v_096
- v_097
- v_098
- v_099
- v_100
- pipe
- out_001
- out_002
- out_003
- out_004
- out_005
- out_006
- out_007
- out_008
- out_009
- out_010
- out_011
- out_012
- out_013
- out_014
- out_015
- out_016
- out_017
- out_018
- out_019
- out_020
- out_021
- out_022
- out_023
- out_024
- out_025
- out_026
- out_027
- out_028
- out_029
- out_030
- out_031
- out_032
- out_033
- out_034
- out_035
- out_036
- out_037
- out_038
- out_039
- out_040
- out_041
- out_042
- out_043
- out_044
- out_045
- out_046
- out_047
- out_048
- out_049
- out_050
- out_051
- out_052
- out_053
- out_054
- out_055
- out_056
- out_057
- out_058
- out_059
- out_060
- out_061
- out_062
- out_063
- out_064
- out_065
- out_066
- out_067
- out_068
- out_069
- out_070
- out_071
- out_072
- out_073
- out_074
- out_075
- out_076
- out_077
- out_078
- out_079
- out_080
- out_081
- out_082
- out_083
- out_084
- out_085
- out_086
- out_087
- out_088
- out_089
- out_090
- out_091
- out_092
- out_093
- out_094
- out_095
- out_096
- out_097
- out_098
- out_099
- out_100
BV Pipe is the carrier node in the BV Pipe system: it takes the slot layout defined by BV Pipe Config, shows you those slots as inputs and outputs, passes every value through, and lets you override individual slots when you need to. It's the cable; Pipe Config is the label sheet; your model, clip, vae, seed, prompt values are the current flowing through it.
If you've built a serious ComfyUI workflow, you know the pain this exists to solve. The ecosystem docs describe the whole Quality-of-Life node category - rgthree Context nodes, Efficiency Nodes - as a response to graphs too wide to fit on screen. A pipe collapses five or ten wires into one. That's the deal here: reorganize your graph by dragging one connection, and every value travels with it.
How it works
The mechanism is refreshingly simple, and the source is easy to read if you want to verify it. The pipe input is a BV_PIPE object carrying two things: the slot config (names) and a list of upstream values (items). The node then exposes up to 100 optional inputs named v_001 through v_100, each typed as ANY, meaning it accepts anything - models, latents, ints, whatever.
Resolution order per slot: if you explicitly connected that v_0xx input, your value wins. Otherwise the value from the upstream pipe passes through untouched. Outputs out_001β¦out_100 mirror the final resolved values in the same order, and the pipe output carries the whole bundle forward so the next BV Pipe in a chain keeps working.
So you get both behaviors the README advertises in one node:
- Passthrough - leave every slot unconnected and it's a straight relay, useful for routing a bundle through a subgraph.
- Override - connect one slot on a later pipe to swap, say, the seed, while everything else still flows from upstream. That's the "slot override" case in the README's screenshots.
The inputs that matter
pipe- requiredBV_PIPEinput from a BV Pipe Config. Without it there are no names and the node has nothing to route.v_001β¦v_100- optional ANY inputs. You only see the ones defined by your config's names, and only the ones you wire. These are the overrides.
Outputs: pipe plus out_001β¦out_100, mirroring the resolved values. If you're following the README quick start with five names, you'll see exactly five outputs.
Install & gotchas
Install is shared across the pack - ComfyUI Manager β BV Node Pack, or clone https://github.com/BlackVortexAI/bv_nodepack into custom_nodes, then restart and Ctrl + F5 hard-refresh. The hard refresh is not optional for this node: the dynamic slot rendering is a JavaScript extension, and a cached frontend will render it as an inert box. No model downloads, no requirements.txt - nothing heavy to babysit.
Two gotchas. First, the internal slot IDs are stable (v_001β¦), so if you reorder names in Pipe Config, values stay attached to their old internal slot - the label moves, the value doesn't. Second, an honest heads-up: the current source marks BV Pipe (and Pipe Config) as deprecated in favor of the pack's newer BV Smart Pipe and BV Smart Pipe Merge, which are JSON-schema driven and handle merging and routing more robustly. For a quick bundle-and-override pipe this node is still perfectly serviceable. For anything you expect to grow and hand to other people, start with the Smart Pipe instead.
Inputs (101)
| Name | Type | Default | Description |
|---|---|---|---|
| pipe | BV_PIPE | β | |
| v_001opt | * | β | |
| v_002opt | * | β | |
| v_003opt | * | β | |
| v_004opt | * | β | |
| v_005opt | * | β | |
| v_006opt | * | β | |
| v_007opt | * | β | |
| v_008opt | * | β | |
| v_009opt | * | β | |
| v_010opt | * | β | |
| v_011opt | * | β | |
| v_012opt | * | β | |
| v_013opt | * | β | |
| v_014opt | * | β | |
| v_015opt | * | β | |
| v_016opt | * | β | |
| v_017opt | * | β | |
| v_018opt | * | β | |
| v_019opt | * | β | |
| v_020opt | * | β | |
| v_021opt | * | β | |
| v_022opt | * | β | |
| v_023opt | * | β | |
| v_024opt | * | β | |
| v_025opt | * | β | |
| v_026opt | * | β | |
| v_027opt | * | β | |
| v_028opt | * | β | |
| v_029opt | * | β | |
| v_030opt | * | β | |
| v_031opt | * | β | |
| v_032opt | * | β | |
| v_033opt | * | β | |
| v_034opt | * | β | |
| v_035opt | * | β | |
| v_036opt | * | β | |
| v_037opt | * | β | |
| v_038opt | * | β | |
| v_039opt | * | β | |
| v_040opt | * | β | |
| v_041opt | * | β | |
| v_042opt | * | β | |
| v_043opt | * | β | |
| v_044opt | * | β | |
| v_045opt | * | β | |
| v_046opt | * | β | |
| v_047opt | * | β | |
| v_048opt | * | β | |
| v_049opt | * | β | |
| v_050opt | * | β | |
| v_051opt | * | β | |
| v_052opt | * | β | |
| v_053opt | * | β | |
| v_054opt | * | β | |
| v_055opt | * | β | |
| v_056opt | * | β | |
| v_057opt | * | β | |
| v_058opt | * | β | |
| v_059opt | * | β | |
| v_060opt | * | β | |
| v_061opt | * | β | |
| v_062opt | * | β | |
| v_063opt | * | β | |
| v_064opt | * | β | |
| v_065opt | * | β | |
| v_066opt | * | β | |
| v_067opt | * | β | |
| v_068opt | * | β | |
| v_069opt | * | β | |
| v_070opt | * | β | |
| v_071opt | * | β | |
| v_072opt | * | β | |
| v_073opt | * | β | |
| v_074opt | * | β | |
| v_075opt | * | β | |
| v_076opt | * | β | |
| v_077opt | * | β | |
| v_078opt | * | β | |
| v_079opt | * | β | |
| v_080opt | * | β | |
| v_081opt | * | β | |
| v_082opt | * | β | |
| v_083opt | * | β | |
| v_084opt | * | β | |
| v_085opt | * | β | |
| v_086opt | * | β | |
| v_087opt | * | β | |
| v_088opt | * | β | |
| v_089opt | * | β | |
| v_090opt | * | β | |
| v_091opt | * | β | |
| v_092opt | * | β | |
| v_093opt | * | β | |
| v_094opt | * | β | |
| v_095opt | * | β | |
| v_096opt | * | β | |
| v_097opt | * | β | |
| v_098opt | * | β | |
| v_099opt | * | β | |
| v_100opt | * | β |
Outputs (101)
| Name | Type | Description |
|---|---|---|
| pipe | BV_PIPE | β |
| out_001 | * | β |
| out_002 | * | β |
| out_003 | * | β |
| out_004 | * | β |
| out_005 | * | β |
| out_006 | * | β |
| out_007 | * | β |
| out_008 | * | β |
| out_009 | * | β |
| out_010 | * | β |
| out_011 | * | β |
| out_012 | * | β |
| out_013 | * | β |
| out_014 | * | β |
| out_015 | * | β |
| out_016 | * | β |
| out_017 | * | β |
| out_018 | * | β |
| out_019 | * | β |
| out_020 | * | β |
| out_021 | * | β |
| out_022 | * | β |
| out_023 | * | β |
| out_024 | * | β |
| out_025 | * | β |
| out_026 | * | β |
| out_027 | * | β |
| out_028 | * | β |
| out_029 | * | β |
| out_030 | * | β |
| out_031 | * | β |
| out_032 | * | β |
| out_033 | * | β |
| out_034 | * | β |
| out_035 | * | β |
| out_036 | * | β |
| out_037 | * | β |
| out_038 | * | β |
| out_039 | * | β |
| out_040 | * | β |
| out_041 | * | β |
| out_042 | * | β |
| out_043 | * | β |
| out_044 | * | β |
| out_045 | * | β |
| out_046 | * | β |
| out_047 | * | β |
| out_048 | * | β |
| out_049 | * | β |
| out_050 | * | β |
| out_051 | * | β |
| out_052 | * | β |
| out_053 | * | β |
| out_054 | * | β |
| out_055 | * | β |
| out_056 | * | β |
| out_057 | * | β |
| out_058 | * | β |
| out_059 | * | β |
| out_060 | * | β |
| out_061 | * | β |
| out_062 | * | β |
| out_063 | * | β |
| out_064 | * | β |
| out_065 | * | β |
| out_066 | * | β |
| out_067 | * | β |
| out_068 | * | β |
| out_069 | * | β |
| out_070 | * | β |
| out_071 | * | β |
| out_072 | * | β |
| out_073 | * | β |
| out_074 | * | β |
| out_075 | * | β |
| out_076 | * | β |
| out_077 | * | β |
| out_078 | * | β |
| out_079 | * | β |
| out_080 | * | β |
| out_081 | * | β |
| out_082 | * | β |
| out_083 | * | β |
| out_084 | * | β |
| out_085 | * | β |
| out_086 | * | β |
| out_087 | * | β |
| out_088 | * | β |
| out_089 | * | β |
| out_090 | * | β |
| out_091 | * | β |
| out_092 | * | β |
| out_093 | * | β |
| out_094 | * | β |
| out_095 | * | β |
| out_096 | * | β |
| out_097 | * | β |
| out_098 | * | β |
| out_099 | * | β |
| out_100 | * | β |