Character training API
Upload 4–30 photos of one person, wait about ten minutes, and get back a character id. Reference that id on any generation call and you get the same person, consistently, in any scene you can describe.
- Price
- $0.75 / training
- Training photos
- 4–30
- Training time
- ~10 min
- Free slots
- 2
Varied angles, lighting, expressions
At the default 1000 steps
Per account, then monthly packages
How it works
Training runs as a job like everything else: POST the photos, poll the character until its status is ready, then use it. Behind the scenes it fits a LoRA against one of the SDXL checkpoint families and stores it server-side.
You never handle a LoRA file. The API does not accept or return weights — the character is referenced by id, and the server resolves the file and its trigger token at generation time.
- Choose the family at training time: general-image (photoreal), anime, or cartoon
- A character is usable on any model in the family it was trained against
- Photos are kept so a character can be retrained for free if needed
- Delete a character at any time and the weights go with it
Train a character
Send public https URLs rather than base64 — the request body has to stay under about 4 MB.
curl https://api.fastgencloud.com/v1/characters \
-H "Authorization: Bearer $FASTGEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Ada",
"class": "woman",
"base_model": "general-image",
"images": [
"https://example.com/1.jpg",
"https://example.com/2.jpg",
"https://example.com/3.jpg",
"https://example.com/4.jpg"
]
}'Generate the trained character
Once the character reports status "ready", reference it by id on a normal generation call.
curl https://api.fastgencloud.com/v1/images/generations \
-H "Authorization: Bearer $FASTGEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "general-image",
"prompt": "a woman in a linen shirt reading at a cafe table, soft afternoon light, shallow depth of field",
"character": {
"id": "chr_0123456789ab"
},
"size": "832x1216"
}'Choosing training photos
Photo quality determines likeness far more than step count does.
- One person per photo, face clearly visible
- Vary angle, distance, lighting and expression — 10–20 varied photos beat 30 near-identical ones
- Avoid heavy filters, sunglasses, motion blur and group shots
- The default 1000 steps suits most sets; more steps tighten likeness but can overfit a small set
Pricing and slots
Each training run is billed once from your wallet. Storing a trained character occupies a slot: every account gets two free, and monthly packages add more.
If a package lapses, characters enter a grace period before being archived — and the original photos are retained so you can retrain without re-uploading.
Frequently asked questions
- How is this different from the Face ID API?
- Face ID needs one photo and works instantly but the likeness is approximate. Training needs 4–30 photos and about ten minutes, and gives a much tighter, reusable likeness. Use Face ID for one-off scenes, training for a recurring character.
- Can I download the trained LoRA?
- No. Weights stay server-side and are referenced by character id. The public API never accepts or returns LoRA files, checkpoint names or workflow JSON.
- Whose photos can I train on?
- Only people whose rights and consent you have. Training on a real, identifiable person to produce sexual or harmful depictions without their consent violates the Acceptable Use Policy.
- What happens if training fails?
- The job fails and your wallet is refunded automatically, like any other failed job. The most common cause is a photo set with multiple people or unusable faces.
Related
Start generating
Create an account, add a prepaid balance, and call the API with a key from the console. No subscription, no minimum, no per-seat pricing.
Get an API key