BrushNet Inpaint
The one-node shortcut the README never mentions
- BRPL
- image
- mask
- positive
- negative
- image
Worth saying upfront: this node doesn't show up anywhere in the pack's README - not in the Usage walkthrough, not in the Parameters section. Everything here comes from reading its actual input/output schema, so treat it as a lesser-traveled corner of the pack rather than a documented feature. Its low traffic on comfy.icu tracks with that - it's clearly not the path most BrushNet workflows take.
What it looks like it does
The standard way to run BrushNet is the BrushNet node feeding a KSampler, then a VAEDecode. BrushNetInpaint's inputs suggest it collapses that whole chain into one node: it takes a bundled pipeline (BRPL, from BrushNetPipeline), your image, mask, and conditioning, plus sampler-level settings - seed, steps, scale - and hands back a finished IMAGE directly. No separate sampler node, no manual VAE decode step.
That scale field matches the strength semantics of the main BrushNet node (default 1, range 0-10), so it's a fair bet this runs the same dual-branch inpainting under the hood - it's just doing the sampling and decoding internally instead of leaving them for you to wire.
Inputs and outputs
BRPL- the bundled pipeline object from BrushNetPipeline (model + clip + vae + brushnet, packaged together).image/mask- same as anywhere else in the pack: the source image and the region to regenerate.positive/negative- your conditioning.seed(default 0) andsteps(default 50) - standard sampling controls.scale(default 1, range 0-10) - BrushNet's strength.
Output: a single image, ready for Preview or Save.
Notice what's not here compared to the main BrushNet node: no start_at/end_at step window, and no explicit sampler or scheduler choice. Whatever this node does internally for those, it's fixed - you don't get to tune it from the graph.
Installing it
Same pack, no separate install: ComfyUI Manager search "BrushNet," or git clone https://github.com/nullquant/ComfyUI-BrushNet into custom_nodes and pip install -r requirements.txt. You'll need a BrushNet checkpoint in models/inpaint and a BrushNetPipeline upstream to actually feed this node - see the BrushNet and BrushNetPipeline articles for the model download details, since the checkpoint filenames all collide by default and need renaming.
Common issues
Because this isn't documented, treat anything that goes wrong here as genuinely undocumented territory rather than user error you can look up. A few practical notes:
- If you need control over when BrushNet applies during sampling (the
start_at/end_atwindow the main BrushNet node exposes), this node won't give it to you - fall back to the manual BrushNet + KSampler chain instead. - Since it needs a
BRPLpipeline rather than rawmodel/vae/brushnetsockets, you can't skip BrushNetPipeline - there's no way to feed this node directly from BrushNetLoader. - If results look off and you can't isolate why, the manual route (BrushNet → KSampler → VAEDecode) gives you far more visibility into each step and is the one actually covered by the README's examples. Reach for BrushNetInpaint when you want fewer nodes on the canvas, not when you're debugging.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| BRPL | BRPL | — | |
| image | IMAGE | — | |
| mask | MASK | — | |
| positive | CONDITIONING | — | |
| negative | CONDITIONING | — | |
| seed | INT | 00–18446744073709550000 | — |
| steps | INT | 501–10000 | — |
| scale | FLOAT | 1.000–10 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |