End-to-End Production Loop
This page walks through the complete production loop — the real point of Style Dataset Lab. Not just curation. Not just datasets. The full cycle from creative rules to production outputs and back.
The loop
Section titled “The loop”canon → dataset → training → brief → run → critique → batch → select → re-ingest ↑ | └─────────────────────────────────────────────────────────────────────────┘Every stage produces structured artifacts. Every artifact links to its predecessors. Selected outputs return as candidates, not as auto-approved canon. The review system stays in charge.
1. Create a project
Section titled “1. Create a project”sdlab init my-project --domain character-designsdlab project doctor --project my-projectFive JSON config files define your visual rules: constitution.json, lanes.json, rubric.json, terminology.json, project.json.
2. Curate and bind
Section titled “2. Curate and bind”Generate candidates, review them against your rubric, and bind approved work to constitution rules.
sdlab generate inputs/prompts/wave1.json --project my-projectsdlab curate anchor_01_deckhand_v1 approved "Strong silhouette, correct faction palette"sdlab bind --project my-projectEvery approved record now carries provenance, judgment, and canon binding.
3. Build datasets
Section titled “3. Build datasets”Freeze versioned snapshots, create leakage-safe splits, and package for export.
sdlab snapshot create --project my-projectsdlab split build --project my-projectsdlab export build --project my-projectsdlab card generate --project my-project4. Train models
Section titled “4. Train models”Create training profiles, manifests, and trainer-ready packages.
sdlab training-profile list --project my-projectsdlab training-manifest create --profile character-style-lorasdlab training-package build --project my-projectScore generated outputs against canon-aware eval packs:
sdlab eval-run create --project my-projectsdlab eval-run score <id> --outputs results.jsonl5. Compile production briefs
Section titled “5. Compile production briefs”Briefs are deterministic generation instructions compiled from workflow profiles and project truth.
sdlab workflow list --project my-projectsdlab brief compile --workflow character-portrait-set --subject kael_maren --project my-projectsdlab brief show brief_2026-04-16_001The brief carries the full prompt, negative prompt, runtime defaults, and canon focus — all derived from your constitution and workflow profile.
6. Run production
Section titled “6. Run production”Execute briefs through ComfyUI. Each run is a frozen artifact: brief + seeds + outputs + manifest.
sdlab run generate --brief brief_2026-04-16_001 --project my-projectsdlab run show run_2026-04-16_001sdlab run list --project my-project7. Critique and refine
Section titled “7. Critique and refine”Inspect run outputs against canon dimensions. Generate focused next-pass briefs.
sdlab critique --run run_2026-04-16_001 --project my-projectsdlab critique show --run run_2026-04-16_001sdlab refine --run run_2026-04-16_001 --pick 001.png --push "stronger faction insignia"8. Batch-produce
Section titled “8. Batch-produce”Coordinated multi-slot production: expression sheets, environment boards, silhouette packs, continuity variants.
sdlab batch generate --mode expression-sheet --subject kael_maren --project my-projectsdlab batch show batch_2026-04-16_001sdlab batch sheet batch_2026-04-16_001Each slot gets its own brief, run, and output. The batch sheet is an HTML review surface.
9. Select outputs
Section titled “9. Select outputs”Choose the best outputs from runs or batches. A selection is a creative decision artifact — what was chosen, why, and where it came from.
From a run:
sdlab select --run run_2026-04-16_001 --approve 001.png,003.png --reason "best continuity" --project my-projectFrom a batch:
sdlab select --batch batch_2026-04-16_001 --approve slot_neutral:001.png,slot_anger:001.png --project my-projectView selections:
sdlab selection show --project my-projectsdlab selection show selection_2026-04-16_00110. Re-ingest
Section titled “10. Re-ingest”Selected outputs return as new candidate records with full generation provenance. They go through the same review and canon-binding flow as everything else. No bypass.
sdlab reingest selected --selection selection_2026-04-16_001 --project my-projectEach re-ingested record carries:
source: generatedprovenance- Generation provenance linking back to run/batch → brief → workflow → seed
- Tags:
generated,selected, workflow ID, subject ID - Status: staged for review (not auto-approved)
Then review them like everything else:
sdlab curate gen_selection_2026-04-16_001_001 approved "Strong faction read, correct palette"sdlab bind --project my-projectThe corpus grows. The rules hold. The next snapshot, split, and training package will include them — if they pass.
The product result
Section titled “The product result”After this loop, your project can:
- Define what your art looks like (canon)
- Build versioned, auditable training datasets (snapshots, splits, exports)
- Package trainer-ready model assets (training manifests, packages)
- Compile production briefs from project truth (workflow profiles)
- Run local generation workflows (ComfyUI)
- Critique and refine outputs against canon (critique engine)
- Batch-produce real work surfaces (expression sheets, environment boards)
- Select the best results (selection artifacts)
- Feed them back into the corpus (re-ingest with provenance)
That is a closed creative production system, not a one-way generator.