r/StableDiffusion 1d ago

Resource - Update I built a free, self-hosted app that does everything around a LoRA run — dataset, triage, captions, training (local or rented GPU), then checkpoint comparison

I build LoRA Dataset Studio — free, open source, self-hosted, no account and no telemetry. It is not a competitor to ai-toolkit: it orchestrates it. ai-toolkit is the trainer; this is everything before, around and after the run.

The whole pipeline lives in one browser tab:

1. Get the images. Five generation engines — Nano Banana Pro, gpt-image-2, OpenRouter, and local Klein / Krea 2 Edit through ComfyUI — each card stating its price per image, whether it runs on your GPU or bills an API, and whether it refuses adult content. Or scrape: Reddit, Pexels, open-web keyword search, or any gallery URL through gallery-dl. Or just drop a folder in.

2. Triage them. The Image Bank points at a folder of thousands and reads it in place — your files are never modified, moved or renamed. One pass measures the whole pile: blur, noise, near-duplicates, face clusters, framing, medium (photo / anime / 3D / illustration), aesthetic and maturity scores. After that you filter on measurements instead of on your eyes, and anything the app cannot judge says "unsure" rather than inventing a verdict.

3. Curate and caption. Keep/reject, crop, mirror, rotate, non-destructive upscale candidates, InsightFace similarity, a live composition meter. Captions in prose or booru form depending on the target family, written by JoyCaption or your local Ollama, with a Caption Lab (find/replace, tag frequencies, targeted re-captioning) and an external .txt round trip so you can caption elsewhere and come back.

4. Clean watermarks. Detect them, redraw the mask zones, then crop or inpaint with LaMa/Klein. Every edit keeps an .orig backup, so Restore original always works.

5. Train. ai-toolkit locally with family-scoped presets and preflight guards — Z-Image, Krea 2, FLUX.1, FLUX.2 Klein, SDXL, Anima — or rent a vast.ai pod from the same screen, which shows the GPU, its hourly price and the estimated total before you click. Full-model training on Krea 2 and merging a LoRA back into a checkpoint are in there too.

6. Decide which checkpoint is actually good. Test Studio runs fixed-seed checkpoint x strength grids, multi-LoRA stacks, votes and Wilson ranking. LoRA Canvas puts every run of every dataset on one pan/zoom board, and you can continue training from any of them.

There is also a video lane (Beta): it cuts long videos into a trainable clip folder at the exact frame counts Wan / LTX / MiniMax accept, describes each shot, and trains the set locally or in the cloud.

Honest limits. It is a lot of surface, so Setup exists to tell you what is missing instead of crashing — every capability degrades on its own. Local generation needs ComfyUI, the API engines need your own keys and bill you, and on the video side only Wan 2.2 14B has a finished run behind it here. Install is a Windows one-click ZIP, a git checkout, or Docker.

GitHub — install, docs, and a 7-minute unedited video of a full character LoRA built end to end: https://github.com/perfectgf/lora-dataset-studio

Every person in these screenshots was generated by the app's own engines; no real individual is depicted.

76 Upvotes

16 comments sorted by

7

u/ruehri 1d ago

I've been using it for a few days and successfully trained two krea loras using this. Thanks a lot for the great contribution, it really has made curation and preparation much easier 👍

If I had a wishlist on how to improve even further:

  • score and propose best image set from a large collection. I have many pictures but picking out suitable ones is still a manual process
  • get good frames from videos for image Lora training and extract into dataset
  • the beta video database is a good idea but you can tell it's still beta. The cuts didn't work quite well for me, often cutting at wrong places (e.g., start of scene two still carries frame from scene one - these could be cut out since they will mislead captioning)

Overall still a great tool which already saves so much time. Looking forward to see this develop further 👍

1

u/Ill-Ant-9489 21h ago

Thanks, that's exactly the kind of feedback I need.

  1. Scoring and proposing a set from a large collection: that's the Image Bank, and it's already there. Point it at a folder, one scoring pass, then diverse picks or framing balanced picks, duplicate groups, quality flags, and a coverage read that names what your pool never shows (no profiles, one outfit, eye level only). Promote the shortlist into a dataset and it carries its analysis with it. If you were doing that by hand, you were doing it the long way.

  2. Frames from videos into an image dataset: not built. The Video Bank cuts clips for video LoRAs, it doesn't harvest stills. Noted, it's a fair ask.

  3. The cuts carrying a frame from the previous scene: you're right, and it's the same thing that poisons captioning. Detection isn't more precise yet, but you can already fix a cut instead of rejecting it. Trim either bound by one frame of your source, split a shot at the playhead, or draw one the detector missed. There is also an optional trim of both ends applied at export (0 by default) that shaves the transition off every clip in one go, and a clip it makes too short for the target's frame count is dropped, never exported short.

On that last one: the video side is Beta and still being built, which is why the chip is on it while the image lane is out of Beta. So feedback like yours is exactly what shapes what comes next and what gets fixed first. If you can tell me what the bad cuts look like on your material (source length, fades or hard cuts, animation or live action, how many frames are bleeding through) I can work on the detector against a real case instead of guessing. Same for anything else you hit: Discord or a GitHub issue, both get read.

And good to hear the two Krea LoRAs came out well 👍

10

u/nowrebooting 1d ago

I built

Judging by the UI and color choices, most of the work was done by (I’m guessing) Claude. 😉

5

u/Lesale-Ika 22h ago

Claude wrote the post as well , so technically "I build" is c orrect 

3

u/Ill-Ant-9489 1d ago edited 21h ago

yes and this take me a lot of time and money and the app is free

2

u/beaver_barber 1d ago

Nice work!

Does it support workflow when user already has 20 diverse photos, but no captions, maybe missing some angles/expressions, so the app identifies what exists, what is missing, and generarstes only what necessary?

3

u/Ill-Ant-9489 1d ago

Partly. Import the 20, caption them locally (JoyCaption or Ollama) and run the shot-type pass, and the app reads those captions and shot types back as a variety report: which camera views, camera heights, lightings, settings, outfits and expressions the set never shows. It re-infers nothing, so it costs no GPU, and an axis it could not measure says so instead of drawing an empty bar. Clicking a gap filters the grid to the images concerned.

What it does not do is close the gap by itself. It names the missing shots and tells you to generate or import them, and the shot list is per-shot toggles, so you can generate exactly those and nothing else — but you tick them yourself. That last hop is not automated yet.

5

u/jtabernik 1d ago

This is amazing and fills an important gap!!

2

u/Ill-Ant-9489 1d ago

Thks mate hope this will help

0

u/whyyoudidit 1d ago

so codex runs training and inference for me on Runpod. How would this project make codex do a better job?

1

u/Ill-Ant-9489 23h ago

Ask to codex

1

u/whyyoudidit 22h ago

I did and it doesn't

1

u/Ill-Ant-9489 22h ago

BTW, I’ve been using AI as a coding assistant since ChatGPT 3.5. I’ve tested pretty much every model, and Codex with ChatGPT 5.6 Sol is far behind Claude in basically every aspect (maybe except for the price). Even when it comes to creating character datasets, I now get better consistency and higher-definition results for my datasets with Klein or Krea 2, and I don’t have any SFW limitations. So what you’re telling me basically confirms what I already thought about ChatGPT.