LocalForge AILocalForge AI
LibraryBlogFAQ

Best NSFW Models for ComfyUI 2026

Verified August 8, 2026: ComfyUI v0.31.0 is the current stable core release, and Comfy Desktop v1.0.37 provides managed installations on Windows 10+ and macOS 13+ Apple Silicon; Debian-based Linux currently uses the source-build path.

For standard split Flux or CHROMA .safetensors, use Load Diffusion Model from models/diffusion_models/; packaged FP8 checkpoints use Load Checkpoint from models/checkpoints/. GGUF requires the community ComfyUI-GGUF node, while NF4 is a legacy custom-node route rather than the recommended default.

Core local inference can run without uploading prompts or images after files are cached. Manager, model downloaders, custom nodes, and Partner Nodes may still use the network. The strict-offline section below explains network_mode = offline and --disable-api-nodes.

The Quick Answer

Seven nodes make a working Flux graph in ComfyUI: one GGUF model loader, one dual text-encoder loader, two text-encode nodes, KSampler, VAE Decode, and Save Image. Everything else is optional until this base workflow runs clean.

Quantization File Size VRAM at 1024x1024 Quality vs FP16
FP16 23.8 GB ~24 GB 100%
FP8 11.9 GB ~12 GB ~99%
Q8_0 GGUF 12.7 GB ~13 GB ~99%
Q5_K_S GGUF 8.3 GB ~10 GB ~95%
Q4_K_S GGUF 6.8 GB ~8 GB ~93%

Q4_K_S is the sweet spot for 8 GB cards. Q5_K_S if you have 10-12 GB. Don't bother with Q2 or Q3 - the quality loss shows in fine details and skin textures.

What You Need

  • GPU: NVIDIA with 8+ GB VRAM for GGUF. 12+ GB for FP8. 24 GB for FP16.
  • Disk: 12-25 GB depending on quantization, plus 5-10 GB for text encoders and VAE.
  • Python: 3.10 or 3.11.
  • ComfyUI: core v0.31.0 and Desktop v1.0.37 were current when this guide was verified on August 8, 2026.

Four model files minimum:

  • Flux Dev GGUF - Q4_K_S at 6.8 GB or Q5_K_S at 8.3 GB from city96's HuggingFace repo
  • T5-XXL text encoder - FP16 at 9.8 GB, FP8 at 4.9 GB, or GGUF Q5 at 3.3 GB
  • CLIP-L encoder - clip_l.safetensors, 246 MB
  • VAE - ae.safetensors, 335 MB

Step 1 - Install ComfyUI

Use Comfy Desktop v1.0.37 for managed installations on Windows 10+ or macOS 13+ Apple Silicon. Debian-based Linux currently uses the source-build path. Desktop supports isolated installations so experiments do not have to share one custom-node environment.

For a manual install:

git clone https://github.com/Comfy-Org/ComfyUI.git
cd ComfyUI
pip install -r requirements.txt
python main.py

Open http://127.0.0.1:8188. Add Manager only when needed, because custom nodes install executable dependencies that require their own security review.

Step 2 - Install the GGUF Node

GGUF is not supported by ComfyUI core. The community ComfyUI-GGUF node adds quantized model loading, and its README describes the project as work in progress. Pin a known-good revision before relying on it.

cd custom_nodes
git clone https://github.com/city96/ComfyUI-GGUF.git
pip install gguf

Restart ComfyUI. You'll see Unet Loader (GGUF) and DualCLIPLoader (GGUF) in the node menu. Skip this step only if you're running FP16 on a 24 GB card and using standard loader nodes instead.

Step 3 - Download and Place Files

Grab Flux Dev GGUF from city96/FLUX.1-dev-gguf on HuggingFace. Get T5-XXL and CLIP-L from the comfyanonymous mirrors or official Flux repos.

File placement for GGUF workflow:

File Folder
flux1-dev-Q4_K_S.gguf ComfyUI/models/unet/
t5xxl_fp16.safetensors ComfyUI/models/clip/
clip_l.safetensors ComfyUI/models/clip/
ae.safetensors ComfyUI/models/vae/

For split Flux or CHROMA .safetensors, use models/diffusion_models/ with Load Diffusion Model and put T5/CLIP files in models/text_encoders/. Packaged FP8 checkpoints go in models/checkpoints/ with Load Checkpoint; split FP8 weights still use Load Diffusion Model. CHROMA is Flux-derived but not graph-compatible by assumption, so start from the official CHROMA workflow. GGUF uses the community Unet Loader (GGUF). NF4 is a legacy custom-node route, not the recommended low-VRAM default.

Step 4 - Import and Wire the Workflow

Download a working Flux GGUF workflow JSON and drag it into ComfyUI's canvas. Don't build from scratch on your first run.

Core nodes (7 total, counting both text-encode nodes):

  1. Unet Loader (GGUF) - select your Flux GGUF file
  2. DualCLIPLoader (GGUF) - load T5-XXL and CLIP-L
  3. CLIP Text Encode (x2) - positive and negative prompts
  4. KSampler - connects model output and conditioning
  5. VAE Decode - connects VAE file and sampler output
  6. Save Image - final output node

KSampler settings:

  • Sampler: euler
  • Scheduler: simple
  • Steps: 20
  • CFG: 1.0

CFG 1.0 is correct. Flux handles guidance through a separate FluxGuidance node set to 3.5, not through KSampler's CFG parameter. Raising CFG above 1.0 produces oversaturated garbage. Set your resolution to 1024x1024 or 832x1216 for portrait orientation.

Step 5 - Generate and Verify

Queue one image at 1024x1024. Check for these specific failures:

  • Pink/magenta output: VAE mismatch. Confirm ae.safetensors is in models/vae/ and wired to the VAE Decode node.
  • Blurry/mushy results: Wrong text encoder file. Verify your T5-XXL file matches the model variant you downloaded.
  • OOM crash: Drop resolution to 832x832 or switch to a smaller GGUF quant level.
  • Missing nodes error: Install required nodes through ComfyUI-Manager before loading the workflow JSON.

One clean image means your base workflow is solid. Save the workflow JSON immediately - this is your rollback point for everything that follows.

Step 6 - Add NSFW LoRAs

Place LoRA files in ComfyUI/models/loras/. Add a LoRA Loader node between the model loader and KSampler.

Tested Flux NSFW LoRAs from Civitai:

  • aidmaNSFWunlock - 19 MB, 130k+ downloads. Content unlock baseline. Start at strength 0.7.
  • NSFW Master Flux - 1.16 GB, broad coverage. Strength 0.8.
  • Detail Enhancer FLUX - 19 MB, texture quality boost. Stack after an unlock LoRA.
  • Realistic_Nudes Flux v2.1 - 172 MB, anatomy specialist for explicit detail.

LoRA rules for Flux:

  • Start at 0.6-0.8 strength. Flux amplifies LoRA effects more than SD 1.5 does.
  • One at a time. Get a clean result before adding a second.
  • Watch VRAM. Two LoRAs on Q4 at 1024x1024 can push 8 GB cards to OOM.
  • Same prompt, same seed when comparing before and after results.

Read the license on every LoRA you download. Creators' terms still apply on local hardware.

Verify It Works

Run through this checklist after your first successful generation:

  • Clean output at 1024x1024 - no pink artifacts, no extreme blur, coherent anatomy
  • VRAM stays within limits - check with nvidia-smi during generation
  • LoRA effect is visible at 0.7 strength without artifacts or color shifts
  • Workflow JSON saved as your known-good baseline for rollback

Troubleshooting

Pink/magenta slabs: VAE file wrong or decode node wired to incorrect output. Re-check that ae.safetensors is in models/vae/ and the node connections are correct.

Noise that never resolves: Scheduler mismatch. Flux needs euler sampler + simple scheduler with CFG 1.0. Using SD 1.5 KSampler presets on Flux produces garbage.

OOM on queue: Resolution too high or too many LoRAs loaded. Render at 832x832 first, disable extras, and add features one at a time until you find the limit.

LoRA produces artifacts: Strength too high. Drop to 0.5, increase by 0.1 until the result is clean. Check the LoRA's Civitai page for its recommended Flux variant and strength range.

Offline and Privacy Controls\n\nLocal model nodes can run after dependencies and model files are cached, without uploading prompts or images. That does not make every graph automatically offline. Manager can fetch registries and install executable dependencies; set network_mode = offline in Manager's protected config.ini when those connections are unwanted. Partner Nodes are cloud API nodes that send workflow inputs to third-party providers. Launch with --disable-api-nodes to disable them. Audit downloaders, update checks, and every third-party custom node before calling a workflow air-gapped.\n\n## Bottom Line

Install ComfyUI. Add the GGUF node. Place four files in three folders. Import a workflow. Generate one image. That's five actions to uncensored Flux on your own hardware. Add LoRAs only after the base workflow runs clean. Measure VRAM at every change. Do less, do it right.

What to Do Next

FAQ

How much VRAM does Flux need in ComfyUI? +
A practical starting point is roughly 8 GB for a Q4 GGUF workflow, 10-12 GB for larger GGUF or FP8 paths, and around 24 GB for full precision. Resolution, encoder precision, LoRAs, previews, and offload settings change actual use.
Where do Flux model files go in ComfyUI? +
Split Flux or CHROMA safetensors go in models/diffusion_models/ and use Load Diffusion Model; text encoders go in models/text_encoders/. Packaged FP8 checkpoints go in models/checkpoints/ with Load Checkpoint. GGUF requires ComfyUI-GGUF and typically uses models/unet/ or a configured diffusion-model path.
Is ComfyUI uncensored and fully offline? +
Core local inference does not require a hosted prompt filter or upload after files are cached. Manager, downloaders, custom nodes, update checks, and Partner Nodes may still use the network. Set Manager network_mode to offline and launch with --disable-api-nodes for stricter isolation.
What CFG value should I use for Flux in ComfyUI? +
In the workflow documented here, KSampler CFG stays at 1.0 and guidance is handled by a separate FluxGuidance node. Follow the official workflow for the exact Flux-family model because CHROMA and other derivatives are not automatically graph-compatible.
Should I use GGUF or NF4 for low-VRAM Flux? +
GGUF is the better documented community route in this guide, using ComfyUI-GGUF. It is still a work-in-progress custom node. NF4 uses a legacy bitsandbytes custom node whose README points users toward GGUF, so NF4 is not the default recommendation.