Splash Pipeline · Flat · AI Lab
Aristocrat Knight — Splash Pipeline
Stack
- Role
- Original character design, prompt & identity direction, i2i staging, paintover & finishing
- Base model
- Krea 2 (open-weights)
- Tools
- ComfyUI, self-trained style LoRA + Krea 2, directed generation, paintover
- Year
- 2026
Process
Character first, splash second
The character sheets came first: costume, ornament language, and faces were locked as full-body concepts. The splash was then directed from the sheet — image-to-image staging with a self-trained style LoRA, keeping the same face, hair and costume while rebuilding lighting and composition for the scene. Final pass is manual: FaceDetailer for expression control, paintover for cleanup.
From the AI Lab
Case Study Character → Splash: the pipeline How an original character design becomes a key visual with its identity intact. ▾
The problem
Generating a pretty image is easy. Getting the same character — same face, same costume, same ornament language — out of a diffusion model in a completely new scene is the hard part, and it is what production actually needs.
The root cause is a trade-off I mapped through repeated experiments: text-to-image gives you full freedom of pose and staging, but the costume design drifts on every roll; image-to-image anchored on the character sheet preserves the design almost pixel-perfectly, but locks the pose. A production pipeline has to navigate between those two poles deliberately — not hope for a lucky seed.
The pipeline
- Character sheet first. A full-body concept locks the design: silhouette, materials, palette, face. (Hand-directed generation with a self-trained style LoRA, plus paintover.)
- Identity-preserving staging. The splash is built from the sheet — image-to-image with the sheet encoded as the latent anchor, composition and lighting rewritten in the prompt. The critical dial is denoise: around 0.5–0.65 the detailed character survives while the empty backdrop re-renders into the new scene. Below that nothing changes; above it the costume starts to dissolve.
- Element grafting. New scene elements (props, effects, crowds) are painted in as rough proxies, then re-rendered in place so they inherit the style — the model treats the proxy as composition guidance and redraws it in the trained look.
- Face & finish. Expression control via face-detail passes at low denoise (0.2–0.35, so the face refines without changing identity); final paintover and a tiled 2× upscale for delivery.
The actual graph
The image-to-image staging graph exactly as it runs — an open-weights base model with a self-trained style LoRA stacked on top, the character sheet loaded and VAE-encoded as the latent anchor, a positive-only prompt (at CFG 1 the negative is zeroed out), and the identity-preserving denoise on the sampler:

Reading the graph left to right: model + LoRA stack, the prompt block, the character sheet entering as the latent — all meeting in one sampler whose denoise value decides how much of the sheet survives. Every splash post on this site went through a variant of this graph.
Worked example
See Empress of the Lotus Pond — the standing sheet and the pond splash are the same character to the pixel level of the costume. The same pipeline produced the Golden Emperor key visual and the Dark Legion action variations.
What validation taught me
- Prompt structure matters more than prompt length. At CFG 1 everything is positive conditioning — banned elements must be removed from the vocabulary, not negated.
- The backdrop is part of the style contract. The style LoRAs were trained on dark cinematic backdrops; staging against a flat studio background suppresses the learned look.
- Fix identity first, then compose. Rolling composition variants before the design is locked multiplies drift; locking the sheet first turns splash production into a controlled, repeatable step instead of a lottery.
Model Card Flat Casual Game Style — LoRA Style LoRA trained end-to-end: 1,167 images reviewed → 58 curated → epoch-swept, production-validated. ▾
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.
Captions are plain-prose content descriptions with no trigger word. The reasoning: everything the caption explains (subject, pose, palette) the model attributes to the text; whatever the captions consistently don’t explain — the rendering style itself — is the residual the LoRA absorbs. No trigger word means the style is simply always on, which is what you want from a dedicated style model.
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 avr_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.