Training a custom LoRA for LTX 2.3 lets you teach the model a specific character, position, body type, or motion pattern that the base model doesn't generate well on its own. The two main toolchains are Musubi Tuner (faster, NSFW-friendly) and Ostris's AI Toolkit (more polished UX). This guide walks through the practical workflow for both, plus the dataset prep that actually matters.
If you don't want to train your own LoRA, our VirtuaVixen Studio ships with a curated set of NSFW LoRAs already integrated into every LTX 2.3 workflow — try them all free with daily tokens. The ComfyUI Workflow Pack includes the same LoRAs as standalone files for local use. Discord for training help.
What You Can Train
- Character LoRAs — teach the model a specific person's face and body. ~30–50 video clips of the subject, ~3–6 hours training time on an A100.
- Style LoRAs — anime, cartoon, hyperrealistic, vintage film. Larger datasets (200–500 clips), longer training.
- Position LoRAs — a specific sex position or motion pattern. ~20–40 high-quality clips.
- Body-type LoRAs — petite, thick, tall, etc. ~50–100 clips.
- Action LoRAs — a specific motion (squirting, bouncing, slapping). ~30 clips.
Hardware Requirements
- Minimum: 24 GB VRAM (4090 / 3090) — works for low-rank LoRAs (rank 32 or below)
- Recommended: 48 GB VRAM (A6000 / RTX PRO 6000) — comfortable rank 64–128, faster batches
- Best: 80 GB+ (A100 / H100) — full rank, large batches, fastest training
If your local GPU doesn't fit, RunPod has 4090 ($0.40/hr) and A100 ($2.50/hr) instances ready to go. A 6-hour LoRA training run on a 4090 costs about $2.50 in GPU time. Detail in running LTX 2.3 in the cloud.
Dataset Preparation
This is where most people fail. Quality of dataset > quality of trainer > everything else.
1. Source clips
- Each clip 3–8 seconds, 720p or higher
- 30 clips minimum, 50–100 sweet spot, 200+ for style LoRAs
- Diverse angles, lighting, contexts — same character/concept in different settings
- Don't duplicate near-identical clips (the trainer just memorizes them)
2. Captioning
Each clip needs a text caption. Two approaches:
- Auto-caption with VLM — Florence-2 or Qwen2.5-VL produces decent captions. Good for style LoRAs where you want diverse descriptions.
- Trigger-word + brief description — “k3nk4llin0n3, a young woman with red hair, soft natural lighting, looking at camera”. The trigger token activates the LoRA at inference time. Good for character/concept LoRAs.
3. Resolution + frame extraction
Most trainers extract frames at 24 fps and resize to a consistent resolution (768 or 1024 longest side, multiple of 32). Standard ffmpeg one-liner handles this — see Musubi's docs for the exact command.
Training with Musubi Tuner
Musubi is the most actively maintained LTX 2.3 trainer in the open-source community. NSFW-friendly, runs on Linux (WSL on Windows works), no special permissions needed.
git clone https://github.com/kohya-ss/musubi-tuner.git
cd musubi-tuner
pip install -r requirements.txtLaunch a training run with:
python train_ltxv.py \
--pretrained_model ltx-2.3-22b-distilled-fp8.safetensors \
--dataset_config dataset.toml \
--output_dir ./output \
--rank 64 \
--learning_rate 1e-4 \
--max_train_steps 4000 \
--save_every_n_steps 1000Key settings:
- rank: 32 (small LoRA, low VRAM), 64 (sweet spot), 128 (heavy concept LoRAs)
- learning rate: 1e-4 standard, 5e-5 for fine concepts, 2e-4 for fast iteration
- steps: 2000 minimum, 4000 typical, 8000+ for style LoRAs with large datasets
- save every: every 500–1000 steps so you can compare checkpoints
Training with Ostris AI Toolkit
Ostris's ai-toolkit is a more polished trainer with a config-file approach. Less actively maintained for LTX 2.3 specifically (better for Flux), but works.
git clone https://github.com/ostris/ai-toolkit.git
cd ai-toolkit
pip install -r requirements.txt
python run.py config/your_config.yamlYou'll need to write a YAML config — check the config/examples folder for LTX2 templates and adapt. Most users find Musubi easier for LTX 2.3 specifically.
Testing Your LoRA
After training, drop the LoRA into ComfyUI/models/loras/ and load it in any LTX 2.3 workflow with a LoraLoaderModelOnly node. Start with strength 0.7 and tune up or down. If the LoRA fights other LoRAs in your stack, drop strength to 0.4–0.5 — see the workflow guide.
Common Training Failures
- LoRA does nothing — learning rate too low or too few steps. Try 2e-4 LR or extend to 6000+ steps.
- LoRA overfit / character looks identical to dataset — too many steps. Pull back to 2000–3000 and use earlier checkpoints.
- LoRA breaks motion — rank too high. Drop from 128 to 64 or 32.
- OOM during training — drop rank or use gradient checkpointing (
--gradient_checkpointing). - Captions ignored — make sure your trigger word is unique (no real word).
k3nk4llin0n3good,womanbad.
If You'd Rather Not Train Your Own
Training a usable LoRA is a real engineering task. Easier paths:
- Civitai LoRA library — community-trained LTX 2.3 LoRAs cover many positions and styles. See workflow guide for how to install them.
- VirtuaVixen Studio — every workflow in our Studio already has a curated LoRA stack. Just generate; the LoRAs are pre-integrated.
- Workflow Pack — the Workflow Pack includes our production LoRAs as standalone files plus the workflow JSONs that combine them. New LoRAs pushed to Discord as we add them.
