LTX-Best-Face-ID — Identity LoRA for LTX-2 (Reference-to-Video)
Keep a person's identity in generated video. Give it one reference photo + a text prompt, and
it generates a video of that person performing the action.
If this model was helpful to you in any way, please consider helping me continue creating more model for the price of a coffee.
How it works
The reference is injected as an overlap latent with TASS-RoPE (source-phase) tagging, plus a
differentiable ArcFace identity loss — so the face transfers without becoming the first frame.
Rank-128 LoRA, trained on HuMoSet (close-up / frontal identities). Base model: LTX-2 (22B).
⚠️ Requires the BFS Nodes for ComfyUI
👉 https://github.com/alisson-anjos/ComfyUI-BFSNodes
Full model card + files (workflow): https://huggingface.co/Alissonerdx/LTX-Best-Face-ID
Use the LTX Identity Transfer node → feed the reference image → load this LoRA on the MODEL path.
Tips
- Use a clean, frontal, well-lit close-up as the reference.
- Identity is prompt-driven — describe the person's attributes (skin tone, hair, eyes, glasses,
facial hair) for best results. The shared workflow's **Prompt Enhancer** can auto-describe the
reference for you.
- Prefix prompts with `ref_t2v:`.
Limitations
- Close-up bias — full-body / large-angle shots hold identity less well.
- A bare/generic prompt gives weaker identity — describe the person.
- The reference framing/accessories can partially copy into the video; a clean frontal
reference minimizes it.
Description
You can use both Loras together, set the base FaceID to 0.2 strength to force a bit more similarity, workflows and more details are on HuggingFace.
To generate the Character Sheet, you can use the GPT Image 2, or any other tool. I also made a model for Flux Klein 9b (TripleView - 4 Views | Flux.2 Klein LoRA | Civitai). You can use this LoRa to generate the 4 views, the Lora image that generates 3 views has better quality, so maybe you could combine the close-up from the 4-view image with the 3 views from the 3 views lora, haha. Remembering that the image resolution needs to be 1536x1024.
FAQ
Comments (26)
Thanks so much for the character sheet lora! Should we use a sheet exactly formatted like yours, or can it take any type of sheets?
In my dataset, I only had sheets in this format. You can test other formats, but I recommend using the same one as mine; it's easy to generate in the GPT chat.
@NRDX yeah, looks like a simple and direct character sheet, I'll follow this format then, thanks!
@ArtiOtaku The creator of this Lora has one for Flux Klein that generates these exact sheets
@sonofabean Nice, I already deleted all my Flux models after Krea2 came out, though, so, i guess I'll have to rely on ChatGPT for this.
so i can't just add this as a lora in wan2gp and expect it to work right?
You can try using it as i2v, but it will cause your reference frame to become the first frame of the video, and it won't just be used as a reference. To work with Wangp, I believe you would have to take my BFS node and adapt it for Wangp.
Try using it and a reference image in the Control Video/Frames Injection - Ingredients Reference Sheet section. For me it seemed to work MUCH stronger with this LORA to keep the identity locked in to the reference image. Maybe a bit too much - with a face that was highly matching the expression of the reference. Needs more testing/tweaking, but I think that's a good place to strt in WanGP. BTW I'm using version 12.3 of WanGP
it works, but limited only one character!!! :(
Why are characters always off-center and on the sides ?
Give me an example? But anyway, you can write the prompt freely, define the position in the prompt. If that doesn't solve it, it could be a bias in the dataset based on humo.
@NRDX thanks for the replay,i add a video below,in the prompt i already add " keep the man always in the center of the frame"
It will be center when use 1024x1024.
works nice but having 1 issue i could use advice on. given the character sheet is a landscape image, if i want to create a portrait video (no control) and ref_size_mode is set to native then the subject is always off center to the left, like the latent is rendering a landscape ratio and then cropping but left aligned. however if is witch it to match_ref then it fixes this issue, but then i think the character sheet is getting cropped because it loses the face detail in the result. is there a way to use the character sheet but make a portrait video without these issues?
i pretty much lose likeness in all settings ive tried unless its set to native_resolution, which again seems to be a left aligned cropped video if the reference image is a different ratio than the video
@Knoxxxonk Good catch, thanks for the detailed report — dug into it and there are actually two separate things going on:
match_target losing face detail: this mode resizes the reference to the output's pixel size via a center-crop first, then resize (not a stretch). So when the reference is a landscape character sheet and the output is portre sheet away before resizing — if the face closeup panel isn'tdead-center in your sheet layout, it gets cut off entirely. That's the "loses face detail" you're seeing.
native_resolution off-center-left: this encodes the ref at its own native (landscape) size regardless of the output's aspect ratio. Since the training data always used a fixed landscape canvas for the reference sheet, the model likely never learned to reconcile a landscape reference with a portrait output cleanly — it seems to "compose" as if landscape, and what you get is bastion cropped left-aligned into the portrait canvas. That one'smore of a training-data-coverage limitation than a pure bug.
Fix: just pushed v1.10.13 with a new ref_resize_mode option: match_target_letterbox. It resizes to the output's pixel size like match_target, but fits the whole reference inside it preserving aspect ratio (no crop at all), padding the leftover space with white instead of cutting anything off. You'll get some white bars on the sides/top-bottom depending on your sheet's asp you'll never lose reference content — should fix the face-detailloss without reintroducing the off-center issue.
Try match_target_letterbox for mismatched aspect ratios (portrair vice versa) — that's the mode I'd recommend for your case.Update the node pack and it should show up in the dropdown.
@NRDX will give it a shot tomorrow but have one quality concern. Did you update it so it uses the actual size of the output? For example my video size will be 544x960. If the character sheet from your lora which is like 1546 or something in width has to scale down to 544 width and still have all 4 reference squeezed in there, we will lose a lot of resolution.
@Knoxxxonk In the case of the character sheet, there's not much I can do; I'll have to see what's possible.
@NRDX i tried it and i didnt see much of a difference using the letter box approach. the content was centered but the likeness still dropped.
i reorganized my character sheet to match the portrait ratio with the close up in the top left, top right front, side in bottom left and back in bottom right and just keeping native res it did help a little but still offset, just not as much. still the offset is a bit too much. if this can get resolved this workflow would be awesome
The character sheet video, camera always shifts to upper left when I generate low res video like 512x512. I use LTX Identity Transerfer node with native res. It looks like strictly fix to some video resolution like 1024x1024 or 1536x1024. Is there any way to fix this problem without need to increase video resolution?
i am having the same issue as per my comment just a few hours before yours. the OP made a fix but it doesnt seem to make much difference for me, it still is docks the result left aligned and unless i use native res it simply doesnt keep the likeness since internally it is being cropped, even with the new letterbox setting. my thing is im trying to do portrait and the character sheet is landscape.
i restructured my character sheet to be the same portrait ratio 9:16 and made the close up in the top left, front top right, side bottom left and back bottom right. it seems to help a little bit but everything is still slightly shifted to the left its just not as bad.
We're in the same boat. Hope NRDX fix our boat soon.
The only way to fix this would be to train in a way that the reference is actually offset relative to the empty latents; in this case, it would be using st-drc, which is an approach I haven't yet managed to get working 100%, but I'll look into it.
Hi, Im a lazy noob with no time to train my own character sheet.
What does Best_FaceID_CharacterSheet_v1.0_LoRA.safetensors
actually contain ? Is it data specific to one of your personal models that you're providing as an example ? Will it morph my input image character into yours ? (Which I dont want it to) or can this file still help to preserve my input character's ID without me having to train my own character sheet ?