Style Dataset Lab
Build canon-aligned datasets, train style assets, and put them to work.
Define your visual canon. Generate concept art against those rules. Curate, bind, and package versioned datasets. Then compile production briefs, run them through ComfyUI, critique and batch-produce real work surfaces, select the best results, and re-ingest them into your corpus. Every record carries provenance, judgment, and canon binding. The full loop closes.
npm install -g @mcptoolshop/style-dataset-lab
Requires Node 18+. After install, run sdlab init my-project --domain character-design.
Two real style-LoRAs shipped through this pipeline
The same pipeline shipped a coherent style through a brutal, high-rejection exploratory creature run and a converged, high-yield concept run. Two different production profiles, one pipeline, two shipped LoRAs — with real curation numbers you can inspect in the repo.
Tallow Fen
creature-designA from-scratch bestiary canon and an honest curation gate — 169 rejections against 99 approvals. The gate that can reject hard.
- 293
- records
- ~34%
- approval rate
- 25
- provenance waves
Shipped style
tallow_fen_style_v3.safetensors @ 1.5 · base
qwen-image
Rustline
concept-designDense, pre-formed canon and a converged run — 172 approvals against 8 rejections. Reused downstream by a second project.
- 180
- records
- ~96%
- approval rate
- 46
- provenance waves
Shipped style
rustline_v3ckpt_1500.safetensors @ 1.0 · base
qwen-image
How it works
Define canon. Build datasets. Train models. Compile briefs. Run production. Critique and batch-produce. Select winners. Feed them back. The whole loop.
Write the rules
Define your style constitution: what passes, what fails, and why. Per-dimension scoring rubrics, subject lanes, faction vocabulary. Five domain templates ship with production-grade rules.
Generate and curate
Generate concept art via ComfyUI with full provenance tracking. Review every image against your rubric. Approve, reject, or mark borderline with per-dimension scores.
Bind to canon
Every approved asset is bound to the specific constitution rules it satisfies. Not a tag. A graded, traceable verdict with rationale.
Freeze versioned datasets
Frozen snapshots with config fingerprints. Leakage-safe splits where subject families never cross partition boundaries. Self-contained export packages with checksums.
Build training packages
Manifest-bound, adapter-driven packages for specific trainers. Ships with generic-image-caption and diffusers-lora. Adapters transform layout but never mutate truth.
Run production workflows
Compile generation briefs from project truth. Execute through ComfyUI. Critique runs, refine briefs, batch-produce expression sheets and environment boards.
Select and re-ingest
Choose the best outputs. Selected work returns as candidate records with full generation provenance. Same review, same binding, same standards. The corpus grows.
The pipeline
Define canon
# Scaffold from a domain template
sdlab init my-project --domain game-art
# Validate the project
sdlab project doctor --project my-project
# 5 config files define all rules:
# constitution.json, lanes.json,
# rubric.json, terminology.json,
# project.json Curate + bind
# Generate and review
sdlab curate approved \
"Correct palette, strong silhouette"
# Bind approved work to constitution
sdlab bind --project my-project
# Every record now carries:
# provenance + judgment + canon binding Produce datasets
# Freeze, split, and package
sdlab snapshot create --project my-project
sdlab split build # zero subject leakage
sdlab export build # manifest + checksums
sdlab card generate # dataset card (md + json) Production loop
# Compile brief, run, batch-produce
sdlab brief compile --workflow portrait-set
sdlab run generate --brief brief_001
sdlab batch generate --mode expression-sheet
# Select winners, re-ingest
sdlab select --run run_001 --approve 001.png
sdlab reingest selected --selection sel_001