Published:

How to Train an NSFW LoRA in 2026: Kohya, OneTrainer & Civitai

Civitai hosts a LoRA for almost every character, style, and kink you can name. Almost. The moment you want something the community hasn’t covered (an original character you designed, an obscure art style, a body type the generic models keep getting wrong), downloading stops working and training starts. The good news: NSFW LoRA training in 2026 is far easier than it was two years ago. You need about 20 to 40 images, a free afternoon, and either a 12GB GPU or a few dollars of Civitai Buzz.

This guide covers the whole pipeline: what to train on, how to build and caption a dataset, the three trainers people actually use (Civitai’s on-site trainer, OneTrainer, and kohya_ss), starting settings that work, and how to test the result. Also the legal lines you don’t cross, because with training the lines are sharper than with generation.

What a LoRA Is, in One Paragraph

A LoRA (low-rank adaptation) is a small add-on file that nudges a big base model toward something specific. The base checkpoint knows “anime woman”; your LoRA teaches it your anime woman, or a fetish style, or an anatomy correction. It trains in under an hour on consumer hardware because you’re only training a thin adapter, not the full model. The output is a file of 20 to 300MB that you load in ComfyUI or any other UI at a chosen strength. If you’ve stacked LoRAs from Civitai before, you already know the loading half; this guide covers the making half.

Training has one rule that matters more than every setting combined: never train on images of a real person without their consent. A LoRA of your ex, a streamer, a celebrity, or anyone else who exists is how you end up on the wrong side of the Take It Down Act and a growing pile of state and EU law covered in our AI nudify laws guide. Civitai banned real-person likeness content outright in May 2025, and the payment processors that forced that change aren’t coming back around.

Fictional content is a different situation. Training on your own original character, your own commissioned art (with the artist’s permission), or general style datasets of adult content featuring adults is where the whole hobby lives. Two more lines: nothing involving minors or characters presented as minors, obviously and non-negotiably. And if you plan to publish the LoRA, check the license of the art you trained on; scraping a living artist’s gallery and uploading a style clone with their name on it is a fast way to get a takedown and deserve it.

Three Ways to Train an NSFW LoRA, Compared

TrainerHardware neededCostBest for
Civitai on-site trainerNoneBuzz per run (reportedly ~500+ for SDXL-family, more for Flux)Beginners, no GPU
OneTrainer12GB+ NVIDIA GPUFreeLocal training with a sane GUI
kohya_ss12GB+ NVIDIA GPUFreeThe community-standard route, most guides assume it

Civitai’s trainer is the zero-setup option. Upload your dataset on the site, pick a base model (Pony, Illustrious, SDXL, and reportedly Flux at a higher Buzz cost), let its auto-tagger caption the images, and queue the run. Since the 2026 site split, NSFW training and the explicit models live on civitai.red, so budget for the crypto-purchased Buzz our Civitai review walks through. The trade-off is control: you get the important knobs but not all of them, and your dataset goes to their servers.

OneTrainer is the friendliest local option. One app, a real GUI, presets per base model, built-in captioning tools, and support for SD 1.5 through SDXL and Flux. If you’re training locally for the first time, start here.

kohya_ss is the veteran. Nearly every settings guide, YouTube tutorial, and Civitai article assumes Kohya’s trainer, so when something breaks you’ll find the answer fastest. The GUI is denser than OneTrainer’s and setup involves a Python environment, but the results and speed are the reference point everything else gets compared to.

VRAM reality check: an SDXL-family LoRA trains comfortably on 12GB and is possible on 8GB with gradient checkpointing and patience. Flux LoRA training wants 16 to 24GB, though quantized training has reportedly pulled that down to around 12GB in recent kohya builds. No NVIDIA card at all? Civitai’s trainer or a rented cloud GPU (a few dollars for an afternoon on RunPod or Vast) covers you.

Civitai

MOST POPULAR
★★★★☆(10k+ reviews)

The largest AI model community with thousands of NSFW video generation workflows

Free daily generations Try Civitai Free →

Dataset Prep: Where LoRAs Are Won or Lost

Settings tweak quality at the margins. The dataset decides it. Plan on 20 to 40 images for a character LoRA and 50 to 100 for a style; more than that mostly adds training time, not quality.

What a good character dataset looks like:

  • Varied everything except the subject. Different angles, poses, outfits, backgrounds, lighting. If every image shows the same pose, the LoRA learns the pose as part of the character and you’ll never get her out of it.
  • Include the explicit content you want out. A LoRA trained only on SFW images of a character will fight you when you prompt NSFW scenes. Mix clothed and explicit source images if explicit output is the goal.
  • Quality over count. One blurry, artifacted, or watermarked image teaches the model blur, artifacts, and watermarks. Cut ruthlessly.
  • Crop to the subject. 1024x1024 is the SDXL-family standard; both local trainers bucket odd aspect ratios automatically, so don’t distort images to force a square.

Then captioning, which beginners skip and shouldn’t. Each image gets a text file describing it, and the rule is counterintuitive: caption what you want to be changeable, leave out what the LoRA should always produce. Tag “red dress” and the dress becomes optional; leave her face traits untagged and they bake in permanently. Add a unique trigger word (an invented token like “ohwxgirl”) as the first tag of every caption so the character summons on demand.

Match caption style to the base model. Pony and Illustrious expect booru tags, and the WD14 auto-tagger built into both local trainers gets you 90% there in one click. Flux and SDXL realism models prefer natural-language sentences. Auto-caption first, then hand-fix the errors; taggers reportedly mislabel exactly the anatomy details an NSFW LoRA exists to get right.

Settings That Actually Matter

Trainers expose dozens of parameters. These are the ones that change outcomes, with starting values that work for an SDXL-family character LoRA:

SettingStart withWhat it does
Base modelPony/Illustrious (anime), SDXL realism checkpoint (photoreal)Train on what you’ll generate with
Network dim (rank)16 to 32Capacity; higher = bigger file, more detail, more overfit risk
Network alphaHalf of dimScales learning strength
Learning rate1e-4 with AdamW8bit, or the Prodigy optimizer to skip tuningHow fast it learns
Total steps1,500 to 2,500Images x repeats x epochs; more isn’t better past a point
Batch size1 to 2Raise only if VRAM allows

Two habits save the most time. First, enable sample image generation every couple hundred steps with a fixed test prompt, so you can watch the LoRA converge instead of guessing. Second, save a checkpoint every epoch; the best version is often epoch 6 of 10, not the last one.

Base model choice deserves one more sentence: train on the family you generate with. A Pony-trained LoRA underperforms on Flux and vice versa. Our uncensored AI models ranking covers which base fits which content type.

Testing: Overcooked, Undercooked, or Done

Load the finished LoRA in your usual UI (the ComfyUI NSFW guide covers the LoRA node) and test at weights from 0.6 to 1.0 across prompts the training set didn’t contain: new poses, new outfits, explicit scenarios you never showed it.

Undertrained looks like the base model with a vague resemblance; the character drifts between generations. Train more epochs or raise dim. Overtrained reproduces training images almost exactly, ignores your prompt’s outfit and pose changes, and fries at weight 1.0 (oversaturated colors, crunchy artifacts). Use an earlier epoch or lower the learning rate. Done means the character holds identity at weight 0.8 while doing things that never appeared in the dataset. That’s the whole point of training, and when it clicks it genuinely feels like a superpower.

If your goal was a known anime or game character rather than an original one, check Civitai’s library before training at all; the community has probably beaten you to it, and niche categories like futanari are especially well covered.

When Training Is the Wrong Tool

Honestly, most people who think they need a custom LoRA just need a better generator. If your goal is “consistent attractive character across many explicit images” rather than “this exact specific design,” hosted tools solve it with a character-persistence feature and zero training: Seduced.ai does this well for photorealism, and its extension system covers most niches people train LoRAs for. Train when you need something no one has built. Subscribe when you don’t. (If the character is meant to be a recurring persona you post as, our AI influencer generator guide covers how LoRAs and saved characters combine for that.)

Seduced.ai

#1 PICK
★★★★☆(400+ reviews)

Premium NSFW AI image generator with best-in-class photorealism

FAQ

How many images do I need to train an NSFW LoRA?

Around 20 to 40 for a character, 50 to 100 for a style. Variety and image quality beat raw count; a tight set of 25 varied, clean images outperforms 80 near-duplicates.

Can I train a LoRA without a GPU?

Yes. Civitai’s on-site trainer runs in the browser for Buzz, and cloud GPU rentals (RunPod, Vast.ai) cost a few dollars for an afternoon of training. Local NVIDIA training wants 12GB+ VRAM for SDXL-family models.

Training on fictional adult content or your own original character is generally fine to make and use. Training on a real person without consent is not; it violates platform rules everywhere and increasingly the law, as our AI nudify laws guide details. Publishing a LoRA adds copyright questions about the training images, so check licenses before uploading.

What base model should I train on?

The one you generate with. Pony Diffusion or Illustrious for anime and hentai, an SDXL realism fine-tune for photorealistic output, Flux if you’re already running the Flux uncensored pipeline and have the VRAM for it.