Consistent Characters with Local AI: Train Once, Then Use Them in Image, Video and Chat
An image model draws a new face every time. Prompt the same description twice and you get two different people. A character LoRA fixes that: a small add-on file, trained on photos of one person or figure, that the model calls up with a trigger word. In Locally Uncensored the Character Studio trains it. With 3.0.7 the same character also reaches Edit, every video tab and the chat, and a Mac can train one too.
This tutorial goes through training and then every place the character can be used. It also says where the path ends and what has not been tested yet.
What You Need
| Where | Train | Use |
|---|---|---|
| Windows or Linux PC | Yes. Normal needs a card with 12 GB, Low VRAM is meant for smaller cards | Image, Edit, every video tab, chat |
| Mac with Apple Silicon (Beta) | Yes, slowly | Image, the video tabs, chat |
| LU Cloud | Yes | On LU Cloud. A Z Image character can also come to your machine |
Local characters use the Z Image family, so a character you train on your own machine is a Z Image LoRA. An AMD card is refused on Windows. On Linux the trainer refuses an AMD card it cannot run on and says why.
Step 1: Collect the Photos
Open Create, Character and start a new character. A local run takes up to 100 photos, and on a Mac at least 4. One person or figure, different angles and different light work best.
You can also train from a clip you made. The lightbox and the large view of a video offer "Use frames for a character". LU takes 8 frames spread evenly over the clip, and a slider goes from 4 to 20. Untick the frames that do not show the figure, then train with the rest in Character Studio or save them as a character. On a Mac the frames go to the same training. This has run in automated tests only so far.
Pick a trigger word. It is the word you put in prompts to call up the character.
Name what changes from photo to photo
New in 3.0.7, on Windows, Linux and the Mac: the Train tab has a short text field under each photo. Write what changes there, such as clothes, hair or place. It goes into that photo's caption after the trigger word. The trained character then keeps its face and body but is not tied to one outfit. An empty field keeps the caption as it was.
Describe photos fills the empty fields for you with the local chat model picked in Chat, if that model can see images. It never sends the photos to a cloud model. This field has run in automated tests only.
Step 2: Train
On a Windows or Linux PC
In Local mode, "Set up trainer" installs the trainer once. While a character trains, the local chat model pauses and comes back afterwards, so the trainer has the card to itself. The step counter moves with every training step. The finished character lands in your LoRA folder.
Next to the training length there is a second setting with two choices. Normal is the 12 GB recipe from before. Low VRAM trains at 512 px instead of 768 px, keeps 28 of the model's 30 blocks and the saved activations in system memory, and trains a smaller LoRA (rank 16 instead of 32). Each step takes clearly longer, and fine detail comes out softer. A card with less than 11 GB is pointed at Low VRAM, both in the tab and in the trainer's own check.
Low VRAM should let cards from about 8 GB train. That figure is worked out from the trainer's own numbers. Nobody has measured it on an 8 GB card yet, and Low VRAM as a whole has run in automated tests only.
A character trained on this machine can be deleted again. The Use character shelf has a delete button for it. It asks first, and the file goes to the Recycle Bin or Trash.
On a Mac
New in 3.0.7: Character Studio's Train tab trains a Z Image character on the Mac itself, from 4 to 100 photos, with the Mac's image engine. The result goes into the Mac's LoRA folder, where Use character, the character chip and the chat find it. The first run downloads a training adapter of 340 MB.
Plan for time. On an M5 Pro one step takes about 7 seconds, so the Standard setting with 1200 steps runs a little over two hours. So far a training on the Mac has run with 10 photos and 100 steps on one Mac with 48 GB. The Standard and Thorough settings, Macs with less memory, and stopping a training in the middle have not run yet.
On LU Cloud
In Cloud mode the same tab trains with no card requirement. A Z Image character on the cloud character shelf has a "Use locally" button. It saves the file into the LoRA folder of your computer, and the local Use character shelf lists it from then on. If a file of that name is already there, LU stops and says so instead of replacing it. A character of another model family is refused with the reason and stays in LU Cloud. "Use locally" has run in automated tests only, not yet against the real service.
Step 3: Use It for Pictures
When Create runs on ComfyUI, Image, Edit and every video tab have a character chip next to the model chip. You can also pick under Create, Character, Use character. On Image and Edit the character's LoRA and trigger word go into the run, and the pick sets the Z Image model the character was trained for.
Where no fitting Z Image model is installed, the line under the character says so with a button to switch, and Create does not start a run that would ignore the character (issue 161).
The same line says to describe the key features in the prompt as well, because the trigger word alone often does not hold the look. Hair, eye colour, age, build, a scar. The LoRA carries the identity, and the words hold it in place.
Edit with a mask does not take a character. Edit has a second route instead. Its reference strip has a Trained characters row, and a click adds up to three of the photos a local character was trained on as references, at most 1024 pixels each. A character trained before 3.0.7 has no photos there. This row has not been tried with a real training set yet.
Edit with Qwen-Image 2.1 now takes up to ten images in all on your own machine, on a Mac as many as its memory takes at the size you set. Ten images on Windows and Linux have run in automated tests only. A trained character still brings three of its photos into that strip, so the other slots stay free for references of your own, for example a scarf you want the character to wear.
Step 4: Use It for Video
The character is a Z Image LoRA, and a video model is of another family. LU therefore runs two steps, shown as "Step 1 of 2" and "Step 2 of 2". Step 1 makes a picture of the character. Step 2 starts the clip from that picture.
This runs on Video, Animate, Extend, Multishot, MiniMax H3, Motion Control and Talking Character. A start image of your own wins over the character. A video model that only takes text, or a tab with no video model installed, says so before anything runs.
We checked the character path in the app on Windows with a stand-in character. Step 2, the clip, has not run with a real video model yet.
Step 5: Use It in the Chat
In chat, the image and video tools take a character by name or by trigger word. Ask for a picture of your character on a boat, and the model passes the character to the image tool. A video request runs the same two steps as Create. Their permissions are in the Agent chapter.
On a Mac
Character Studio's Use tab on a Mac lists the characters in the Mac's LoRA folder, whether you trained them on the Mac or copied them in from a PC. A pick brings the Z Image model the character was trained for, and Image, the video tabs and the chat tools take the character as they do on Windows. A video starts from a picture of the character made on the Mac. Since 3.0.7 that includes Talking Character and Motion Control, which run locally on a Mac too.
The state on a Mac: training and an image with a LoRA ran with the real engine on one Mac with 48 GB. The Mac parts of 3.0.7 as a whole have run in automated tests and have not been clicked through in a built app yet. The Mac build is in beta: Apple Silicon only, macOS 14 or newer, no Intel. The Mac page lists the rest.
What Does Not Work, and What Is Untested
- No local training on an AMD card under Windows
- Local characters use the Z Image family. A character of another family from LU Cloud stays in LU Cloud
- Edit with a mask does not take a character
- Video gets the character through its start picture only. A video model that only takes text cannot take one
- Our check in the real app ran on one Windows machine with an NVIDIA card and a stand-in LoRA. How well a real character keeps its face has not been checked, and step 2 of a character video has not run with a real video model
- The text field per photo and Low VRAM have run in automated tests only. Low VRAM has not been measured on an 8 GB card
- Use frames for a character, the Trained characters row in Edit with a real training set, and Use locally against LU Cloud have run in automated tests only
- Training on a Mac has run with 10 photos and 100 steps on one Mac with 48 GB. Standard, Thorough, smaller Macs and stopping a training have not
For the general theory of datasets and LoRA settings outside LU, read Character LoRA Training, Locally. For why LU wraps ComfyUI instead of asking you to wire nodes, see Locally Uncensored vs ComfyUI.
Locally Uncensored is AGPL-3.0 licensed and built by PurpleDoubleD. Corrections welcome on GitHub Discussions or in the Discord.
In the handbook
- Create: Character Studio and the trainer, every message of the local trainer and what to do about it
- Create, every lane of the Create tab, local and hosted
- Agent, the chat tools and their permissions
- Cloud, Cloud mode and the hosted lanes