SD style-dataset-lab
v3.0.0

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