BrushNet Pipeline
Bundles model, clip, vae and brushnet into one socket
- model
- clip
- vae
- brushnet
- BRPL
Like a couple of other nodes in this pack, BrushNetPipeline isn't mentioned anywhere in the README - no Usage example, no Parameters entry. What follows is a plain read of its schema rather than documented behavior, so treat it accordingly.
What it does
It's a bundler, nothing more: it takes four inputs - model, clip, vae, and brushnet (a BRMODEL from BrushNetLoader) - and packages them into a single BRPL output. That output exists to feed exactly one other node, BrushNetInpaint, which wants one pipeline socket instead of four separate wires.
If you're using the standard, documented BrushNet node instead, skip this entirely - that node takes model, vae, and brushnet directly and never asks for a bundled pipeline or a clip input at all.
That last point is worth flagging honestly: it's a little odd that this pipeline requires clip when the standard BrushNet node never touches it, and BrushNetInpaint's own inputs show it taking already-encoded positive/negative conditioning rather than raw text. The most mundane explanation is that this node is just mirroring the familiar model/clip/vae trio a checkpoint loader hands you, bundled for convenience, whether or not the downstream node ends up using all three. Nothing in the README confirms that either way - it's the honest gap here, not a documented fact.
Inputs and outputs
model- your base diffusion model.clip- a CLIP model.vae- your VAE.brushnet- aBRMODEL, loaded via BrushNet Loader.
Output: a single BRPL pipeline object, which wires into BrushNetInpaint's BRPL input.
Installing it
Bundled with the whole pack - no separate install. ComfyUI Manager: search "BrushNet," install, restart. Manually: cd ComfyUI/custom_nodes && git clone https://github.com/nullquant/ComfyUI-BrushNet && pip install -r requirements.txt. You'll need a BrushNet checkpoint downloaded into models/inpaint first (see the BrushNet Loader article for the filename-collision landmine - every download shares the same default filename and needs renaming) before this node has anything meaningful to bundle.
Common issues
Because neither this node nor its downstream consumer (BrushNetInpaint) is covered by the README's examples, the honest advice is: if you're not already deliberately trying to use the compact one-node BrushNetInpaint path, wire the documented route instead - BrushNet Loader → BrushNet → KSampler → VAEDecode. It's the workflow the pack's own examples actually demonstrate, so it's far easier to diagnose when something goes wrong. Reach for BrushNetPipeline only if you specifically want fewer nodes on the canvas and are comfortable debugging without a documentation trail to fall back on.
The "bundle everything into one pipe socket" pattern itself isn't unusual in ComfyUI - plenty of packs use a single combined output to cut down on wire clutter when several nodes downstream all need the same handful of models. What's unusual here is just that the pack's own README doesn't walk through this particular bundle or its consumer, so you're relying on the schema and on matching socket types (BRPL in, BRPL out) rather than a written explanation. If your graph errors out on a type mismatch, double check you're feeding this node the same brushnet BRMODEL you'd otherwise plug straight into the standard BrushNet node - there's no separate pipeline-specific checkpoint format.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| clip | CLIP | — | |
| vae | VAE | — | |
| brushnet | BRMODEL | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| BRPL | BRPL | — |