Training LoRAs with Civitai and Tensor
DISCLAIMER: Civitai is only taking payment in crypto right now. I wasn't aware of this before making this guide, as I had some leftover credits from before this was the case. This means that Tensor is currently the best option. Apologies!
This is a guide that was requested of me in the @are-we-art-yet server! I figured I would go all the way and make it look nice and official. :)
This guide is made with the assumption that you know what a LoRA is and have a general idea of how they work. If not, there's plenty of guides out there to explain the basics.
Step 1: What website are you using?
There's a lot of online generation websites out there nowadays; I've only found two that really work out well for me, so I'll talk about them! Specifically, these are Civitai and Tensor.art.
First off, it's important to note that both Civitai and Tensor ask a fee of you to make a LoRA, but that fee varies between the two. For the sake of consistency, I'll refer to both currencies as credits, even though Civitai refers to theirs as buzz.
Civitai generally requests a flat 500 credit fee, with the fee raising to 600 if you'd like priority training. With their ratio of credit:dollar being 10:1 and the minimum credit purchase being $5, you can train ~10 models with just $5.
Low, static asking price, regardless of dataset size.
Allows you to train the same dataset multiple times on different checkpoints with no additional fees on top of the training fee (i.e. x2 is 1,000 credits and 1,100 with priority training).
Each training parameter has a brief explanation if you hover, which makes it easier for beginners to understand.
If you're just interested in training, the subscription doesn't do much of anything for you, so you don't need to worry about it
It often takes multiple tries to get Civitai to work with me, both on the autotagging step and the uploading step. I don't know if it's my computer or what, but it's recommended that once the auto-tagging works, you download the entire dataset, because you may need to refresh the page for it to work.
Using a custom checkpoint rather than their list doubles the credit cost of training that model.
Tensor asks a fee that changes relative to the size of your dataset and how many training steps you'll need as a result. For example, if I'm training on 50 images with 10 epochs on FLUX Fast, that'll run me 675 credits. If I use a custom model, it raises to 900. With their ratio of credit:dollar being 3.03~:1, and their minimum credit purchase being $9.90, you're getting much less bang for your buck, only being able to train ~4 models for $10.
However, I've come to prefer Tensor for a couple reasons:
Tensor is much more consistent about auto-tagging and does it the moment you upload an image.
It retains your dataset and the tags if you click away or exit the website (however, it doesn't retain your settings afaik)
Allows you to set a negative prompt for your training images
In general, the UI is a lot tighter and more responsive
Higher asking price by a fairly large margin
No option for multi-training (afaik)
Priority queue requires that you have a subscription ($10/m)
Overall, it's entirely up to preference. I'll be going through how to train a model both in Civitai and in Tensor.
Step 2: The Actual Training
First and foremost, navigate to the training screen:
Train a LoRA for Civitai, Online Training for Tensor.
Civitai asks you what kind of model you're looking for. For image models, these are pretty simple and straightforward: Character, Style, and Concept.
For this tutorial, we're going to be making a Style LoRA.
Tensor doesn't ask you this question and assumes you know what you're doing.
After this, you have a disclaimer on Civitai to agree to, and then your training screens for both:
From here, the process is roughly the same. You'll want to input the images you'll want to use for training.
I've found that ~50 HQ images is good for a style LoRA. I would also advise you to not use too many images of the same character; make sure the LoRA has as many answers to as many situations as possible, especially with tag-based models.
Auto-tagging isn't automatic (ha) on Civitai. Here's the screen you'll get:
You should generally know what you need if you know what checkpoint you're using, but for the sake of clarity, if you're using a checkpoint that asks for natural language prompts, you'll want captions.
I don't really mess with the settings otherwise. This does its job fine.
When your images are uploaded and tagged, it should look something like this for both:
From here, if you think the auto-tagging's done something wrong, or if you want to input specific tags, you can edit both. On Tensor, you'll just want to click the image whose tags you want to edit. You can just input them in the textbox below each image on Civitai.
On Civitai, you'll need to upload the dataset before you can choose your settings. If that's successful (remember to download your dataset in case it isn't), this is the first thing you'll see:
If all of that looks correct, you can scroll down:
For this exercise, I'll be training both on Illustrious Hassaku XL v3.0. However, you can use whatever checkpoint you'd like.
The checkpoint you train on is the checkpoint in which your style LoRA will look the most like it's intended to. If you generate with any other checkpoint, the LoRA be influenced by that checkpoint's style. This can be used for some fun experimentation down the line.
On Tensor, you'll note that button up in the corner that says "Basic/Professional Mode", depending on whether you've clicked it or not. Professional Mode gives you a lot more freedom over how the LoRA is trained; I don't really touch most of the settings, but feel free to mess around with them if you know what you're doing.
Onto the settings themselves:
These aren't all of the settings you can mess with, just a snapshot. However, the most important thing (in my opinion) is the number of epochs.
On Tensor only, after your LoRA is done training, you can test prompts on every saved epoch you have. This costs a lot of credits (roughly 50~ for 10 epochs), but it's a very good way of testing each version of your model. Oftentimes, I won't choose the final epoch to upload or use, because I'll note that some of the style's been shaved off by the end. This may vary by epoch, but both sites allow you to save or upload any epoch you want.
I'll be leaving the settings the same as their defaults for both.
Civitai gives you three prompts to work with, as it will generate three images for each epoch. However, you cannot give it a negative prompt. If you do not give it preset prompts, it will randomly generate its own from the tags used in your dataset. This can have mixed results. Each image will be square and use the same sampler.
Tensor only uses one prompt—however, it generates four images with that prompt for each epoch. It also allows you to choose a negative prompt, the size of each image, and the sampler.
For Civitai, I'll be using 3 random prompts from past generations I've done. For Tensor, I'll be doing the same, but with the negative prompt I've been using as of late as well. I'll be keeping Tensor's images as portraits, and I'll continue using euler.
From here, if everything's to your liking, you can begin training. Both Civitai and Tensor allow you to preview the epochs as they're being generated—otherwise, this process will take a long time. Civitai is fairly quick, with an ETA of 42 minutes for this training.
Tensor, however, can take multiple hours.
Since I don't have multiple hours, here's a peek at a Tensor model I prepared earlier:
If you have experience with image generation, you can probably tell that each of the four images in each epoch are generated with the same seed. Let's skate down to Epoch 10 to see how it varies:
(I did actually end up choosing Epoch 10 for this one.)
As for Civitai, I unfortunately don't have any pre-prepared trainings, so here's the first epoch of our Hassaku XL LoRA as it trains:
Note that you can download this first epoch right away. However, you can't upload any of the models to Civitai until the training is completely done.
I'll be reblogging this with progress on both the Civitai and Tensor models made here as they continue to train! Hopefully this has been a helpful guide, and feel free to ask questions in the replies, or send an ask if you're curious. :)