# TencentARC/BrushNet

[ECCV 2024] The official implementation of paper "BrushNet: A Plug-and-Play Image Inpainting Model with Decomposed Dual-Branch Diffusion"

Repository: https://github.com/TencentARC/BrushNet
Canonical: https://ross.abutalabs.com/products/brushnet
Homepage: https://tencentarc.github.io/BrushNet/
Language: Python
License: NOASSERTION
License Family: other
Topics: diffusion, diffusion-models, image-inpainting, text-to-image, eccv, eccv2024
Last push: 2024-12-17T13:49:54+00:00

## Health v2 (maintenance only)
Score: 25/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 0, release rhythm 35, longevity 64
- inputs: {"age_days": 906, "days_push": 624, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases, no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1745, forks 146 (observed 2026-08-28T04:05:30.638212+00:00)

## What it is
BrushNet is the official PyTorch implementation of an ECCV 2024 plug-and-play image inpainting model that embeds pixel-level masked image features into pre-trained diffusion models via a decomposed dual-branch architecture. It includes training, inference, and evaluation code, checkpoints for SD 1.5 and SDXL, and ComfyUI/Gradio demos.

## Use cases
- remove objects from photos and fill the region with generated content
- inpaint masked areas of an image guided by a text prompt
- add a plug-and-play inpainting branch to an existing stable diffusion model
- restore corrupted or damaged parts of images
- benchmark and evaluate diffusion-based inpainting models
- train a custom inpainting model on my own dataset

## When to choose
- you need high-quality, text-coherent image inpainting on top of Stable Diffusion
- you want a plug-and-play inpainting module without modifying the base diffusion model
- you need training, inference, and evaluation code plus datasets (BrushData, BrushBench) for inpainting research

## When to avoid
- you need non-diffusion or lightweight classical inpainting (e.g., OpenCV-style patch fill)
- you lack a GPU or cannot run large diffusion checkpoints
- you need a production-ready end-user app rather than a research codebase

## Facets
- artifact type: library
- maturity: active
- function: image-processing, machine-learning, deep-learning, stable-diffusion
- domain: image-processing, artificial-intelligence, deep-learning, computer-vision
- platform: python
- tags: image-inpainting, diffusion-models, text-to-image, eccv2024, plug-and-play, generative-ai, gpu, linux

## Member repositories
- TencentARC/BrushNet (main) score 25

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:30.638212+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:29:13.222238+00:00, confidence not recorded.
  - readme: https://github.com/TencentARC/BrushNet (fetched 2026-08-28T04:05:30.638212+00:00, sha 0d3b118042aa)
  - homepage: https://tencentarc.github.io/BrushNet/ (fetched 2026-08-29T11:07:07.577937+00:00, sha d7c542e09e27)
- Data as of 2026-08-30T08:39:29.467469+00:00.
