SUPIR Upscaler for NSFW AI: Complete Guide (2026)

14 min read

SUPIR is a diffusion-based restoration upscaler that rebuilds realistic skin, hair, and fabric detail instead of just sharpening pixels like ESRGAN. For NSFW work it gives photoreal results but needs roughly 12GB to 24GB VRAM, careful control scale, and tight quality prompts to stop anatomy warping. Keep all subjects adult, fictional, and AI-generated.

SUPIR (Scaling-UP Image Restoration) is one of the most powerful tools available for taking a soft, low-detail render and turning it into something that looks like a real photograph. Where a classic ESRGAN model just enlarges what is already there, SUPIR uses an SDXL diffusion backbone to hallucinate plausible detail: individual hairs, pores, the weave in a stocking, the grain of skin. That makes it a favorite for photoreal adult content, where flat plastic skin is the giveaway that an image is AI. This guide covers what SUPIR is, how it differs from ESRGAN, how to install it in ComfyUI or standalone, the models you need, the VRAM reality, the settings that matter, and how to keep bodies from warping when you push detail hard.

What SUPIR actually does (and why it is not ESRGAN)

The single most important thing to understand is the difference in approach. RealESRGAN, 4x-UltraSharp, and similar GAN upscalers are deterministic: they look at the pixels you give them and predict a larger version. They cannot invent detail that was not implied by the input. If your skin is a smooth blur, ESRGAN gives you a larger smooth blur with sharper edges.

SUPIR is generative. It runs a diffusion process guided by your low-res image plus a text prompt, and it paints in detail that is statistically plausible for what it sees. A blurry cheek becomes skin with pores and fine texture. A smear of hair becomes individual strands. This is incredible for realism, but it is also why SUPIR can change things. Because it is inventing detail, it can invent the wrong detail: extra fingers, melted jewelry, warped nipples, distorted anatomy. Controlling that is the whole game.

Feature ESRGAN family SUPIR
Method GAN, deterministic Diffusion, generative
Adds new detail No, only sharpens Yes, hallucinates texture
VRAM 2GB to 4GB 12GB to 24GB
Speed Seconds 30s to several minutes
Skin realism Limited Excellent
Risk of artifacts Very low Moderate, must be managed

If you only need a clean 2x enlarge with no surprises, an ESRGAN model is faster and safer. Reach for SUPIR when the source is genuinely soft and you want it to look like a real camera shot. For a broader survey of options see our best NSFW AI upscalers roundup.

A restoration engine reconstructing micro detail from a soft panel, abstract concept

The models you need

SUPIR is not one file. You need three pieces:

# Required models for SUPIR
1. SDXL base checkpoint (the diffusion backbone)
   - e.g. Sd_xl_base_1.0.safetensors or a photoreal SDXL checkpoint
2. SUPIR-v0Q.ckpt   (general purpose, higher quality, default choice)
   OR
   SUPIR-v0F.ckpt   (stronger restoration, more aggressive detail)
3. SDXL CLIP / VAE (usually bundled with the base checkpoint)

The v0Q model is the balanced, all-rounder weight. V0F leans harder into restoration and adds more aggressive texture, which can help with very degraded sources but increases the warp risk on bodies. For most adult photoreal work start with v0Q. You can swap the SDXL base for a photoreal checkpoint from our best NSFW checkpoints list to bias the hallucinated detail toward the look you want.

Installing SUPIR in ComfyUI

The cleanest path in 2026 is the ComfyUI custom node set. If ComfyUI is new to you, our ComfyUI for NSFW guide walks through the base install first.

# 1. Clone the node into custom_nodes
cd ComfyUI/custom_nodes
git clone https://github.com/kijai/ComfyUI-SUPIR

# 2. Install requirements
cd ComfyUI-SUPIR
pip install -r requirements.txt

# 3. Place models
# SUPIR-v0Q.ckpt -> ComfyUI/models/checkpoints/
# sdxl base       -> ComfyUI/models/checkpoints/

# 4. Restart ComfyUI, load the example SUPIR workflow

The node pack ships an example workflow. The core chain is: load image, SUPIR model loader, SUPIR encode, SUPIR sample, decode, save. You feed your already-generated NSFW render into the load image node and let the sampler rebuild it.

Installing standalone SUPIR

If you do not use ComfyUI, the original repo runs as a Gradio app:

git clone https://github.com/Fanghua-Yu/SUPIR
cd SUPIR
pip install -r requirements.txt
# download SUPIR-v0Q.ckpt and the SDXL base into the paths
# defined in options/SUPIR_v0.yaml
python gradio_demo.py --use_tile_vae --no_llava --loading_half_params

The standalone app exposes the same controls in a web UI. The flags above (--use_tile_vae, --loading_half_params) are your friends on consumer cards, more on that below.

VRAM reality and how to fit it

SUPIR is heavy. Out of the box it wants 24GB and will happily fill an RTX 4090. You can run it on less, but you must enable the memory-saving options:

  • fp8 / half params: stores weights at lower precision, roughly halves VRAM, tiny quality cost.
  • Tiled VAE (--use_tile_vae or the tiled VAE node): processes the decode in tiles so a 4K output does not blow up memory.
  • Tiled diffusion: splits the actual sampling into overlapping tiles. Slower but lets a 12GB card handle large outputs.
  • Skip LLaVA (--no_llava): the optional auto-captioner eats several GB. Write your own prompt instead.
Your VRAM Realistic SUPIR target Settings
8GB 1.5x small images only, expect swaps fp8 + tiled VAE + tiled diffusion, batch 1
12GB 2x to 4K with tiling fp8 + tiled VAE, no LLaVA
16GB 2x comfortably tiled VAE, half params
24GB 2x to 4x, smooth default, LLaVA optional

If your card is below 12GB and SUPIR keeps choking, it is often faster to rent. Our cloud GPU rental guide covers spinning up a 24GB instance for a few cents per run. Check the GPU hardware requirements page to understand where your card sits before you fight the settings.

The settings that matter

SUPIR exposes a handful of sliders that completely change the result. Here are the ones to learn:

Setting What it does Safe NSFW range
Control scale (EDM s_churn / control strength) How tightly output sticks to the source 0.9 to 1.0 to stay faithful
Restore CFG Guidance for the restoration 4.0 to 7.5
Denoise / s_noise How much freedom to repaint 0.3 to 0.5 for fidelity
Steps Sampling steps 30 to 50
Positive quality prompt Pushes texture quality see below
Negative prompt Suppresses artifacts see below

The core trade is control scale and denoise versus creativity. High control scale (near 1.0) and lower denoise (0.3 to 0.4) keep the body shape almost identical to the source while still adding skin texture. Lower control scale and higher denoise let SUPIR repaint more, which adds richer detail but raises the chance it reshapes anatomy.

# Recommended starting point (ComfyUI SUPIR sample node)
model: SUPIR-v0Q
steps: 45
control_scale: 1.0
restore_cfg: 6.0
denoise / s_noise: 0.35
sampler: EDM (default)
tiled_vae: true
tile_size: 1024

Quality prompts: positive and negative

SUPIR responds strongly to a text prompt that describes the kind of detail you want. Keep it about photographic quality, not the scene. A baseline pair:

Positive quality prompt:
high quality photograph, sharp focus, fine skin texture, realistic
skin pores, detailed hair strands, natural lighting, 8k, film grain,
photorealistic, professional photography

Negative prompt:
blurry, plastic skin, oversmooth, waxy, deformed, extra fingers,
fused limbs, mutated hands, lowres, jpeg artifacts, oversaturated,
child, minor, underage, loli, shota

The safety negatives (child, minor, underage, loli, shota) belong in every NSFW prompt as a baseline. For a deeper set of artifact-suppressing tokens, our negative prompts master list is worth bookmarking. The positive prompt is where you fight plastic skin: words like skin pores, film grain, and fine skin texture bias the diffusion toward real-camera detail.

A high VRAM rig powering an intensive upscale run, glowing on dark

Keeping anatomy from warping

This is the part people skip and regret. Because SUPIR invents detail, it can subtly or badly distort bodies on adult content. Strategies that work:

  1. Keep denoise at 0.3 to 0.4. The single biggest lever. Above 0.5 SUPIR starts treating your image as a suggestion rather than a reference.
  2. Keep control scale near 1.0 so the structure is locked.
  3. Upscale in stages. Two passes at 2x with low denoise beat one wild 4x pass.
  4. Load anatomy artifacts into the negative prompt: deformed, extra fingers, fused limbs, mutated hands, bad anatomy.
  5. Fix hands and faces before upscaling, not after. SUPIR will faithfully enlarge a broken hand. Use ADetailer and the techniques in our NSFW troubleshooting guide at generation time, then upscale the corrected image.

A clean low-denoise SUPIR pass on an already-correct image is far safer than trying to use SUPIR to repair anatomy. It is a texture tool, not a fixer.

A worked example workflow

Say you have a 1024×1536 photoreal render that looks soft. Here is a reliable two-stage approach:

# Stage 1: gentle SUPIR detail pass
input: 1024x1536 render
target: 2x -> 2048x3072
control_scale: 1.0
denoise: 0.30
restore_cfg: 5.5
steps: 40
tiled_vae: true, tile_size: 1024

# Stage 2 (optional): light sharpen, NOT another SUPIR pass
# use a small ESRGAN model at 1x for final crispness
# model: 4x-UltraSharp downscaled, or skip

Stage 1 adds the realistic texture. If you need to go bigger, run another low-denoise SUPIR pass rather than cranking denoise on a single pass. Want to test a fresh base image to upscale? Try our free NSFW generator and bring the output into SUPIR.

Photoreal vs anime with SUPIR

SUPIR is built around photoreal restoration and shines on realistic skin. On anime or illustrated NSFW it can work but tends to add photo-style texture that fights the flat cel look. For anime, an anime-tuned ESRGAN model or a tile-ControlNet detail pass usually looks more correct. If you mostly work in anime, see our Illustrious XL guide and consider a non-diffusion upscaler. SUPIR is a photoreal specialist.

SUPIR vs other diffusion upscalers

SUPIR is not the only generative upscaler. It helps to know where it sits. The classic SD Upscale and Ultimate SD Upscale workflows run your own checkpoint with a Tile ControlNet and a moderate denoise to add detail tile by tile. They are lighter on VRAM and let you use any NSFW checkpoint directly, but they need more babysitting and the detail is only as good as your checkpoint. SUPIR, by contrast, has a purpose-trained restoration model on top of SDXL, so it tends to produce more convincing skin out of the box with less tuning. The trade is VRAM and speed. If you have a 12GB or smaller card and already run a good photoreal checkpoint, Ultimate SD Upscale is often the pragmatic choice. If you have 16GB or more and want the most realistic skin with the least fiddling, SUPIR wins. Many creators use both: Ultimate SD Upscale for fast 2x passes and SUPIR for the hero shots that need to look like real photography. For the broader comparison of paid and free options see our Topaz vs free upscalers breakdown, and for pure detail-adding technique read how to add detail to NSFW AI images.

Batch processing with SUPIR

For a set of images, SUPIR can run in batch but with caveats. Because each image is a full diffusion pass, batch is slow, expect 30 seconds to several minutes per image depending on resolution and VRAM. Keep batch size at 1 in the sampler even when queuing many jobs, since SUPIR memory does not amortize across a true batch the way ESRGAN does. In ComfyUI, queue the workflow with a load-image-batch or directory loader node and let it grind through the folder overnight. Use consistent settings across the batch so the detail style stays uniform, varying control scale per image will make a gallery look inconsistent. If you are batching dozens of adult images on a smaller card, this is a strong case for renting a 24GB cloud instance and processing the whole set in one session rather than tying up your local machine for hours. A predictable pipeline beats a fast one that crashes halfway.

A texture detail meter rising as restoration completes, neon nodes

Common mistakes

  • Running with denoise too high and wondering why bodies changed. Drop it.
  • Forgetting the safety negatives. Always include them.
  • Trying to fix broken hands with SUPIR. It cannot, it enlarges them.
  • Skipping tiled VAE on a 12GB card and hitting out of memory.
  • Using a cartoon SDXL base for photoreal restoration. Match the base to the look.
  • Doing one giant 4x pass instead of staged 2x passes.

Troubleshooting artifacts

If SUPIR output looks fried or over-textured, lower restore CFG toward 4.0 and add oversharpened, oversaturated to the negative. If skin looks plastic, raise the positive emphasis on skin pores, film grain and nudge denoise up slightly to 0.4. If you get out of memory errors, enable fp8, tiled VAE, and tiled diffusion, and drop batch to 1. If detail is being invented in the wrong places, raise control scale to 1.0 and lower denoise. Try our free NSFW generator to produce clean source images that upscale predictably.

One more artifact to watch for is texture repetition, where SUPIR stamps the same pore or hair pattern across a large flat area. This usually means your tile size is too small relative to the output, so the model lacks context. Raise tile size to 1024 or higher if VRAM allows, and increase tile overlap so seams blend. If you see hard grid lines, that is a tiling seam problem, fix it with more overlap or a larger tile. And if the whole image drifts in color after upscaling, your VAE may be mismatched, make sure the VAE matches your SDXL base.

SUPIR is the closest thing to a magic realism button for adult AI art, as long as you respect the denoise and control scale discipline. Lock the structure, push the quality prompt, keep the safety negatives in, and it will turn flat renders into convincing photographs.

Frequently asked questions

What is the difference between SUPIR-v0Q and SUPIR-v0F?

v0Q is the balanced general-purpose weight and the right default for most photoreal NSFW work. V0F is more aggressive at restoration and adds stronger texture, which helps very degraded sources but raises the chance of warping anatomy. Start with v0Q and only switch to v0F if your input is severely soft.

How much VRAM do I really need for SUPIR?

Comfortably you want 24GB, but 12GB to 16GB works well with fp8 and tiled VAE enabled. 8GB is possible only for small 1.5x outputs with tiled diffusion and frequent memory swaps. If your card is under 12GB, renting a cloud GPU is usually faster than fighting the settings.

Why does SUPIR change my subject’s body or face?

SUPIR is a diffusion model that invents detail, so at high denoise it repaints rather than preserves. Keep denoise at 0.3 to 0.4 and control scale near 1.0 to lock structure. Fix any broken hands or faces before upscaling, because SUPIR will faithfully enlarge existing errors.

Can SUPIR fix deformed hands or faces?

No. SUPIR adds texture and detail but does not correct anatomy, and it will enlarge a broken hand as faithfully as a good one. Use ADetailer and the troubleshooting guide at generation time to fix anatomy first, then run SUPIR on the corrected image.

Is SUPIR safe for NSFW content privacy?

Yes, when you run it locally in ComfyUI or the standalone Gradio app, nothing leaves your machine. There is no upload, no cloud filter, and no account. This local-only nature is exactly why it suits adult content where privacy matters.

What denoise value should I use in SUPIR?

For faithful NSFW upscaling stay at 0.30 to 0.40. Lower values preserve the original body shape while still adding skin texture. Going above 0.5 gives richer detail but lets SUPIR reshape anatomy, which is risky on adult images.

Does SUPIR work well on anime NSFW images?

SUPIR is built for photoreal restoration and tends to add photographic texture that fights the flat cel-shaded anime look. For anime work an anime-tuned ESRGAN model or a Tile ControlNet detail pass usually looks more correct. Use SUPIR mainly for realistic skin and photo styles.

How do I stop SUPIR output from looking fried or over-textured?

Lower restore CFG toward 4.0 and add oversharpened and oversaturated to your negative prompt. If skin instead looks plastic, emphasize skin pores and film grain in the positive prompt and nudge denoise up slightly. Staged 2x passes beat one aggressive 4x pass for clean results.