If you've followed the generative AI space over the last two years, you've probably noticed a whole category of "undress AI" or "nudify" tools showing up in your feeds, in news articles, and increasingly in academic papers on adversarial content moderation. Whatever your personal stance on them is, they're a legitimate technical subject: they combine several of the most active research areas in computer vision — semantic segmentation, latent diffusion, ControlNet-guided inpainting, and identity-preserving generation — in a single production pipeline.
In this post I'll break down how these systems actually work under the hood, benchmark seven of the most talked-about implementations of 2026, and walk through a local ComfyUI reference workflow so you can reproduce the same building blocks on your own hardware.
For an extended comparison table with GPU/VRAM benchmarks and per-tool SSIM scores, I've published the full technical dataset and methodology notes here.
1. The Pipeline in One Diagram
Modern undress AI is not a single model. It's a pipeline of at least five stages: human parsing / semantic segmentation (SCHP, SAM 2, YOLO-Seg), body pose & shape estimation (OpenPose, DensePose, SMPL-X), mask generation & dilation with custom morphological ops, latent-diffusion inpainting (SD 1.5 / SDXL / Flux inpaint) combined with ControlNet, IP-Adapter FaceID and LoRA fine-tunes, and finally post-processing including upscaling, skin tone matching and GFPGAN.
Every commercial undress product is essentially some variant of this pipeline with different weights, prompts, and safety layers. The differences in output quality mostly come from stages 1, 3, and 4 — not from a secret "undress model."
2. Stage 1 — Human Parsing
The first hard problem is: which pixels are clothing? Naïve solutions use CLIP-Seg with prompts like "shirt", "pants", "dress", but the state-of-the-art in 2026 is still SCHP (Self-Correction Human Parsing) for anime/photo hybrids and SAM 2 for high-resolution photorealistic input.
`python
from segment_anything_2 import SAM2ImagePredictor
import torch
predictor = SAM2ImagePredictor.from_pretrained("facebook/sam2-hiera-large")
predictor.set_image(image)
masks, scores, _ = predictor.predict(
point_coords=clothing_points,
point_labels=[1] * len(clothing_points),
multimask_output=True,
)
clothing_mask = masks[scores.argmax()]
`
SAM 2 gives near-perfect boundaries but doesn't know what it's looking at, so most production tools stack CLIP-Seg on top for label filtering.
3. Stage 2 — Pose & Shape
Once clothing is masked, the model has to hallucinate what's underneath — and the underlying anatomy has to match the pose. This is where a lot of older tools fail: hands merged into torsos, elbows bent backwards, missing navels. The winning combo in 2026 uses OpenPose or DWPose for 2D keypoints, DensePose for UV-mapped surface coordinates, and SMPL-X for the parametric 3D body prior. The pose is fed to a ControlNet during the inpainting step so the diffusion model is constrained to produce anatomy consistent with the original image.
4. Stage 3 — Mask Engineering
Raw segmentation masks are almost never used directly — they're dilated by 8–20 pixels to give the diffusion model room to blend edges, feathered with Gaussian blur, and composited with the pose map so the inpainter respects joints.
`python
import cv2
import numpy as np
def prepare_mask(raw_mask, dilate=12, blur=6):
kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (dilate, dilate))
dilated = cv2.dilate(raw_mask.astype(np.uint8) * 255, kernel)
feathered = cv2.GaussianBlur(dilated, (0, 0), sigmaX=blur)
return feathered / 255.0
`
Skip the feathering and you get the classic "cardboard cutout" seam.
5. Stage 4 — Latent Diffusion Inpainting
Options in 2026, ranked by quality-per-VRAM:
| Model | VRAM | Realism | Speed (RTX 4090) |
|---|---|---|---|
| Flux.1-dev-inpaint | 24 GB | ★★★★★ | ~14 s |
| SDXL-inpaint + Juggernaut | 12 GB | ★★★★☆ | ~6 s |
| SD 1.5 + Realistic Vision | 6 GB | ★★★☆☆ | ~3 s |
| SD 3.5-medium-inpaint | 10 GB | ★★★★☆ | ~7 s |
The sampler settings that consistently produced the cleanest outputs: DPM++ 2M SDE Karras, 28–34 steps, cfg_scale 5.5–7.0, denoise 0.85–0.95. I've documented the complete parameter sweep with output examples in the extended write-up for anyone who wants to replicate.
6. The Seven Tools I Actually Tested
I put the same 30 test images through the seven most-referenced commercial pipelines. Rankings below are for technical output quality only.
1. Undress.app — best overall anatomy and skin tone matching. SDXL-based inpainter with a strong FaceID adapter. Freemium plan ships 3 credits; Basic tier around $11.99/mo.
2. Undress.cc — no-signup mode is genuinely fast (~7 s server-side). Auto-deletes uploads within 1–24 h. Weakest spot: full-body shots with complex poses.
3. Clothoff — historically the most-covered tool in the press. Hybrid model: watermarked free tier plus a ~$20/mo subscription. Blocked in Italy as of late 2025.
4. PornWorks AI — general NSFW text-to-image generator with an undress module bolted on. Interesting automated content-detection layer and watermarking.
5. DeepStrip — one-off $5 entry, credit-based. Blocks any subject the age classifier estimates under 21 — one of the more conservative safety layers.
6. Nudify Online — simpler flat-rate pricing. Output quality a step behind Undress.app on close-ups, but competitive on mid-range shots.
7. SoulGen — broader AI-companion product; undress is one feature among many. Output resolution is a real problem.
You can find detailed side-by-side benchmark data covering VRAM usage, latency, and SSIM scores against ground truth here — including the full 30-image test set results and failure-mode breakdown by tool.
7. Reference ComfyUI Workflow
For anyone who wants to reproduce the pipeline locally: LoadImage → SAMLoader (sam2_hiera_large.pt) → GroundingDinoSAM (prompt: "clothing") → MaskDilate (size=14) → MaskBlur (sigma=6) → DWPoseEstimator → ControlNetApply (control_v11p_sd15_openpose) → VAEEncodeForInpaint → KSampler (dpmpp_2m_sde_karras, 30 steps, cfg 6.5, denoise 0.9) with checkpoint realisticVisionV60B1, LoRA detail_tweaker_xl + skin_texture_v3, and IPAdapter ip-adapter-faceid-plusv2_sdxl → VAEDecode → FaceDetailer → Upscale (4x-UltraSharp) → SaveImage.
Expected VRAM: ~11 GB for SDXL, ~6 GB for the SD 1.5 variant. Runtime on an RTX 4090 is 8–15 s per image.
8. Where the Research Actually Is
Open technical problems in 2026: hand and foot reconstruction (even Flux fails ~15% on complex poses), skin-tone consistency across the seam, identity preservation from a single reference frame, fabric-vs-skin ambiguity on tight clothing, and video temporal consistency. Recommended papers: SAM 2 (Meta, 2024), IP-Adapter FaceID Plus V2 (Tencent, 2024), Stable Diffusion 3.5 technical report (Stability AI, 2024).
9. On Ethics and Legality
Non-consensual intimate imagery is illegal in a growing list of jurisdictions — the UK Online Safety Act (2023), the EU AI Act, Japan's revised anti-deepfake law (2024), several U.S. state laws, and the Take It Down Act at the federal level. The only defensible use cases for these pipelines are research on detection and watermarking, consenting-adult creative work with clear model release documentation, and red-teaming safety layers before they hit production.
10. Wrap-Up
Undress AI as a technical category is really just "aggressive inpainting with strong pose priors and identity conditioning." Nothing in the pipeline is exotic — the same building blocks are used in virtual try-on, medical imaging inpainting, and film VFX de-aging.
If you want to go deeper, my complete tool-by-tool review with pricing, safety-layer analysis, and updated 2026 rankings lives in the extended write-up.
Questions, corrections, or want to share your own benchmark results? Drop a comment below.
Top comments (0)