Nodes/ComfyUI Easy Use/Easy Apply BrushNet
ComfyUI Node Runs on cloud

Easy Apply BrushNet

Plug-and-play inpainting on any checkpoint

By yolain·Created 3 years ago·Updated 12 days ago· 2,647
Easy Apply BrushNet
  • pipe
  • image
  • mask
  • pipe
brushnet
dtype
scale1.00
start_at0
end_at10000

BrushNet's whole pitch is that you don't need a dedicated inpainting checkpoint. Normally, good masked inpainting meant hunting down a special "-inpainting" variant of your model, and for most fine-tunes that variant just doesn't exist. BrushNet sidesteps that: it's a separate branch you bolt onto whatever SD1.5 or SDXL checkpoint you're already using, and it handles the masked region while your base model stays frozen. easy applyBrushNet is yolain's one-node wrapper for wiring that into an EasyUse pipe.

Worth being honest up front about the landscape (the KB is blunt on this): as of 2026, instruction-editing models like Flux Kontext and Qwen-Image-Edit have eaten most of the everyday "just fix this" work. What mask-based inpainting still uniquely gives you is bit-identical unmasked pixels and a precise denoise dial - the rest of the frame does not move. If that's what you're after, BrushNet is still a very reasonable way to get it, especially on the SDXL/Illustrious stack.

How it works

BrushNet runs a parallel branch that's conditioned on the masked image and the mask, then feeds its features into the frozen base UNet. Because the base model's weights are untouched, one BrushNet model works across many checkpoints - that's the "plug-and-play" part, and it's the reason people bother.

In EasyUse, the node takes your loaded pipe, the image and mask you're inpainting, and a brushnet model chosen from the dropdown. It returns the pipe with BrushNet applied, so your presampling and sampler nodes downstream just work.

The inputs that matter

  • brushnet - the model file. The dropdown reads from your BrushNet models folder; if it's empty, you haven't downloaded one yet (see below).
  • scale - how strongly BrushNet steers the result (0–10, default 1). Turn it down if the fill is fighting your prompt.
  • start_at / end_at - the step window BrushNet is active. Defaults span the whole run; narrowing it lets the base model take over late for detail.
  • dtype - leave on float16 unless you hit precision errors, then try bfloat16.

Installing it, and the model download you can't skip

Install the pack the usual way - ComfyUI Manager, search "ComfyUI Easy Use," install, restart; or git clone https://github.com/yolain/ComfyUI-Easy-Use into custom_nodes and run install.bat / pip install -r requirements.txt.

Then the part beginners miss: BrushNet needs its model files, and they don't ship with the node. The pack integrates BrushNet model loading (the README credits nullquant's ComfyUI-BrushNet), so grab the BrushNet checkpoints for SD1.5 and/or SDXL and drop them where ComfyUI can see them. Empty dropdown = missing models, every time.

Common issues

Two real ones show up in the pack's own changelog, so if you hit them, update the pack first:

  • BrushNet couldn't run under the --fast startup flag - fixed in v1.2.5. If you launch ComfyUI with --fast and BrushNet errors, either update or drop the flag.
  • A tensor(640) shape error was fixed in v1.2.9. That one's a version mismatch between BrushNet and the checkpoint's expected dimensions; updating clears it.

Beyond that: match the BrushNet model to your base family (SD1.5 BrushNet with an SD1.5 checkpoint, SDXL with SDXL - mixing them is the fast route to shape errors), and keep your mask clean. Soft, well-placed masks blend; jagged ones seam.

CategoryEasyUse/Inpaint

Inputs (8)

NameTypeDefaultDescription
pipePIPE_LINE
imageIMAGE
maskMASK
brushnetCOMBO0 options:
dtypeCOMBO4 options: float16, bfloat16, float32, float64
scaleFLOAT1.000–10
start_atINT00–10000
end_atINT100000–10000

Outputs (1)

NameTypeDescription
pipePIPE_LINE