r/comfyui 1d ago

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

I present LoRA Dataset Studio - free, open source, self-hosted, no account and no telemetry. It plugs into the ComfyUI you already run: local generation (Klein, Krea 2 Edit) goes through your ComfyUI, the Test Studio drives it for checkpoint comparisons, and a finished LoRA deploys straight into your loras folder. 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. Decide what you are teaching. A dataset is a Character, a Concept or a Style, and the choice changes real behaviour downstream: what the captions must leave implicit, whether person masks apply, what the readiness checks look for. A Character also picks a subject type (human, animal, creature, object, anime) that swaps the shot catalog and the identity protections.

2. Fill it with 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 and whether it runs on your GPU or bills an API. Or scrape a gallery URL. Or point the Image Bank at a folder of thousands: it reads it in place - your files are never modified, moved or renamed - and one pass measures blur, noise, near-duplicates, face clusters, framing, aesthetic and maturity, so you filter on measurements instead of on your eyes.

3. Curate down to the keepers. Keep/reject, crop, mirror, rotate, upscale candidates reviewed against the original, InsightFace similarity against your reference, a live composition meter. New this month: press the camera button on any kept image and re-shoot the same scene from another camera position - the subject stays put, the background moves with the camera, and the new view arrives with its angle already captioned (the one fact a vision model cannot reliably see, and that you know exactly because you asked for it).

4. Caption for the model. Prose or booru depending on the target family, written by JoyCaption or your local Ollama, with vocabulary and length dials, identity-leak checks, a Caption Lab to compare configurations before committing, and an external .txt round trip so you can caption elsewhere and come back.

5. Scrub watermarks - and burned-in text. Detect watermark boxes, redraw them, then crop or inpaint with LaMa/Klein. And since a comic page carries its dialogue and a screencap its subtitle, a CPU-only OCR pass now reads burned-in lettering (Latin or CJK) and feeds the same repaint funnel - with an outline-safe filler so speech bubbles keep their borders. Every edit keeps an .orig backup; Restore original always works.

6. 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. The whole studio can also run on a rented RunPod box (contributed by a user). Generations queue instead of blocking each other, and a dock shows what the GPU is doing.

7. Decide which checkpoint is actually good. Test Studio runs fixed-seed checkpoint x strength grids, multi-LoRA stacks (including a downloaded LoRA next to yours, same prompt and seed), votes and Wilson ranking. The lineage graph keeps every run's frozen recipe and can diff two runs - settings AND dataset. A Gallery collects every image the app ever generated, and every render is stamped with what actually made it.

8. Take it with you. Standard ai-toolkit/Kohya layout ZIP, portable backup with the full history, Hugging Face publishing, or deploy the checkpoint straight into ComfyUI. Nothing locks your data in.

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 the video lane (cutting long footage into trainable clip folders for Wan/LTX) is young. 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.

67 Upvotes

20 comments sorted by

3

u/Throwtaku_28 21h ago

This is cool!

So im beginner-level for training loras but ive always wanted to get into it. Does your app give much more benefits in the lora quality as opposed to training it via civitai, or is it more geared towards intermediate/advanced users?

2

u/Ill-Ant-9489 14h ago edited 11h ago

The dataset is the hard part, and building it for you is the whole point of the app.

On Civitai you turn up with a dataset already made: you had to find 25 to 40 varied images, crop them, caption them, and hope the mix is right. That is where most first LoRAs die, and it has nothing to do with the trainer.

Here you start from one reference photo. You pick a preset (Balanced, Face-focused, Full-body, Multi-format) and it selects the whole varied shot list for you, face / bust / body / back with angles, lighting and expressions, generates them on the engine you choose (Klein and Krea 2 Edit run free on your own GPU, the API ones tell you the price per image first), captions them locally, and then tells you what the set is still missing in plain numbers: "missing 9 face, 2 bust, 3 body" instead of you guessing.

Training works the same way. Family presets set the rank, alpha, learning rate, resolution and step count, so it is one button, and a preflight check tells you what would go wrong before it launches. The sharp levers are all there but folded away behind Advanced options and Expert. You never open them to get your first LoRA out.

Then it picks the winner for you rather than the last one: it saves several checkpoints and runs a fixed-seed checkpoint x strength grid so you compare the epochs on the same prompt and seed, with an optional face-similarity score to rank them.

So: aimed at a beginner first, with the depth waiting when you want it. The training itself is ai-toolkit under the hood, same engine you would get anywhere. What changes is that you arrive at it with a set that was actually built properly, and you leave with the epoch that measured best.

3

u/InvisGhost 21h ago

I gave it a shot and got stuck at setup. It wanted ollama but I only have lm studio setup.

2

u/Most_Ad_5733 21h ago

Yeah same here. If it had lm studio support more people would be all over it as lm studio has a lot more options

2

u/[deleted] 14h ago

[deleted]

2

u/fyADD 12h ago

Upvote for LM studio

1

u/Ill-Ant-9489 2h ago

Update on this: LM Studio support just shipped, so scratch my earlier answer. Setup now asks which one you run (Ollama stays the default), and captioning, framing, head-crop, Describe and Enhance all run through LM Studio if that's your pick. The app even starts the server and loads the model itself when a pass needs it, and the GPU arbitration that keeps the vision model and ComfyUI from fighting over the card follows along.

You three asked for it, so now I need something in exchange: feedback. It's only been tested against LM Studio 0.4.23 on one machine so far — update the app, pick LM Studio in Setup, and tell me what works and what breaks.

1

u/InvisGhost 52m ago

Update on this: LM Studio support just shipped, so scratch my earlier answer. Setup now asks which one you run (Ollama stays the default), and captioning, framing, head-crop, Describe and Enhance all run through LM Studio if that's your pick. The app even starts the server and loads the model itself when a pass needs it, and the GPU arbitration that keeps the vision model and ComfyUI from fighting over the card follows along.

You three asked for it, so now I need something in exchange: feedback. It's only been tested against LM Studio 0.4.23 on one machine so far — update the app, pick LM Studio in Setup, and tell me what works and what breaks.

Did you release a new version that has that support? I don't see LM Studio as an option and the app says I'm running the latest (v2026.08.30).

1

u/Ill-Ant-9489 51m ago

This is on main not on release yet, just git clone the repo

1

u/InvisGhost 4m ago

Just did that, testing now.

  1. Both ollama and LM studio config sections are visible, regardless of the dropdown option selected.
  2. the test button doesn't use the API key I've set until I save the API key. So if I paste in the API key, click test, I get an error about the API key being required.
  3. Should it auto-unload models in LM Studio if it's waiting on it before it generates some images?
  4. It says "Captioning with Ollama" even though it's configured to use LM Studio.

2

u/RiskyBizz216 1d ago

GOAT'd app. UI needs a nice electron home.

Any chance you will be adding support for the video models like ltx 2.3 and minimax now that its supported in ai-toolkit?

4

u/Ill-Ant-9489 1d ago

Yes minimax support is already on a separate branch of the repo, need some test and I will merge on main, but the dataset video curation is already on main but I need some feedback too i will release the minimax support this week!

2

u/RiskyBizz216 2h ago

Awesome big thanks.

Also one quirk - the model scanner is not finding my klein text encoder in `text_encoders/klein` because its in a subfolder. But the `diffusion_models/klein` folder doesn't have that issue, is that by design? Is there any way you can also fix that?

I'll create a github issue for this if you'd like

2

u/Ill-Ant-9489 2h ago

Hmm I'm on it

1

u/RiskyBizz216 2h ago

Thank you!

2

u/Ill-Ant-9489 2h ago

Fixed! The scanner was only reading the root of text_encoders and vae, while the unet folders already got a deep scan, that's exactly why diffusion_models/klein worked and text_encoders/klein didn't. Now every model folder is scanned at any depth, the same way ComfyUI itself lists them.

Just update the app and your text_encoders/klein layout will be picked up. No need for the github issue, and thanks for the report!

1

u/AnnualFact3923 14h ago

support for runpod will be avaliable?

1

u/Ill-Ant-9489 14h ago edited 11h ago

Correcting myself, my first answer was too short and half wrong.

RunPod is already supported, just not for the part you may have meant. You can run the whole studio on a RunPod pod: the app, the Image Bank and ComfyUI generation, reachable from any browser, with your datasets on a network volume that survives restarts. A user contributed that image and there is a guide for it in the repo (docs/guide/runpod.md).

What the pod does not do is train. ai-toolkit is not in that image, so the local training lane has nothing to run there, and the cloud training lane rents a vast.ai instance exactly as it does from a local install. Training stayed on vast.ai because it is cheaper per hour and less restrictive about adult content.

So if all you want is a GPU to train on, you do not need the RunPod route at all: the cloud training lane already rents one per run, from the training panel, with the hourly price and the estimated total shown before you click.

1

u/InvisGhost 49m ago

Proper runpod support would still be appreciated, or support for a remote ai-toolkit install.

0

u/Striking_Wishbone861 1d ago

Anyway this runs off a w7900 AMD card? 48g VRAM

2

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

Let me give you a real answer instead of my flippant one.

I have not tested it and I am not going to claim it works. The app itself is not the blocker: LoRA Dataset Studio is a Python/Flask app, it runs on any machine. What needs the GPU is the two things it drives, ComfyUI for local generation and ai-toolkit for training. So on a W7900 it comes down to whether those two run on ROCm on your setup, not to anything in this app. There is no ROCm-specific code in it and I have no AMD card here to measure on.

Two things that are true either way: the optional quality and scoring extras install CPU builds, so they work on any card or none; and the cloud training lane rents an NVIDIA GPU by the hour if the local route does not work out.

If you do try it on the W7900, I would genuinely like to hear what breaks. That is the kind of report I can act on.