Train a character LoRA#
A character LoRA is trained against the MiniMax H3 video model by the Vireo runtime. The defaults are a tested recipe; change them only with a reason.
Settings#
| Setting | Default | Notes |
|---|---|---|
| Resolution | 768 square | Matches the video presets. |
| Rank | 32 | Capacity for a face across angles and expressions. |
| Learning rate | 1e-4 | |
| Epochs | 27 | Steps = frames x epochs; 37 frames give about 1000 steps. |
| Captions | short | Trigger + class phrase, e.g. chr_rbv2, a woman (see Datasets). |
| Strength on use | 0.5 | Stored with the LoRA. Packs built for text-only shoots work best at 1.0; on reference packs the reference image carries the fine identity. |
Why these defaults#
Two runs of the same test decided them: a 16-frame, 256-step, rank-16 LoRA with a full physical description in every caption produced a generic face when rendered from text alone, while a 37-frame, 1000-step, rank-32 LoRA with short captions rendered the person recognisably without any reference image. More frames, more steps and captions that leave the looks to the trigger are what bind the identity to the trigger word.
What to expect#
- Time: about 45 minutes for a 37-frame dataset (1000 steps) on an RTX 5070 Ti class card. Encoding the frames takes about two minutes, then roughly 2.7 seconds per step.
- Memory: about 7.5 GB of VRAM and about 28 GB of host RAM pinned on top of the model pack. A 32 GB machine pins what fits and runs slower; 64 GB is recommended. The runtime keeps only as many transformer blocks resident as the LoRA's optimizer state leaves room for.
- Progress: the run card shows the phase (upload, encode, train), the step count and the loss. Loss falling from around 9 to below 6 over the run is normal for a face dataset.
- The GPU is busy for the whole run. Queue generations after it.
Cancel#
Stop training on the run card. The runtime stops at the next step boundary, usually within a few seconds; no final checkpoint is written and the GPU is released.
After the run#
The final LoRA is saved to the video LoRA library and added to the bank of the character; the run card links back to the character. Use it through a character set.
Same dataset, same seed gives the same LoRA, so a run can be reproduced exactly.