/ AI characters
How to hold a face
Generating one good image of a character is easy. Generating the same face fifty times — different pose, different light, different outfit, recognisably the same person — is the entire problem, and it is the reason this category exists at all.
There are four ways people solve it, and they escalate. Each one buys consistency with something: effort, flexibility, money, or control over where your reference photos end up.
/ What actually holds a character
Describe the character in the prompt
Write the same appearance into every prompt — age, hair, face shape, clothing. Free, instant, and no setup at all.
It drifts. A prompt describes a type of person, not a person, so the model draws a different one each time and the face wanders within a few images. Fine for a mood board, useless for a character somebody is meant to recognise.
Lock the seed
Fix the random seed so the same prompt produces the same image, then vary the prompt in small steps around it.
Consistency and freedom trade directly against each other. Change the pose or the lighting much and the face changes with it, because the seed holds the whole image, not the person in it.
Train a LoRA
Train a small adapter on a handful of reference images of one character. The model learns that specific face and can then place it in any scene you prompt.
Setup. You need the references, a training run, and somewhere to run it. This is the method every serious tool uses, and the reason most of them are subscriptions.
Identity adapters
Feed one reference photo to an adapter that conditions generation on that face, with no training step.
Less control than a trained LoRA and usually tied to whichever model the tool wrapped it around. Fast to start, harder to push.
/ The part the tools don’t mention
Every tool that holds a face well does it with a trained adapter, and training needs your reference photos. In a cloud tool that means uploading them, and it means paying per image afterwards — which is a reasonable trade if you want to start in five minutes and never think about a model file.
The free alternative has always been Stable Diffusion plus a LoRA on your own machine. It has also always meant a Terminal, a Python environment and an afternoon, which is why most people read that sentence and go back to the subscription.
Saglitz Studio is a local AI image studio for Apple Silicon Macs — generation and editing on your own machine, with video, voice and upscaling in the same app. Holding a character is one of the things you can do in it, not what it is for: it trains LoRAs in the app and locks seeds for a scene, so a persona stays reusable across shots, with the references, the adapter and the outputs in your own folders. Local generation is free and there is no account. Cloud models are available if you want them, on your own API keys, billed by the provider rather than marked up here.
- Train a LoRA in the app — no Terminal, no Homebrew, no Python environment to keep alive.
- Lock a seed to hold a scene, then let the persona carry the face across the rest of the shoot.
- References and outputs stay in your folders; nothing is uploaded unless you pick a cloud model.
- The engine underneath is open source (GPL-3.0), so the claim about what runs locally is one you can check.
/ When a cloud tool is the better answer
If you are not on an Apple Silicon Mac, this is not a choice you have. If you need a character today and never want to see a model file, a hosted tool will get you there faster. And if your work is occasional — a handful of images a month — per-image pricing is genuinely cheaper than the disk space and the attention a local setup asks for. The local route wins on volume, on privacy, and on not being metered; it does not win on getting started.
One thing worth saying regardless of the tool: if a character is synthetic, label it as synthetic. The platforms are converging on requiring it, and it is the line between a creative project and a deception.
Frequently asked
Why does the face change between images?
Because a prompt describes a category, not an individual. Two runs of "a woman in her late twenties with dark curly hair" are two different women who both match the description. Holding one person needs something that carries identity between runs — a locked seed, a trained LoRA, or an identity adapter.
How many reference images does a LoRA need?
Fewer than people expect — a handful of clear, varied shots of the same face does more than a hundred near-identical ones. Variety in angle and lighting is what teaches the adapter which parts are the person and which are the photo.
Do I have to upload my references somewhere?
Not if you train locally. Every cloud tool in this category takes your reference photos onto its servers, which is the trade for not having to set anything up. Training on your own machine keeps the references, the adapter and the outputs in your own folders — and costs nothing per image.
Is a local setup not a lot of work?
It used to be the whole objection: the free route was Stable Diffusion plus a LoRA, and it meant a Terminal and a weekend. Saglitz Studio is a local AI image studio for Apple Silicon that packages it — download the .dmg, launch it, and it fetches the engine itself. No Terminal, no Homebrew.
Should I say a character is AI-generated?
Yes. A synthetic persona presented as a real person is a different thing from a synthetic persona presented as one, and the major platforms are converging on requiring the label. Say it in the bio — it costs nothing and it is the difference between a creative project and a deception.