Overview
A style LoRA reproducing a flat casual game-art look, trained and operated end-to-end:
dataset curation, caption engineering, training, epoch-sweep validation, and pipeline
integration. This card documents the full process — the same recipe drives every style
model on this site.
Why a LoRA, briefly
A base diffusion model knows a thousand styles vaguely and none of them precisely. A LoRA
(Low-Rank Adaptation) freezes the base model entirely and trains only small low-rank
matrices injected alongside its attention weights — here rank 32, a few tens of megabytes
against a multi-gigabyte base. Because the base stays frozen, the model keeps its anatomy,
composition and prompt understanding; the LoRA only has room to learn what the dataset
consistently shows that the base doesn’t already know. Curate the dataset so the only
consistent signal is the style, and that is what it learns.
Dataset — the funnel
Built with my own dataset tool (see the Datacurator card): 1,167 candidate images reviewed →
521 kept after ML-assisted selection and manual review → 58 finally curated for training.
The last cut is the strictest: near-duplicates, off-style outliers, multi-panel sheets and
screenshots all get dropped, because with a small dataset every bad image is 2% of the signal.
Caption design got the same treatment as the data — engineered, tested and validated;
the specifics stay in-house as part of the recipe.
Training
| |
|---|
| Base model | Krea 2 (open-weights, turbo) |
| Trainer | musubi-tuner (open-source, CLI) on a single RTX 4090 |
| Network | LoRA dim 32 / alpha 32 |
| Schedule | 1,508 steps · 26 epochs · ~2 h |
| Result | final avg. loss 0.0497 · checkpoint saved every 2 epochs |
The actual loss curve from the run log — the flat-with-noise shape after the early drop is
expected for style training on a small dataset; the signal you watch is that it stays flat
instead of collapsing (memorization) or climbing (divergence):

Validation — the part most people skip
Loss numbers don’t tell you which checkpoint to ship. Every checkpoint is swept with an
out-of-distribution probe: a fixed seed and a fixed prompt for a subject that is not in
the training data. In-distribution probes flatter the model — memorization looks like
quality. An OOD subject shows what you actually bought: whether the style generalizes,
and at which epoch style adoption starts costing anatomy or costume logic.

Fixed seed, no-LoRA baseline through epoch 26. Style locks in around epoch 10 without
breaking structure — later epochs push the graphic look harder but start bending anatomy, so
epoch 10 ships as the standard operating point and later checkpoints are kept as deliberate
stronger dials.
In production
Used in the Aristocrat Knight splash pipeline and the flat-track concept posts. Operating
notes discovered in validation: the style expects clear silhouettes and reads best with
restrained prompts — over-describing the render fights the LoRA instead of helping it.
Open in LAB →