Highway Batch
Highway, but every lane carries a list
- _way_in
- _way_out
Highway Batch is the batching sibling of the pack's Highway node. Highway bundles single named values into one HIGHWAY_PIPE; Highway Batch bundles lists into one. Every input lane holds a whole batch, and the pipe you get back carries a list in each named slot instead of one value.
Same routing syntax, same mental model - it's just the batch-flavored version. That makes it the node you reach for when you're feeding the pack's loop machinery: a Loop re-executes chunks of your graph, and if what you're looping over is a stack of latents, prompts, or seeds, Highway Batch is how you keep that whole stack on one wire while it sweeps. The default query is the same >data; <data.
How it works
Under the hood it's the highway_impl engine with INPUT_IS_LIST turned on. Every input pin is fed as a list, and gather_highway_impl folds all the incoming pipe values into RevisionBatch objects - one per lane name - carrying their Comfy types alongside. The outputs then serve those lists back per <name> lane. If a lane shows up in the pipe but never got fed, you get a None in that slot rather than a crash, which is friendlier than it sounds when you're wiring incrementally.
The inputs and outputs
_query- the routing string, default">data; <data".>name= input lane,<name= output lane,;to declare more than one._way_in(optional) - aHIGHWAY_PIPEfrom another Highway or Highway Batch, so lanes chain._way_out- theHIGHWAY_PIPE, plus one output pin per<name>. Outputs are lists, always.
How to install it
Pack standard:
cd ComfyUI/custom_nodes
git clone https://github.com/Trung0246/ComfyUI-0246
restart, or ComfyUI Manager → search "ComfyUI-0246". No model downloads.
Common issues & troubleshooting
Outputs are lists when you expected a scalar. That's the whole point of this node - if you want single values, use plain Highway. Mixing the two (a Highway feeding a Highway Batch) is fine; the batch node will just wrap the single value into a one-element list.
Cyclic connection recursion. Same hard rule as Highway: never let an output of a node feed back into its own input path, directly or indirectly. The source is blunt that this ends in a Python recursion error.
Type mismatch on a lane. The pipe records each lane's Comfy type and the output checks it against what you wired; a mismatch raises instead of silently passing garbage. Fix the upstream lane or the query.
The caveats about this pack being single-author and dormant since early 2025 apply here too - Highway Batch is a thin, stable wrapper, but don't expect active maintenance.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| _query | STRING | >data; <data | — |
| _way_inopt | HIGHWAY_PIPE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| _way_out | HIGHWAY_PIPE | — |