π Auto-Censor β Stable Diffusion WebUI Forge Classic-Neo extension
One-click NSFW detection and censoring, built right into Forge.**
[NudeNet](https://github.com/notAI-tech/NudeNet) finds the sensitive regions, and you choose how to
hide them β mosaic, blur, black bars, stripes, manga bars, or glitch β plus a brush for custom areas,
a *stylize* mode, and Japan-compliant mosaic **export presets**. Send any txt2img / img2img result
straight to the censor tab with a single button.
---
## β¨ Features
- **Automatic detection** β NudeNet (320n ONNX, 18 body classes) draws every sensitive region and
lists it as a checkbox. Bulk-select with one click: *Exposed only / All sensitive / All / None*.
- **7 censor styles** β mosaic, blur, black bar, vertical stripes, horizontal stripes, manga bars,
glitch. Every style has a live strength control.
- **Smart shapes** β `auto` puts an oval over private parts and a rectangle elsewhere, or force
rectangle / ellipse.
- **Brush mask** β paint anywhere on the image to add your own censor regions on top of the detected ones.
- **Stylize mode** β instead of hiding the regions, effect the *background* (blur / grayscale / glitch)
and keep the regions sharp β or reverse it.
- **Export presets** β DLsite / FANZA / Pixiv mosaic-tile rules, plus Bar, Master (clean copy), and
Both, exported at the right format and DPI.
- **Send to Censor** β a π button under every txt2img / img2img gallery drops the image into the tab.
- **Runs on your GPU** β onnxruntime with CUDA, automatic CPU fallback. The ~12 MB model is bundled.
---
π¦ Installation
**From the Forge UI (recommended)**
1. Open the **Extensions** tab β **Install from URL**.
2. Paste:
```
https://github.com/AllastorV/sd-forge-auto-censor
```
3. Click **Install**, then **Apply and restart UI**.
**Manual**
Download the extension, unzip it, and then move it to the βextensionsβ folder in Forge Neo.
```
Restart Forge.
> **Dependency:** detection needs `onnxruntime`. The extension installs the CPU build automatically on
> first launch. For GPU acceleration, install a matching `onnxruntime-gpu` into the Forge venv instead.
> (If you start Forge with `--skip-prepare-environment`, install `onnxruntime` manually.)
---π How to use
1. Open the **π Censor** tab and **upload an image** β or click **π Send to Censor** under any
txt2img / img2img result.
2. Press **π Detect**. Every detected region is drawn with a label and listed under *Regions to censor*.
Use the **Quick pick** radio to bulk-select what gets censored.
3. Choose a **style** and **shape**, tune the **Strength** sliders. *(Optional: paint over the image β
your brush stroke becomes an extra censor mask.)*
4. Press **π©Ή Apply Censor**. The result appears on the right with a **Download** button.
Only the **ticked** regions are censored. On a fully-clothed image *Exposed only* may select nothing β
switch to **All sensitive** to also cover the *covered* regions.
---ποΈ Controls
| Control | What it does |
|---|---|
| **Detection sensitivity** | Lower = find more (and fainter) regions. `0.22` is a good default. |
| **Quick pick** | Bulk-select detected regions: Exposed only / All sensitive / All / None. |
| **Mode** | **Censor** = hide the regions Β· **Stylize** = effect the background, keep regions visible. |
| **Censor style** | mosaic / blur / black bar / stripes (V/H) / manga / glitch. |
| **Region shape** | `auto` (oval on private parts, rectangle otherwise) / rect / ellipse. |
| **Strength** | Mosaic blocks, blur strength, bar/stripe count & thickness, glitch intensity. |
| **More options** | Region padding, merge gap, bar color, glitch seed, draw detection boxes + labels. |
| **Export preset** | JP mosaic presets + Bar / Master / Both (overrides the style). |
### Censor styles
| Style | Look |
|---|---|
| `mosaic` | Pixelated blocks (the classic). Fewer blocks = chunkier. |
| `blur` | Gaussian blur β strength runs from a soft haze to fully hidden. |
| `bar` | Solid colour bar over each region. |
| `barsV` / `barsH` | Vertical / horizontal stripes, image peeking through the gaps. |
| `manga` | Sliced horizontal bars with a sideways displacement, manga-style. |
| `glitch` | Chromatic shift + random slice tears. |
| `sticker` | Overlay your own PNG (or a built-in) on each region β upload from the UI, pick fit/scale/opacity/rotation. |
| `frosted` | Frosted glass: blur + white veil + fine grain. |
| `static` | TV static: noise fill (mono/colour), optional CRT scanlines. |
---
## ποΈ Brush mask
Paint directly on the image (panel 1) to mark extra regions. The painted area is unioned with the
detected regions, so you can cover anything the detector misses β or censor an area on a clean image
with no detection at all.
---π§· Custom sticker library
Pick **Censor style β sticker** to overlay a PNG on every detected region. The panel ships a set of
built-in stickers (heart, star, cat, paws, a CENSORED bar, a "no" sign, a black bar) and lets you
**upload your own** β dropped PNGs are copied into `stickers/custom/` (kept across restarts, never
pushed). Tune **Fit** (cover / contain / stretch), **Scale**, **Opacity**, and **Rotation**. The
sticker uses its own transparency, so the region shape selector doesn't apply. Works on the brush
mask too: paint an area, pick a sticker, and it's centred on the painted region.
**One sticker per region** (on by default) drops a separate sticker on each detected box β a star
on each breast rather than one stretched across both. Turn it off to span overlapping boxes with a
single sticker instead.
---π¨ Stylize mode
Switch **Mode β Stylize** to *reveal* the detected regions and apply an effect to everything else.
Pick a **Stylize effect** (glitch / grayscale / blur, or their `reverse` variants) and a single
**Stylize intensity** slider.
---πΎ Export presets
Export-ready output that follows each platform's mosaic rule. The mosaic tile is an **absolute** size
(`longest side Γ· divisor`), so a region of any size is censored to the same legal tile.
| Preset | Output | Tile rule |
|---|---|---|
| **DLsite** | Censored JPG Β· 300 dpi | mosaic, tile = longest Γ· 100 |
| **FANZA** | Censored JPG Β· 300 dpi | mosaic, tile = longest Γ· 58 (chunkier) |
| **Pixiv** | Censored PNG Β· 72 dpi | mosaic, tile = longest Γ· 100 |
| **Bar** | Censored PNG | solid black bars |
| **Master** | Uncensored PNG | clean archival copy, no censor |
| **Both** | Master PNG **+** Censored JPG | clean copy and a censored copy together |
Picking a preset overrides the style and writes one or more files to the **Download** box.
---
π Detection model
`models/nudenet.onnx` (~12 MB, bundled) β NudeNet 320n, 18 classes. Runs on onnxruntime (CUDA with CPU
fallback). The class metadata drives the sensitive / exposed / ellipse / body-part handling and the
category-grouped non-max-suppression.
## π Credits
- [NudeNet] ( https://github.com/notAI-tech/NudeNet ) by notAI-tech β the NSFW detection model.
π License
MIT β see [LICENSE](LICENSE).







