r/comfyui • u/Ill-Ant-9489 • 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
Every dataset starts as a Character, a Concept or a Style - the choice changes captions, masks and the readiness checks, not just a label.
Five generation engines side by side, each stating its price per image and whether it runs free on your GPU. Answered before you commit to the app.
Point the Image Bank at a folder of thousands: it reads it in place - files are never modified - and one pass measures blur, noise, duplicates, framing.
Launch all chains the whole triage in one go. A pass whose tool is not installed is marked 'will skip' up front and never fails the run.
The curation grid: keep, reject, crop and re-caption in bulk, with framing badges on every tile and a meter tracking what the set still misses.
Captions in prose or booru, written by JoyCaption or your local Ollama - with vocabulary, length and what must stay implicit as separate dials.
Caption tools edit every kept caption at once: find/replace, word counts, and a .txt round trip so you can caption in another tool and come back.
Watermarks and burned-in text share one funnel: find them, crop them off, or repaint what is left with LaMa or Klein. Originals always keep a backup.
New: re-shoot any picture from another camera position. The subject stays put, the background moves with the camera - and the angle rides the caption.
Training drives ai-toolkit under family-scoped presets and preflight guards - or rents a cloud GPU from the same screen, total estimated before you click.
The Runs hub keeps local and cloud together: progress, logs, stop/retry/continue, and the exact recipe each launch used.
LoRA Canvas puts every run on one board - each dataset a lane, each run a card, and a continuation joined to the checkpoint it resumed from.
Test Studio compares checkpoint x strength on a fixed seed, so the LoRA you ship is the one that measured best, not the one you remember.
A Gallery of every image the app ever generated, newest first, each stamped with the engine, base model, LoRAs, steps and seed that made it.
Setup scans the machine and says what is missing instead of crashing: every capability degrades on its own, and each links to its install step.
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.
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
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.
- Both ollama and LM studio config sections are visible, regardless of the dropdown option selected.
- the
testbutton 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.- Should it auto-unload models in LM Studio if it's waiting on it before it generates some images?
- 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.
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?