Train Flux LoRAs For Portraits
portrait trainerfal-ai/flux-lora-portrait-trainer
FLUX.1 tuned for faces: bright, detailed, prompt-faithful portraits.
A FLUX.1 trainer with portrait-specific preprocessing: it can crop to the subject and train across multiple resolutions, which keeps faces sharp at different framings. Pick it when the LoRA's whole job is one person's likeness. For objects, styles or scenes, flux-lora-fast-training is the better fit.
What goes in the zip
Flat zip with at least 10 photos of the person, more is better. Optional name.txt captions; write [trigger] in a caption where the trigger_phrase should be injected.
Good starting point
steps: 2500learning_rate: 0.00009Parameters
Schema facts come straight from the fal API; the notes are ours.
Required
images_data_urlstringrequiredURL to a zip archive of your training images, optionally with matching .txt caption files.
In the atelier: The album you hand the painter. It is the single biggest factor in what the LoRA becomes.
Tip: 15 to 30 sharp, varied images beat 200 sloppy ones. Vary angle, lighting and background; keep the subject consistent.
Watch out: Duplicate or near-duplicate images push the LoRA toward memorizing instead of learning.
Raw schema description
URL to zip archive with images of a consistent style. Try to use at least 10 images, although more is better. In addition to images the archive can contain text files with captions. Each text file should have the same name as the image file it corresponds to. The captions can include a special string `[trigger]`. If a trigger_word is specified, it will replace `[trigger]` in the captions.
Optional
trigger_phrasestringA unique word or phrase baked into your captions that activates the LoRA at inference time.
In the atelier: The skill's calling word. Say it in the prompt and the painter knows to use the bracelet.
Tip: Pick something that is not a real word, like TOK or OHWX, so it does not collide with anything the base model already knows.
Watch out: If you train with a trigger and forget it in your prompts later, the LoRA will seem weak or broken.
Raw schema description
Trigger phrase to be used in the captions. If None, a trigger word will not be used. If no captions are provide the trigger_work will be used instead of captions. If captions are provided, the trigger word will replace the `[trigger]` string in the captions.
learning_ratenumberdefault: 9e-50.000001 – 0.001How big each learning update is. Controls how aggressively the model changes per step.
In the atelier: The painter's eagerness. A high rate is frantic practice: fast but sloppy, and it can wreck habits he already had. A low rate is careful practice: slow, but precise.
Tip: Stay near the trainer's default unless you have a reason. If results look fried or oversaturated, lower it. If the subject barely shows after many steps, raise it slightly or add steps.
Watch out: Learning rate and steps trade off against each other. Doubling both at once is how datasets get burned.
Raw schema description
Learning rate to use for training.
stepsintegerdefault: 25001 – 10000How many training iterations the model runs on your dataset. More steps means the LoRA sees your images more times.
In the atelier: Practice repetitions. Too few and the painter never picks up the skill. Too many and he stops learning and starts memorizing your exact photos.
Tip: Around 1000 is a solid default for a 15 to 30 image subject dataset. Small datasets need fewer steps, not more.
Watch out: If outputs start reproducing your training photos almost exactly (same pose, same background), you overtrained. Go back down.
Raw schema description
Number of steps to train the LoRA on.
multiresolution_trainingbooleandefault: trueTrains on the dataset at several resolutions instead of one.
Tip: Keep it on. Faces hold up better across close-ups and full shots.
Raw schema description
If True, multiresolution training will be used.
subject_cropbooleandefault: trueCrops each training image to the subject before training.
Tip: Leave on for portraits. It keeps the painter's attention on the face, not the room.
Raw schema description
If True, the subject will be cropped from the image.
data_archive_formatstringArchive format of the upload, like zip. Usually auto-detected from the file.
Tip: Just use a plain zip and let the trainer detect it.
Raw schema description
The format of the archive. If not specified, the format will be inferred from the URL.
resume_from_checkpointstringURL to a checkpoint to resume training from.
create_masksbooleandefault: falseAutomatically segments the subject so training focuses on it instead of the background.
In the atelier: Cropping each album photo so the painter studies the subject, not the wallpaper behind it.
Tip: Keep it on for people and objects. Turn it off for style training, where the whole image matters.
Raw schema description
If True, masks will be created for the subject.
Call it
import { fal } from "@fal-ai/client";
const result = await fal.subscribe("fal-ai/flux-lora-portrait-trainer", {
input: {
"images_data_url": "https://your-cdn.com/dataset.zip",
"steps": 2500,
"learning_rate": 0.00009,
"trigger_phrase": "TOK"
},
logs: true,
});
console.log(result.data);