To upscale NSFW images in Automatic1111, use four routes: the Extras tab for fast ESRGAN enlargement, the img2img SD upscale script for tiled detail, the Ultimate SD Upscale extension for large output on low VRAM, and hires fix at generation. Keep denoise 0.2 to 0.4. Fully local, uncensored. Keep all subjects adult, fictional, and AI-generated.
Automatic1111 is the most common Stable Diffusion interface, and it ships with several upscaling paths that each suit a different job. Because it runs locally there is no content filter and nothing is uploaded, so adult images are handled like any other. The same workflows apply to Forge, the faster fork, which we cover in the Stable Diffusion Forge setup guide. This guide walks each route with the exact fields to set.
First, install your upscaler models. Put ESRGAN .pth files in stable-diffusion-webui/models/ESRGAN and they appear in every upscaler dropdown. The best upscaler models guide lists which to use for photoreal versus anime.
The four routes compared
| Route | Adds detail? | Speed | VRAM | Best for |
|---|---|---|---|---|
| Extras tab | No, enlarges only | Fast | Low | Quick batch enlargement |
| SD upscale script (img2img) | Yes | Medium | Medium | Detail with tiling |
| Ultimate SD Upscale extension | Yes | Medium | Low (tiled) | Big sizes, low VRAM |
| Hires fix (at generation) | Yes | Medium | Medium to high | Upscale during the original render |

Route A: the Extras tab
The simplest upscale. Go to the Extras tab, drop in an image (or a whole batch via the batch sub-tab), and pick an upscaler. This is a pure ESRGAN enlargement: it makes the image bigger and sharpens existing detail but adds nothing new.
Fields to set:
# Automatic1111 Extras tab
Tab: Extras -> Single Image (or Batch Process)
Upscaler 1: 4x-UltraSharp # photoreal; 4x-AnimeSharp for anime
Resize: 4 # 4x scale, or use "Resize to" for exact pixels
Upscaler 2: None # optional blend of a second model
Upscaler 2 visibility: 0
GFPGAN / CodeFormer: 0 # leave off; face restore can over-smooth
Leave the face-restoration sliders at 0 for adult art; GFPGAN and CodeFormer tend to over-smooth skin and can alter faces. Use the Extras tab when your source is already sharp and you just need pixels fast. For genuine added detail, use one of the diffusion routes below.
Route B: the SD upscale script in img2img
This route adds real detail. Send your image to img2img, then at the bottom under Script choose SD upscale. It enlarges the image with an ESRGAN model and then refines it in overlapping tiles with a diffusion pass, so it adds detail while tiling to control memory.
Fields:
# Automatic1111 img2img -> Script: SD upscale
Resize mode: Just resize
Denoising strength: 0.3 # 0.2 to 0.4; keeps the face
Sampling steps: 20
CFG scale: 6
Script: SD upscale
Tile overlap: 64
Scale Factor: 2
Upscaler: 4x-UltraSharp
Keep the same prompt and a baseline negative as the original generation so the refine pass stays on-style. Denoising strength is the key field: 0.3 is the sweet spot, 0.4 for soft sources, never above 0.5 or the face drifts. Tile overlap of 64 helps tiles blend; raise it if you see seams.
Route C: the Ultimate SD Upscale extension
The best route for large output and limited VRAM. Ultimate SD Upscale is a more capable tiled upscaler than the built-in script, with better seam handling and more control.
Install it:
# Install Ultimate SD Upscale
Extensions tab -> Install from URL
URL: https://github.com/Coyote-A/ultimate-upscale-for-automatic1111
Click Install, then Reload UI
Then use it from img2img:
# img2img -> Script: Ultimate SD upscale
Denoising strength: 0.3
Sampling steps: 20
CFG scale: 6
Script: Ultimate SD upscale
Target size type: Scale from image size
Scale: 2
Upscaler: 4x-UltraSharp
Type: Linear
Tile width: 512
Tile height: 512
Mask blur: 8
Padding: 32
Seams fix: Band pass
After installing and reloading, it appears in the img2img Script dropdown. The tile settings control VRAM: 512 tiles let a 6GB to 8GB card produce 4K. Turn on the Seams fix if lines show between tiles. This is the route most serious users prefer. Details on fitting it to small cards are in how to upscale NSFW images on low VRAM.
Try our free NSFW generator to create base images, then refine them locally with any of these routes.
Route D: hires fix at generation time
Hires fix upscales during the original render rather than as a separate step. In txt2img, tick Hires. Fix, set an upscaler and an upscale factor, and the pipeline generates at the base size then upscales the latent and runs a second pass.
# txt2img -> Hires. Fix
Upscaler: 4x-UltraSharp # or Latent for a softer result
Hires steps: 10
Denoising strength: 0.35 # latent upscalers need 0.5 to 0.6
Upscale by: 2
Hires fix is convenient because it bakes upscaling into generation, but it is less flexible than post upscaling. If you want to upscale an image you already saved, use Route A, B, or C. If you are still generating, hires fix at 2x then a post upscale to your final size is a strong combo. Note that the Latent upscaler in hires fix needs higher denoise (0.5 to 0.6) because it works in latent space, while ESRGAN upscalers stay at 0.35.
Hires fix vs post upscale
Which to use:
- Hires fix is part of the original render. Good for getting a larger, more detailed image in one go, but you commit to it before seeing the base.
- Post upscale (Extras, SD upscale, Ultimate SD Upscale) runs on a saved image. Better when you already have a render you like and want to enlarge only the keepers, which saves time and VRAM.
Most workflows generate at a modest size, cherry-pick the good ones, then post-upscale only those.
Photoreal vs anime
The upscaler choice changes by style.
- Photoreal: 4x-UltraSharp or 4x_foolhardy_Remacri, denoise 0.3.
- Anime: 4x-AnimeSharp or RealESRGAN_x4plus_anime_6B, denoise 0.25 to keep flat color clean.
If you generated with Pony Diffusion or Illustrious, use the anime upscaler and refine with the same checkpoint so the pass stays on-style.
Common mistakes
- Leaving GFPGAN or CodeFormer on. They over-smooth skin and can alter faces. Keep them at 0 for adult art.
- Denoise too high in img2img. Above 0.5 the face drifts. Stay 0.2 to 0.4.
- Wrong prompt in the refine pass. Reuse the original prompt and negative.
- Upscaler model in the wrong folder. It must be in models/ESRGAN.
- Using a latent hires upscaler at low denoise. Latent upscalers need 0.5 to 0.6 to work; ESRGAN upscalers do not.
Troubleshooting artifacts
- Tile seams: raise tile overlap (SD upscale) or mask blur and padding (Ultimate), enable Seams fix.
- Face changed: denoise too high, drop to 0.25 to 0.3.
- Plastic skin: denoise too high or face restoration on; lower denoise and disable GFPGAN.
- Out of memory: smaller tiles, enable Tiled VAE (via the multidiffusion extension), close other GPU apps.
- Soft result: Extras-only upscale on a soft source; switch to a diffusion route.
If the issue is in the base render, fix generation first with the NSFW AI troubleshooting guide. For more upscale routes overall, see how to upscale NSFW AI images.
A note on safety
Upscale only adult, fictional, AI-generated or fully owned subjects. Keep a baseline safety negative in img2img, which the refine pass reuses:
negative: child, minor, underage, loli, shota, lowres, deformed, bad anatomy
A clean source, the right model, and a local Automatic1111 or Forge pipeline give you private, uncensored, high-resolution results. Generate base images for free and keep the whole chain on your own machine.

A complete recommended workflow
Here is the pipeline most experienced Automatic1111 users settle on for adult art.
- Generate at a modest size in txt2img (for example 832×1216) with hires fix off, producing a batch of candidates quickly.
- Cull to the keepers. Only upscale the images worth the time.
- Send a keeper to img2img with the same prompt and negative.
- Choose Ultimate SD upscale from the Script dropdown.
- Set denoise 0.3, steps 20, upscaler 4x-UltraSharp, scale 2, tile 512.
- Generate, review at 100 percent, fix seams or denoise if needed.
- Save as PNG, convert to JPEG only for final delivery.
This generate-small, cull, then upscale-keepers loop is faster and produces better results than upscaling everything with hires fix.
Blending two upscaler models in the Extras tab
The Extras tab lets you blend two upscalers with a visibility slider. This is useful when one model is sharp but harsh and another is soft. Set Upscaler 1 to 4x-UltraSharp, Upscaler 2 to 4x_foolhardy_Remacri, and slide Upscaler 2 visibility to around 0.5. You get UltraSharp crispness tempered by Remacri’s natural skin. It is a quick way to dial in a look without a diffusion pass.
# Extras tab - blended upscale for natural skin
Upscaler 1: 4x-UltraSharp
Upscaler 2: 4x_foolhardy_Remacri
Upscaler 2 visibility: 0.5
Resize: 4
Settings reference table
| Setting | Extras | SD upscale | Ultimate SD | Hires fix |
|---|---|---|---|---|
| Denoise | n/a | 0.3 | 0.3 | 0.35 (0.55 latent) |
| Steps | n/a | 20 | 20 | 10 |
| Tile / overlap | n/a | overlap 64 | tile 512 | n/a |
| Adds detail | No | Yes | Yes | Yes |
| Best VRAM fit | Any | Medium | Low (tiled) | Medium |
Speed and VRAM expectations
On a mid-range RTX 4060 or 4070:
- Extras ESRGAN 4x: a few seconds.
- SD upscale script 2x: 20 to 50 seconds.
- Ultimate SD Upscale 4x tiled: 40 to 90 seconds.
Out of memory? Lower tile size, enable Tiled VAE via the multidiffusion extension, and close other GPU apps. The full constrained-card guide is how to upscale NSFW images on low VRAM, and hardware choices are in GPU hardware requirements. Try our free NSFW generator to build the keepers worth upscaling.
Matching the refine pass to your generation
The img2img refine passes (SD upscale, Ultimate SD Upscale) are second generations, so feed them the same conditioning as the original. Use the same checkpoint, the same prompt, and the same negative prompt. If a LoRA shaped the character, include it in the img2img prompt too, or the upscaled face drifts. This keeps the added detail on-style and on-character. The consistency principles in best NSFW LoRAs and how to make realistic AI porn carry straight into the upscale step.
Using the After Detailer extension with upscaling
ADetailer (After Detailer) is a popular Automatic1111 extension that automatically detects and refines faces and hands. Pairing it with upscaling fixes the most common weak point at high resolution. A strong order is: generate, run ADetailer on the face, then post-upscale the result, optionally with a second ADetailer pass on the upscaled image. This produces sharp, correct faces even at 4K. It complements the upscale routes here and overlaps with how to add detail to NSFW AI images. Install ADetailer from the Extensions tab the same way you install Ultimate SD Upscale.
Tiled VAE for big images
When you upscale to large sizes, the VAE decode step can spike VRAM and crash even if the diffusion tiles fit. The multidiffusion-upscaler extension adds a Tiled VAE option that decodes the image in chunks, removing that spike. Install it from the Extensions tab, enable Tiled VAE in img2img, and you can decode 4K and beyond on a modest card. Combined with Ultimate SD Upscale’s diffusion tiling, this is what lets an 8GB GPU produce genuinely large adult upscales. Details on squeezing the most from a small card are in how to upscale NSFW images on low VRAM.
Reviewing and exporting
After any upscale, open the result at 100 percent before you call it done. Scan the eyes, skin transitions, hands, hair edges, and any tile boundaries. If you see seams, raise tile overlap or mask blur and rerun. If the face changed, lower denoise to 0.25 or run ADetailer on the upscaled image. Keep the file as PNG through every step and convert to JPEG only at final export, at high quality, so compression artifacts do not stack across passes. Always save upscales as new filenames rather than overwriting your base render, so you can re-run with different settings if the first pass disappoints. This habit costs nothing and saves you from regenerating a good base image you accidentally overwrote.

Batch upscaling in the Extras tab
When you have many keepers, the Extras tab Batch Process sub-tab upscales a whole folder of images with one ESRGAN model in a single run. Point it at an input folder, set the upscaler and scale, and let it process the batch unattended on your own machine. For diffusion-quality batch upscaling you can script Ultimate SD Upscale through the API, but for most people the deterministic Extras batch covers the bulk of work, with a diffusion refine reserved for the few hero images that need maximum detail. Either way it runs locally, with no cloud cost and no content filter touching your adult images.
Bottom line
Use the Extras tab for fast enlargement, the SD upscale script or the Ultimate SD Upscale extension for tiled diffusion detail, and hires fix when you want upscaling baked into generation. Keep denoise at 0.3, disable face restoration, match the upscaler to your art style, and post-upscale only the renders worth keeping. Forge works exactly the same way, so the entire workflow carries straight over to a Forge setup.
Frequently asked questions
What is the best way to upscale in Automatic1111?
For real added detail on large output, the Ultimate SD Upscale extension is best because it tiles for low VRAM and handles seams well. For a fast enlargement with no new detail, use the Extras tab. The built-in SD upscale script in img2img is a solid middle ground that needs no extension.
How do I install Ultimate SD Upscale in Automatic1111?
Go to the Extensions tab, choose Install from URL, paste the github.com/Coyote-A/ultimate-upscale-for-automatic1111 URL, click Install, then Reload UI. It then appears in the img2img Script dropdown. You also need an ESRGAN upscaler model in models/ESRGAN for it to use.
What denoising strength should I use to upscale?
Keep denoising strength between 0.2 and 0.4, with 0.3 as the default, for ESRGAN-based upscalers in img2img. This adds detail while preserving the face and anatomy. The exception is the Latent upscaler in hires fix, which needs 0.5 to 0.6 because it works in latent space.
Should I use the Extras tab or img2img to upscale?
Use the Extras tab for a quick deterministic enlargement when the source is already sharp, since it adds no new detail and is fast. Use img2img with the SD upscale or Ultimate SD Upscale script when you want the diffusion model to paint in genuine new detail at a controlled denoise.
Does upscaling in Automatic1111 censor NSFW content?
No. Automatic1111 and Forge run entirely on your own hardware with your own models, so there is no content filter and nothing is uploaded. Every upscale route, including the diffusion refine passes, processes adult content exactly like any other image.
What is the difference between hires fix and post upscaling?
Hires fix upscales during the original txt2img render, so you commit before seeing the base image. Post upscaling runs on a saved image in the Extras tab or img2img, which lets you enlarge only the renders you like. Most workflows generate small, pick keepers, then post-upscale those.
Why does my Automatic1111 upscale look plastic?
Usually denoise is too high or face restoration is enabled. Drop denoising strength to about 0.3 and set GFPGAN and CodeFormer to 0, since they over-smooth skin and can alter faces. Using a gentler upscaler model like Remacri instead of an aggressive one also helps.
Does upscaling work the same in Forge?
Yes. Forge is a faster fork of Automatic1111 and shares the same Extras tab, img2img SD upscale script, hires fix, and Ultimate SD Upscale extension. The fields and settings are identical, so every workflow in this guide applies directly to a Forge setup.



