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.
Start
npm install -g @mcptoolshop/style-dataset-lab
sdlab init my-project --domain character-design
Dataset
sdlab generate inputs/prompts/wave1.json
sdlab curate <id> approved "Strong silhouette"
sdlab bind && sdlab snapshot create
sdlab split build && sdlab export build
Produce
sdlab brief compile --workflow character-portrait-set
sdlab run generate --brief brief_001
sdlab critique --run run_001
sdlab batch generate --mode expression-sheet
Close the loop
sdlab select --run run_001 --approve 001.png,003.png
sdlab reingest selected --selection sel_001
sdlab curate gen_sel_001_001 approved "Keeper"
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