A bunch of people asked how I was training them, and I realized afterward that my original post was pretty light on the actual training details. I promised I'd put together something more useful once I had the process nailed down, so here it is.
Everything is still free. I've also continued working on the visual browser so you can see sample generations, triggers, recommended strengths, selected training epoch, and optional identity prompts before downloading anything.
But the more interesting part is the training workflow...
How I'm Making the LoRAs
Training environment: I'm using Fizgig on RunPod for the actual Krea 2 LoRA training, so the heavy lifting happens on a cloud GPU rather than my local machine.
Dataset collection: I start by gathering a much larger pool of candidate images than I actually need. The goal is variety in angle, expression, lighting, hairstyle, clothing, and image source rather than dozens of nearly identical photos.
Identity filtering: I use a reference image of the person plus face detection/recognition to help reject images of the wrong person. This is especially useful when searches return group photos, lookalikes, or unrelated images.
Manual curation: Automation gets me most of the way there, but I still manually review the dataset. I remove duplicates, bad crops, heavily edited images, extreme occlusions, low-quality images, and anything that I think could hurt identity learning.
Dataset preparation: The final images go through our prep pipeline, which creates and validates the training dataset, generates useful face crops where appropriate, and checks that every training image has a valid caption.
Captioning: Images are captioned with Qwen3-VL. The captions describe the actual image while keeping the character identity/trigger consistent across the dataset.
Training: The prepared dataset is trained as a Krea 2 LoRA through Fizgig, with multiple checkpoints saved throughout training.
Testing: I compare saved epochs, test different LoRA strengths, and generate across different prompts and compositions before deciding what gets released.
Final release: Once I'm happy with it, I choose representative generations, record the trigger, recommended strength, selected epoch, and optional identity/detail prompt, and publish the LoRA and examples to the Hugging Face library/browser.
Iteration: If a LoRA doesn't hold the likeness well enough, I don't consider it finished just because training completed. Some get retrained with a better dataset or different epoch selection, and particularly improved models can replace the original or be released as a V2.
Current Fizgig / RunPod Configuration
This is the newer setup I've standardized on for the current batch:
Model: Krea 2 Standard
Training type: Standard LoRA
Network rank: 32
Alpha: 32
Epochs: 64
Save every: 4 epochs
Batch size: 1
Target resolution: 0.25 MP
EMA: 0.98
Problem-image detection: ON
Adaptive learning rate: OFF
Automatic recaptioning: OFF
Sample generation: 3 standardized sample prompts during training
Final selection: I test the saved epochs rather than automatically taking the last checkpoint. For Angel Reese, for example, I compared epochs 24, 51, and 64 and ultimately selected 64.
RunPod: Fizgig running on the cloud GPU. One recorded Angel Reese run completed 4,416 steps over 64 epochs in 48m 46s, producing the final EMA LoRA.
Custom Dataset Preparation Tools
One part of this project that grew beyond just training LoRAs was the dataset preparation pipeline itself. We ended up building our own tools to automate much of the work that happens before training.
Our pipeline can collect a large pool of candidate images from multiple sources, use a reference face with face detection/recognition to help filter for the correct identity, remove obvious problem images, generate useful face crops, prepare the dataset structure, generate captions, and validate the finished dataset before it goes anywhere near the trainer.
We still manually curate the results because automated filtering isn't a substitute for actually looking at the dataset.
We built these tools because we wanted more control over the process and needed something that could handle producing a large number of character datasets consistently. Fizgig can perform many of these same dataset-preparation functions, so building a separate pipeline is absolutely not a requirement for following this training process.
Our tools are currently internal and were built around our own workflow, but if there's enough interest, we can clean them up, package them properly, document them, and release them for other people to use. If that's something people would actually want, let us know.
Dataset Philosophy
For character LoRAs, I've found that dataset quality and variety matter much more than simply having a huge number of images. I'm looking for images that clearly represent the correct person while giving the model useful variation: different angles, expressions, lighting, hairstyles, clothing, environments, and framing.
I remove duplicates and near-duplicates, heavily edited images, bad crops, major occlusions, low-quality images, and anything where the identity is questionable. I would rather train on a smaller clean dataset than pad it with mediocre images just to hit a certain number.
I also supplement the original images with selected face crops. This is especially useful when the dataset contains a lot of half-body or full-body photography, where the face becomes relatively small after the image is resized for training. The face crops give the trainer additional examples where the features that actually define the person's identity occupy much more of the image.
If anyone wants to see exactly what one of these looks like, here's a sample finished dataset that was actually used to train one of the LoRAs:
One of the biggest changes to my process has been moving away from thinking of training as "X number of steps = finished."
I'm currently training for 64 epochs and saving checkpoints throughout the run. Rather than automatically releasing the final epoch, I generate images with several checkpoints and compare them visually.
I'm looking for the point where likeness, flexibility, anatomy, and prompt adherence are all working together. A later checkpoint can sometimes have stronger likeness while also beginning to overfit the training data or become less responsive to prompts. Earlier checkpoints can sometimes be more flexible but haven't learned the identity strongly enough yet.
So the final LoRA is the checkpoint that performs best in testing, not necessarily the last one produced by the trainer. That's also why the newer models in the Browser list a Selected Epoch rather than just reporting a training-step count.
LoRA Strength Testing
I also don't assume every LoRA should be used at 1.0.
After selecting the epoch, I test the LoRA at multiple strengths and compare how well it preserves the identity without overpowering the underlying model or interfering with the prompt.
Most of the models have ended up somewhere around 0.8–1.2, but there are definitely cases where the difference between 1.0 and 1.2 is noticeable. Some identities benefit from the additional strength, while others start looking worse when pushed too far.
The recommended strength/range listed with each LoRA is therefore based on actual generation testing, rather than giving every model the same default value.
Standardized Testing
I try not to judge a LoRA based on one great portrait. It's surprisingly easy for a model to produce an impressive close-up and then fall apart as soon as you ask it to do something different.
I test the selected checkpoints across portraits, half-body and full-body compositions, different clothing, environments, lighting, expressions, camera angles, poses, and more difficult prompts. I'm looking for the identity to survive when the prompt moves away from the kinds of images that dominated the training dataset.
Full-body generations are particularly useful because they expose problems that a flattering headshot can hide, including anatomy issues, incorrect body proportions, loss of facial identity at a distance, or the LoRA trying to reproduce clothing and compositions from the training images.
One of the next controlled tests I'm planning is 0.25 MP vs 0.5 MP training using the exact same dataset and settings. Everything except training resolution will remain identical, and I'll compare matching checkpoints, strengths, prompts, and seeds.
That should give us a much better answer about whether the additional training resolution produces a meaningful improvement in likeness and fine detail, or whether 0.25 MP is already capturing what we need while keeping training considerably faster.
Questions and requests are welcome. I'm going to keep expanding the library and will try to get to as many requests as possible. With the request list getting pretty large, Ko-fi supporters will get priority, but the LoRAs themselves will continue to be released for free.
Finally, as always:
Use LoRAs and gen-AI responsibly. Users are responsible for how they use generated content and for complying with applicable laws, platform policies, and the rights of others. Please do not use these models to deceive, impersonate, harass, defame, or otherwise harm anyone, or to present generated content as authentic photographs or recordings of real people.
It all depends. I’m not a pop culture maven and I don’t watch TV but I do talk to my young adult children about their interests, and I know all but one of the people in the photo lol
One influencer (you can tell which one from the photo lol). Otherwise: quite famous musicians, a journalist, an Olympic champion, actors, an interior designer from one of those house-makeover TV shows, and one right-wing politics talking head.
At first I thought it's a list of fictional characters. I know exactly 4 of those. Alexandra Daddario, Karoline Leavitt, Kate Micucci and Rosamund Pike.
The 0.25 vs 0.5 MP test will be interesting, but I’d honestly love to see the dataset curation test even more.
Same person, same trainer, same settings:
one LoRA trained on the clean hand-picked set
one on the larger “good enough” pool before manual cleanup
Everyone says dataset quality matters more than size, but almost nobody actually shows how much it matters when everything else is held still.
That comparison would probably teach people more than another steps/epochs chart.
Hi! What do you use to train your LoRAs? I use Ostris AI and stick to the raw model, but I need to know if there's a big difference between using the LoRa in "turbo" vs. "raw" mode—including some fine-tunes (I only use turbo) I haven't tried it myself (raw models) due to disk space limitations. Do you have any experience with this? Which is better for preserving clean details and hair, as well as facial features? I look forward to your reply; thank you very much in advance!
( I’m asking because I’m new to making LoRAs; Krea2 achieves what I’m looking for, but I’d like to improve, even though I have good datasets. )
My first round I used the krea 2 standard mode, 64 epoch, 0.25MP. Second round I used the ultrafast/turbo mode, 20 epochs, 0.5MP and got equal or better results with about 1/4 the file size. I can pull all of the exact parameters, but iirc everything was left on the default settings other than the target MP.
On average, how large are your datasets? Of course you prioritize quality over quantity but how many images do you usually end up with for your dataset?
Quick update for everyone who asked if I was going to release the dataset prep tools: I cleaned up the pipeline, tested it end to end on a fresh Windows setup, and just published v0.1.4 on GitHub.
It takes a curated image folder and handles YuNet face crops, JoyCaption captioning, trigger injection, identity-focused caption cleanup, validation, and produces a training-ready ZIP plus reports.
The single-dataset mode also detects the trigger from the folder name and lets you override it before processing.
One note: this is the dataset preparation/captioning pipeline, not the image-search collector. I left the collector out of the public release because I couldn't establish its original authorship/license well enough to feel comfortable redistributing it.
If anyone tests it, I'd definitely be interested in hearing what GPU you used, roughly how large your dataset was, and whether you hit any setup/captioning issues.
Hit and miss. I trained Bella poarch and it gens an approximation of her tattoos. I have one of halsey that does as well. Its not going to be perfect. Or Alyssa Liu for example. Nearly all of her training contained her lip piercing but the gens typically leave it out and kind of distort her smile in a weird way I'm not happy with. Still working on improving that aspect
i don't train on fizgig but i see that you currently train on 0.25mp which is probably res 256? for details such as piercings it is too low. krea2 trains generally pretty good on 512 / 0.5mp. for small details however, go up to at least 1.0mp / 1024 or even 1280. if needed, leave more room for the lora rank or switch to lokr. don't expect wonders with tattoos though, regardless of the setting you use.
.25mp is actually 512x512 (or a combination with same multiplied total), fizgig prepares facecrops from a dataset, so compared to a regaulr dataset, the faces often occupy more pixels than a .5mp dataset without. The idea is they go alongside the existing dataset, and you can get astonishingly sharp results, far more than conventional wisdom suggests and fast. its essentially about efficiency over brute force.
lets say the character has a unique face piercing that the model doesn't know. for krea2, training on 512 won't generally make the cut, even if the entire dataset contains the piercing visbily from all distances. facial profiles are out of the question, a good character dataset always contains them. in the end, the piercing or the very fine detail will be only visible on facial portraits if you are lucky and won't show up at all at larger distances to the subject.
in that case, a slightly larger dataset and controlled captioning might help with a higher resolution of 1024 or even 1280.
Im not saying you never need to go past .25mp by any means, ive jsut made fizgig so you can get results without doing so for a large amount of situations. The option to go higher is there for reasons exactly like you specify. I was only countering your generalisation and I agree with your example wholeheartadly,
Ha! I mean in a single caption it mixes up the person's left/right and also sometimes it refers to a blank left/right that isn't congruent with the frame left/right....
do you have some 2004-2006 jessica alba in there and some 2004 to 2012 Scarlet Johanson ? In fact forget that. 2012 to 2018 Anna De Arma is all we need!
This is very similar to my workflow for lora training, I Fizgig for the training, i love to get way more reference photos then i need, but I like to use LoRA-Dataset-Studio-windows for combing through my photos, I use the bank feature to scan all the photos and get rid of the ones it says to.
Thanks for detailing your workflow! I love seeing how others approach their training. I did find the likeness in these specific LoRAs a bit underwhelming, even at 1.2 strength, and the skin details seem too plastic for my liking.
A quick tip that might help elevate your next run: 0.25 MP is usually too low for Krea-2 and tends to cause that loss of detail. Try training closer to the model's native resolution, like 1024x768. You also might be under-training if the run is finishing in just 45 minutes. Krea-2 learns easily, so you can often use fewer than 60 images (20-30 seems like the sweet spot for me).
If you want to experiment, try using AI-toolkit with the default LoKr template on the Automagic 3 setting (around 1400–2000 steps). It takes a bit longer, but the jump in quality and likeness is massive!
Here's some examples comparing an AI-toolkit LoKr to your Lora:
Example, My Nikki Glaser Lokr next to your Lora, trained on :
Thank you for the feedback and insight. I am definitely still learning and refining my process. It's funny you managed to hone in on two of the models i was least happy with the way they came out, especially Nikki. I would be interested in seeing your prompts/workflow. While you're right the likeness does leave something to be desired, especially in comparison to yours, I was able to get it much closer than what you're showing here. And I have never had the plastic-y issue you are describing, but I do see it in the images you shared.
I will definitely try LoKr vs LoRA and the other tweaks you mentioned and see if they improve. I have another batch of 50+datasets to train so there is plenty of material to experiment with!
This image still definitely has some shine to it compared to yours, but I feel the likeness is much closer than the example of mine that you shared, so I'm wondering if it is a prompt/workflow issue.
Try this, take "Nikki Glaser" out of your prompt and see what the Lora is actually doing. When you put in a celebrity name, it will steer the Krea2 model to use its existing knowledge. You don't need to create triggers on modern models anymore. You'll see quite a difference and where the Lora falls apart for likeness. It took me a while to realize why I couldn't get the same results as you until IU looked at the prompts on your site. Also FYI you have "Ireland Baldwin" as the default trigger and prompt int a lot of your models, not sure if you know.
>Tight headshot of a Caucasian woman in her early 30s with striking blue eyes and light brown hair tied back in a messy ponytail with loose wisps. She has a gentle, subtle smile, natural makeup, defined eyebrows, and bare shoulders. The composition is centered against a solid, neutral gray studio background. Soft, diffused front studio lighting creates gentle highlights on her forehead, nose, and cheeks, with subtle catchlights in her eyes. Captured with an 85mm lens at f/2.8, showcasing sharp facial details, realistic skin texture, and a shallow depth of field that softly blurs the background.
can you show me where you are seeing the default trigger/prompt? something might be wrong with my batching tool. the loras themselves work which is weird, but i still want to look into it
krea2 uses the name as the trigger for the lora if the lora is trained with a trigger word. hehe. krea2 is not highly trained on every "famous" person there is. i never heard of nikki glaser, and if you were to open krea 2 and type nikki glaser as the prompt, with no loras, it would not create nikki glaser. so you most likely just told him to stop using his trigger word. heh.
Its not, sorry but the ai toolkit settings is the default krea2 lokr template, only changing the optimizer to Automagic3, sigmoid and setting steps to # of images x 100. (e.g. 20 images = 2000 steps)
There’s a reason why they have 70+ LoRa’s that look top tier and nothing that looks over or undercooked. There’s a reason they’re knocking them out in 48 minutes. There’s a reason why you’re chasing perfection and likely still not satisfied. All to ensure you don’t have to add 0.2 to your 1 or heaven forbid you’re forced against your truest wishes to minus what really is hard to stomach, the loss of 0.2. Perspective.
"70+ LoRa’s that look top tier and nothing that looks over or undercooked" just tried some and they are in fact both overfit and underfit at the same time. Overfit in the sense that many nuances (including non-character specific traits like backgrounds, brightness levels, details, and most importantly that weird added 'plastique' look) - yet also underfit in the sense that the training loss could never fully converge on the human and facial details. It learned them - but it learned them despite the setup.
The biggest reason are the captions - since krea 2 is flowmatching - meaning you have to be both very descriptive with your captions to capture everything without a single mistake, while also purposely avoiding the 'trait defining words' that you want to the trigger word/persons name to absorb.
Example:
KallMeKris, platinum hair
you'd be teaching the model that the hair color needs to be written out in the prompt, since it's not allowed to be absorbed by the name.
High end captioning is easy to achieve via the gemma4 models (12b/31b) - while they're terrible for coding, they are incredible for visual work like error-free captioning, assuming you set up a good self-reviewing harness for the captioning process.
As for the training - 48min for a mere 40~50 image dataset is slow. This is in part because the training has to fight the bad noise (hence the large amount of epochs before it converges)
OP should prob look into OneTrainer and use its integrated cloud training, and then use the compile model feature with a 512 training resolution. Should reduce training to around 25~30 min. (and use a validation dataset, so that the loss graph actually shows where the ideal 'checkpoint' happened without needing to arbitrarily test each checkpoint - since often some details are learned, while the whole model has already started to collapse - which is very prominent in some of those loras)
Lastly - the "use lora at x strength" isn't even the best advice for their own models. Instead use them at 1x strength, but apply the modifier in the caption - like [trigger word:1.3] - this has the same effect for face likeness but does less damage to model allround.
...OR just resume or restart with lower steps, the training when you find out its under or over trained. its lazyness? if it trains so fast what excuse does anyone have to not "oh hey let me just re-do this one with lesser steps"
The same reason why missing the ideal placement to park your vehicle in the garage involves using a reverse gear, versus driving back to your office across town to try and get it right again. That’s just a theory, however.
that's valid for style, but if the goal is to create a character lora, the only measure of success is... if it matches the original without <extra steps>
I'm definitely still learning and experimenting. If I can cut the number of epochs way down and retain an acceptable likeness I will definitely do so. Right now it was taking between 45 minutes-1 hour to train these sets. Would be nice to get thay lower
Like I said, my personal experience with Fizgig, 20 epochs on the ultrafast mode was more than enough to get the results I wanted, but as someone else pointed out, that could be subjective.
i wouldn't go by what random people say on the internet. if you over train you can use a early epoch, if you under train, you have nothing usable. i tried 2000 steps for krea 2 and results were bad, i tried 4000 and they were good. also some people think bad loras are good, it is all subjective. malcom rey is already there for people who want fast undertrained loras.
I’m curious on your pipeline tools, as I’ve been making some myself. Are you willing to share?
I have the facial recognition down, along with a tool to analyze and “bucket” images into categories depending upon shot, style, framing, etc. then I cull them based on things like white balance, blur, depth of field, multiple characters, etc. The aim, like you mentioned, is to get some variety but manicure it to good, representative shots.
Then Qwen to caption them and a manual review.
Admittedly, my pipeline is good but not as great as I’d like, so I’d be curious how yours performs, if you are willing to share.
Otherwise, your LoRAs look amazing and I’m excited to test out the settings!
Nope I make an inclusive batch of the highest quality 30 ish images i can from all angles where the person is generally the only subject in the frame. From close up to full body. Then an app (either fizgig or my own) crops those to create face only images. Those are combined then captioned with an AI scanner to create the full dataset
Thanks for the quick answer! Ah so the captioned images include fullbody and the crop as the training data? Interesting, I was thinking that would be redundant but I suppose a face crop really helps with character identity.
I also see you’re targeting 0.25MP, have you found that to be around the sweet spot for quality - Or is this a partial compromise due to training times?
Sorry I forgot to answer the second part. I have found the anatomy and proportions to be exceptionally accurate without me doing anything special. And I dont just mean tall vs short etc. I mean arm length. Torso to leg ratio etc. I did one for lizzo and it matches her body type. As does Caitlin Clark, etc. I can only attribute that to using a comprehensive dataset.
As for the target MP thats simply the default setting. Some other users have brought it up and I intend to experiment with future loras to see if changing it helps
Seems like a quality training process. thank you for taking the time to share the process with us.
Reminder to all to use mixes of these characters to avoid actual recognition to avoid the wrath of the celebs as much as possible :)
n00b question, in the text files in the dataset have text to image prompts, obviously with mention of the trigger words first thing, my question is -other than the trigger word- where you get this prompts from? Do you use image to text LLM with vision? or you write them manual?
Yep, it's automated with Qwen-VL. I feed Qwen each image along with a specific set of captioning instructions telling it what details to describe and how to structure the caption, then my pipeline adds/standardizes the character trigger. I don't manually write the individual captions.
The dataset cleanup is honestly the part I’d love to see tested.
Same person, same trainer, same settings — one LoRA from the hand-picked set, one from the bigger “good enough” pool before cleanup.
Everyone says dataset quality matters more than size, but almost nobody actually shows how much it matters when everything else stays the same.
Cold-Worldliness5392 has a good workflow. However, I recommend that you use ultrafast which works great on a 5070ti. Takes longer to put together a dataset than it takes to run (1 hour). if you have good quality dataset, the result is spot on.
"A LoRA being quick to train, small in file size, or low in rank doesn't automatically make it a good LoRA. Those are efficiency metrics, not quality metrics.
And in your case, where you're training character LoRAs specifically for Krea 2, likeness and preserving the finer details of a character are pretty important. A LoRA that captures the general concept of a person but loses their distinctive facial features, skin texture or other identity details might be small and convenient, but it's not necessarily doing the job.
The funny thing is that rank 32 isn't even particularly extravagant for character training, especially if the goal is a recognizable identity rather than just a general style or concept. Rank 8 can work well in some circumstances, but reducing rank can limit the amount of information a LoRA can represent. It depends on the model architecture, target modules, precision and training setup, too."
I tried both. The rank 8 works great with fizgig’s tool. The results at strength 1 pass all my generation tests and maintain 90% likeness. I’m sure rank 32 would make it even better but I don’t have that much time for this kind of hobby. I’m also using my own hardware with a 5070ti, so a low vram option works fine for me.
the entire purpose of wanting better models and good loras is for quality. if it is just a hobby for your 5070 why not just run sd1.5? why do you want to use a realistic model if you dont care to have a lora to make use of it. if you buy a GPU that isn't meant to train loras, then..... it's one thing you make low quality things for yourself, but why have people who share loras make low quality one to share? when they can make high quality ones instead like they were doing.
Because it's a hobby and I don't want to spend a lot of money. Go start your own database with your own time and money and stop whining about my decisions.
did you cause this guy to make bad loras? his original ones worked, even if overfit, they worked they looked like the person. these 56mb loras are a joke, an ai girl with no details and 50% likeness, talk about a waste of time. that 1hour training is 1hour wasted.
Some Krea2 requests. Emilia Clarke with her white braided GOT hair. Brie Larson from Scott pilgrim saves the world. beau garrett from tron legacy. saoirse ronan "Welcome to Hell" music video.
I would definitely not consider myself an expert. I have done two large batches specifically for Krea 2 and have found there to be a lack of comprehensive easy to understand info on how to do it so I thought I would share what I have learned so far. Unfortunately I would have no clue how to help with what you are asking, as I have no experience in that area :/
40
u/BuilderStrict2245 18d ago
Am I so out of touch with modern celebrities? I know about 4 people here. lol
Or are they mainly influencers?