Image generation fine-tuning works at surprisingly small scale — dozens of images rather than thousands. That makes it accessible, and it makes the rights question in your training set unusually concrete.
The rights question comes first here
It is tempting to treat this as a legal footnote. For generative image models it is the central practical constraint, because the output can resemble the training data closely enough for the provenance to matter commercially.
Three separate questions. Do you have the right to use these images for training? Do you have the right to distribute a model trained on them? And does the output infringe anything — which is a live and unsettled area, particularly for recognisable styles, characters and trademarks.
A fine-tune on a few dozen images is where this gets sharpest, because at that scale the model reproduces specifics rather than general tendencies. Training on one artist's work to generate images in their style is the clearest form of the question behind much of the litigation and platform policy. Images you created, images you licensed explicitly for this purpose, or public-domain and clearly licensed collections are the defensible positions.
This is not legal advice and the area is moving. It is a reason to establish provenance before you collect, not after you have a model.
Scale, and what each scale teaches
The scales here are unusually small, which is the appeal.
| Images | What it can learn | Typical approach |
|---|---|---|
| 5–20 | one specific subject or object, recognisably | subject-driven fine-tune with a rare trigger token |
| 20–100 | a consistent style, or a subject in varied contexts | LoRA |
| 100–1,000 | a style robustly, or several related concepts | LoRA, or full fine-tune of part of the model |
| 1,000+ | a domain shift — a new visual world | full fine-tune, substantially more compute |
Captions control the handle
Captions in diffusion fine-tuning do something slightly counter-intuitive: they determine what you can invoke at generation time, and what the model treats as variable.
For a specific subject, the convention is a rare trigger token plus a class word — something like a made-up identifier followed by “woman” or “ceramic mug”. The rare token becomes the handle for the specific subject; the class word anchors it to what the model already knows, so it does not have to relearn what a mug is.
The thing to be deliberate about: whatever you describe in captions becomes variable, and whatever you leave undescribed gets baked in. If every training image of your subject is outdoors and your captions never mention the setting, the model learns that the subject is outdoors. If you caption the setting, it becomes something you can change at generation time.
So caption the attributes you want to vary — background, lighting, pose, clothing — and stay silent about the identity you want fixed. For style training it is the reverse: caption the content, not the style, so the style attaches to the trigger rather than to the subject matter.
# SUBJECT training - vary the context, fix the identity
# images/01.jpg: "photo of sks mug on a wooden table, morning light"
# images/02.jpg: "photo of sks mug held in a hand, outdoors, overcast"
# images/03.jpg: "photo of sks mug on a shelf, dim indoor lighting"
# -> "sks mug" becomes the handle; table/hand/light stay controllable
# STYLE training - caption content plus the trigger, never describe the style
# images/01.jpg: "a harbour at dawn with three fishing boats, zwx style"
# images/02.jpg: "a crowded market street with awnings, zwx style"
# -> the shared visual treatment attaches to "zwx style",
# rather than to harbours or markets
Practical data hygiene
Image quality sets the ceiling absolutely. Twenty sharp, well-exposed, varied images beat two hundred mediocre ones, and a single badly compressed or blurry image in a small set is a meaningful fraction of the signal. Remove rather than include.
Variety within the fixed thing is what you are buying. For a subject, vary angle, lighting, distance and background while keeping the subject consistent — that is how the model learns the subject rather than the photograph. Twenty near-identical shots teach one image.
Watch resolution and aspect ratio against what the model expects, and be careful with automated cropping: a centre crop that cuts off your subject teaches the model a partial subject. And check for the obvious contaminations — watermarks, borders, text overlays and duplicate images — all of which the model will happily learn to reproduce as part of the concept.
Questions people ask
How few images can I get away with?
Five to ten can produce a recognisable specific subject with a trigger-token approach. Style needs more, usually twenty upward, because style is a distribution rather than an object. DreamBooth, where the trigger-token convention comes from, was designed for about three to five images of a subject, so the floor is variety rather than count: with fewer, or with near-identical shots, you are mostly teaching the model one photograph.
Do I need to caption at all?
You can train with a bare trigger phrase and it often works for a single subject. Captioning buys controllability — described attributes become adjustable at generation time. For anything you will use repeatedly in varied contexts, caption properly.
Can I train on images generated by another model?
Technically yes, and it is a quick way to get volume. Two problems: you inherit the generator's artefacts and biases, and the generating service's terms may restrict using outputs to train a competing model. Check the terms, and expect quality to compound downward.
Why does my fine-tune make everything look like my training set?
Overfitting — the trigger has leaked into the model's general behaviour. Fewer training steps, a lower learning rate, a smaller adapter rank, or more varied training images. Captioning the attributes you want to remain variable also helps, since undescribed attributes are the ones that get baked in.