1 https://tensor.art/articles/893578426995184161
2 https://tensor.art/articles/893801244529812650
3 https://tensor.art/articles/893811579294880467
4 https://tensor.art/articles/893820315258335399
5 https://tensor.art/articles/893848146646446019
6 https://tensor.art/articles/894184208509998968
7 https://tensor.art/articles/894196515738788839
You’ve probably noticed by now—I’ve emphasized this several times—this method only works when the pair you want to create is an unpopular or rare “ships” with little to no existing duo material.
If you already have plenty of “2boys” content, like 100 or 200 duo images, you’re going to get much better results without following the workflow in this article.
However, this method isn't useless, this approach does have one very unexpected surprise benefit—
it allows you to train LoRAs with three or even four characters (more than that is still being tested and not guaranteed),
and still generate any two-character combination at inference time.
It can even handle three-character combos.
Four characters is already pushing past what the checkpoint can realistically support, so results may vary.
It's easy enough to find a good amount of material for your favorite "2boys" pairing, but it's not so easy for three or four characters.
So let me walk you through the process of training a 3boys or 4boys LoRA:
1. The more single-character material you have, the better.
This helps you pick the best images.
If you don’t have enough, train single-character LoRAs for each boy first,
then generate high-quality solo images, and pick the best ones for reuse.
You don’t even need “2boys” images.
As I described earlier, stitch the 1boy images together.
Make sure each combination has at least 15 images.
For example: AB = AC = BC > 15
2. Organize the dataset into folders:
“A”, “B”, “C”, “AB”, “AC”, and “BC”.
Set the repeat values according to the earlier method.
Target around 800–1200 steps per solo character, with batch size = 1.
Then calculate repeat values:
A = B = C, and AB = AC = BC.
The total steps for all dual-character images that include a certain character should be about 20-40% of the single-character steps (this is a rough estimate).
For example:
If you have 15 “AB” and 15 “AC” images = 30 total,
And 20 “A” images,
With epoch = 12:
Solo A steps: 20 × 12 × 5 = 1200
40% of that = 480
480 ÷ 12 = 40
40 ÷ 30 = ~1 repeat
So you set:
A = B = C → repeat = 5
AB = AC = BC → repeat = 1
⚠️ Please note that the 40% step count is calculated based on the total number of dual-character images containing the same character, so it's the number of "AB" and "AC" images combined that have "A," not just the number of "AB" or "AC" images alone.
3. No need to train with 3boys images.
Just tag the above dataset and begin training.
4. Your first result might not be perfect.
Follow earlier troubleshooting strategies.
Let me expand a bit here:
Now that you’ve added a third character “C”,
“A” becomes part of two “conjoined twins” structures—“AB” and “AC”.
That means A might now absorb some traits from both B and C.
"A" might be seen as part of a "2boys" concept.
This can cause issues in generation:
When you generate a dual or three-character image, "A" might be treated as two "2boys," and "B" might also be treated as two "2boys."
With the weights stacked,
a duo image may behave like it’s layering four “2boys” concepts,
making extra characters and confusion more likely.
With trio images, it’s even worse—now it’s like hiding six “2boys” concepts at once.
And since the base checkpoint has no real understanding of “3boys”,
it gets overwhelmed.
But because of the limitations of the checkpoint and the resolution, a "double weight" for "2boys" doesn't mean you'll get "4boys."
Instead, it will display all the features learned from the "conjoined twin" phenomenon. At the same time, because the character trigger words like "A" have a higher weight in single-character images, the extra characters generated in "2boys" images are usually the same characters as in the trigger words.
For example, when you use "A+B," you might get two blurry figures similar to A and B in the background.
You can get rid of these by reducing the resolution or adjusting the prompts.
For "3boys," it's like generating "6boys" secretly.
Because checkpoints don’t natively support “3boys”,
confusion multiplies.
The best way to limit this is by reducing resolution.
When generating with “A + B + C”,
each trigger word contains its own “2boys” data,
not only will it produce extra characters, but the character features will also be more jumbled.
It's more like it's randomly picking three characters from AABBCC and putting them on a "three-person conjoined" outline.
In theory, training on a large dataset of “3boys” images
would teach the LoRA what “3boys” actually means and solve most of these issues.
But where are you going to find that many trio images?
Even the thought of compositing 100 trio images is exhausting.
That said, if my understanding is correct,
then if you had enough “3boys” images,
you wouldn’t need any solos or duos—
You could be able to generate any single- or dual-character combination just by describing their features.
This also explains why the dual-character step count is calculated based on the total number of dual-character images containing the same character.
In my limited tests, if I calculated it based on just the number of "AB" images, the weight seemed too high, and "A" learned too much "conjoined twin" information from "AC." The same happened with "B" and "C," which led to more confusion.
5. You can use the same method to prepare single-character and the same number of four-character dual-combination images to make a "4boys LoRA." The steps and repeats should also be calculated based on the total number of dual-character images containing the same character.
But please be prepared—
training “3boys” or “4boys” LoRAs and getting a good result
will require multiple rounds of fine-tuning.
A final reminder—
The LoRA training method introduced in this article is based on Illustrious 2.0.
But let’s be real: everything I’ve written here is just a tiny drop in the vast ocean of AI image and video generation.
There’s still so much we don’t know, so much more to learn, to try, and to explore.
This article will probably become outdated very quickly.
After all these long-winded paragraphs, we’re finally reaching the end.
I’m sorry if my writing has been a bit roundabout or difficult to follow.
This method isn’t perfect, and I know my understanding of the underlying mechanisms isn’t accurate—it’s just intuition based on the phenomena I’ve observed.
There’s so little discussion online about multi-character LoRA, especially for boys.
It feels like everyone’s exploring alone, in silence.
So I hope that my experience, whether you use them as a reference or a cautionary tale, can still be helpful to someone who needs them.
Feel free to leave a comment or message me privately on Civitai or Pixiv—my ID is kitakaze5691.
So many people have created such charming and memorable OCs—
handsome, cute, full of personality.
And many of them have tried to load these OC LoRAs together to generate 2boys images, only to get messy and chaotic results.
So, allow me a tiny bit of pride—
this article not only offers a simple explanation for why that happens,
but also presents a method that might finally bring those OCs together,
in the same image,
interacting closely—while still staying true to who they are.
It’s hard to believe it’s been nearly a year since I started working with AI-generated images.
Along the way, I’ve met so many strangers who’ve like friends.
Your support and encouragement have made me feel like I’m teenager again—
a curious and passionate 14-year-old who never stops exploring.
Every time I see a familiar ID in my notifications, it brings me real joy.
I haven’t felt this kind of warmth and comfort in a long time, and at ease from my depression.
Thank you, truly.
I’ll continue to share new images, new loras, and new thoughts whenever I can.
I hope they bring you even a little bit of happiness.
So… until next time~