How to Run NSFW AI Locally — Private, Uncensored, On-Device
Short answer: there is no hidden “NSFW mode” to unlock in Forge or a default ComfyUI workflow. Install a local UI, load an adult-capable checkpoint that fits your GPU, and keep the server bound to your own machine. The checkpoint and workflow determine capability; the UI is the runner.
This guide is the shortest install-to-first-image path. Choose among models at best uncensored CivitAI models, use the Stable Diffusion download catalog for exact files, or use the dedicated CivitAI models in ComfyUI guide for node-level setup.
Key takeaway — July 2026
Pick Forge if you want a conventional prompt-and-generate interface. Pick ComfyUI if you want reproducible node graphs or newer model architectures. Fooocus remains an easy SDXL option, but its official project is in limited long-term support with bug fixes only.
Local generation means the base workflow does not require a cloud prompt service after downloads finish. It does not prove that every extension, partner node, browser, or operating-system feature is offline. Keep the UI on 127.0.0.1, install only reviewed code, and check each model's license.
1. Match the model family to your hardware
Use these as planning bands, not guarantees:
| GPU memory | Practical starting point | UI path |
|---|---|---|
| 4–6 GB | SD 1.5 checkpoint, 512×512, batch size 1 | Forge or a lean ComfyUI workflow |
| 8–12 GB | SDXL/Pony/Illustrious, usually 1024×1024, batch size 1 | Forge for simplicity; ComfyUI for reusable graphs |
| 16 GB+ | Large next-gen models such as stock Z-Image-Turbo or Chroma-class workflows | ComfyUI is usually the clearer documented path |
Do not treat file size as VRAM usage. Text encoders, VAEs, LoRAs, upscalers, ControlNet, resolution, and batch size all add memory pressure. Z-Image-Turbo's official card targets 16 GB for the stock model; lower-memory community quantizations are separate workflows with their own dependencies.
NVIDIA/CUDA is the least-friction route. AMD, Apple Silicon, Intel, and CPU paths exist, but installation and performance vary by backend. Follow the UI's current platform documentation instead of copying NVIDIA flags.
2. Choose one UI
Forge: conventional UI
Use Forge when you want a familiar checkpoint dropdown, prompt boxes, and a Generate button. Download only from the official Forge repository. The official README recommends its one-click CUDA 12.1/PyTorch 2.3.1 package:
- Download and extract the official
.7zpackage to a short path such asC:\AI\Forge. - Run
update.batonce while online. - Run
run.bat. - Open the local URL printed in the console, normally
http://127.0.0.1:7860.
Python/Git clone remains an advanced alternative, but the bundled package removes avoidable Python-version errors. Forge is AGPL-3.0; model files retain their own licenses.
ComfyUI: graphs and newer architectures
On Windows 10+, use Comfy Desktop for managed installations or the official portable release if you specifically want a standalone folder. Comfy Desktop handles Python and dependencies. A default local server opens at http://127.0.0.1:8188.
Manual installers should follow the official local self-hosted instructions: create an isolated environment, clone Comfy-Org/ComfyUI, install the documented GPU build and requirements, then run python main.py. ComfyUI is GPL-3.0; models and external assets keep separate licenses.
Fooocus: simple SDXL, limited LTS
Fooocus is useful if you want a low-configuration SDXL experience. Download it only from lllyasviel/Fooocus. The maintainer says the project is in limited LTS with bug fixes only and has no current plan for newer architectures. It is GPL-3.0.
3. Choose and verify a checkpoint
This page does not rank models. Use the current model shortlist, then apply this gate:
- Confirm the base architecture: SD 1.5, SDXL/Pony/Illustrious, Z-Image, or Chroma/Flux-class.
- Read the exact version's license. Pony V6 restricts monetized inference without permission; Illustrious releases have changed licenses; Chroma and Z-Image-Turbo list Apache-2.0 on their official cards.
- Prefer
.safetensorsfor weights. It stores tensors rather than Python pickle code, reducing arbitrary-code risk from the weight file. - On Civitai, confirm the file scan result and record its SHA-256 hash. On Hugging Face, prefer the original publisher.
- Treat custom nodes, extensions, install scripts, and workflow dependencies as executable code.
Never create or distribute sexual content involving minors. Use only consenting adults and follow applicable consent, privacy, likeness, copyright, obscenity, and local laws.
4. Put files in the correct folder
For a single-file SD 1.5 or SDXL checkpoint:
- Forge:
models/Stable-diffusion/ - ComfyUI:
models/checkpoints/
LoRAs go in models/Lora/ on Forge and models/loras/ on ComfyUI. VAEs go in models/VAE/ on Forge and models/vae/ on ComfyUI.
Some newer architectures use separate diffusion model, text encoder, and VAE files instead of one checkpoint. Follow that model's official ComfyUI example exactly. For a full folder map, use CivitAI models in ComfyUI.
Refresh the model list or restart the UI after copying files. If a model does not appear, check folder and file extension before changing launch flags.
5. Run a minimal first image
Start with the fewest moving parts:
- Load one checkpoint with no LoRA, ControlNet, upscaler, or custom node.
- Set batch size to
1. - Use the model family's intended resolution: commonly 512×512 for SD 1.5 and 1024×1024 for SDXL/Pony.
- Use the checkpoint author's documented prompt style and settings.
- Generate a neutral test first. Once the pipeline works, change the prompt and add components one at a time.
In Forge, select the checkpoint and click Generate. In ComfyUI, a minimal graph is Load Checkpoint → positive/negative CLIP Text Encode → KSampler with an Empty Latent Image → VAE Decode → Save Image.
This is a verification procedure, not a claim that this refresh was tested on a GPU.
6. Keep the finished setup local
- Leave Forge and ComfyUI bound to
127.0.0.1. - Do not enable public share links or
--listen 0.0.0.0unless authentication, TLS, and network controls are separately configured. - Keep ComfyUI Manager at
normalorstrongsecurity for routine use. - Review custom-node source and dependencies.
- After required files are downloaded, use offline network mode where appropriate and block unwanted outbound traffic at the operating-system firewall.
- Remember that outputs, workflow JSON, browser history, crash logs, and local application logs can still exist on disk.
Troubleshooting by symptom
CUDA out of memory: set batch size to 1, close other GPU-heavy apps, remove add-ons, and reduce resolution. Then use the UI's documented low-VRAM or offload option.
Model is missing: confirm architecture, file extension, and folder. Refresh or restart. Separate diffusion-model files may belong outside models/checkpoints/.
Workflow reports missing nodes: do not blindly install all. Identify each node, verify its publisher and repository, and install only what is required.
Black, green, or distorted output: check the model card for required VAE and native resolution. Confirm checkpoint, VAE, encoders, and LoRAs share an architecture.
Generation is unexpectedly slow: confirm the intended GPU backend is active, batch size is 1, and the model is not repeatedly offloading.
What to do next
- Choose models at Best Uncensored CivitAI Models.
- Find exact checkpoint files at Stable Diffusion Model Downloads.
- Find ComfyUI add-ons at ComfyUI LoRA Downloads.
- Choose between tabs and nodes at AUTOMATIC1111 vs ComfyUI.
