Downloads · 30 days
0
Alissonerdx/LTX-Best-Face-ID
LTX-Best-Face-ID is a text-to-video model from Alissonerdx. Use it when you need video from a text prompt. The card lists the license as other.
An identity-preserving reference-to-video LoRA for LTX-2.3 (22B). Give it a reference photo of a person + a text prompt, and it generates a video that keeps that person's identity.
Downloads · 30 days
0
Access
Public
Updated Jul 17, 2026
Repo size
9.1 GB
Likes
322
Public
Click a slice to open those files.
.safetensors3.8 GB · 96%
From the Hugging Face model README
An identity-preserving reference-to-video LoRA for LTX-2.3 (22B). Give it a reference photo of a person + a text prompt, and it generates a video that keeps that person's identity.
Built with overlap reference conditioning + TASS-RoPE (source-phase RoPE) and a differentiable ArcFace identity loss. Runs in ComfyUI via the companion BFS Nodes.
Status: two reference modes are now available from the same recipe: the original close-up face reference, and a newer character-sheet reference (face + full-body views) that also carries clothing/appearance consistency — see Character-Sheet Reference below. Other experimental variants (native Gemma-vision conditioning, timestep-split texture injection) may be released later if they prove out.
<video src="https://huggingface.co/Alissonerdx/LTX-Best-Face-ID/resolve/main/examples/sample_1.mp4" controls autoplay loop muted></video> <video src="https://huggingface.co/Alissonerdx/LTX-Best-Face-ID/resolve/main/examples/sample_2.mp4" controls autoplay loop muted></video> <video src="https://huggingface.co/Alissonerdx/LTX-Best-Face-ID/resolve/main/examples/sample_3.mp4" controls autoplay loop muted></video> <video src="https://huggingface.co/Alissonerdx/LTX-Best-Face-ID/resolve/main/examples/sample_4.mp4" controls autoplay loop muted></video> <video src="https://huggingface.co/Alissonerdx/LTX-Best-Face-ID/resolve/main/examples/sample_5.mp4" controls autoplay loop muted></video>
The reference latent is concatenated to the video sequence sharing the frame-0 grid (classic IC-LoRA "overlap"). To stop the reference from leaking into / being confused with the generated first frame, each source gets a distinct multiplicative RoPE phase:
phase[d] = source_id · phase_scale · θ^(−d/L) (θ = 10000)
target tokens: source_id = 0 (phase 0, exact no-op)
reference: source_id = 2 (distinct rotary "tag")
This "source tag" lets the model separate who is who in the sequence and strongly improves identity transfer. Because the tag is positional, the same mechanism generalizes to multiple references (source_id = 2, 3, 4, …) for multi-subject conditioning.
TASS-RoPE (Temporal-Adjacent Spatial-Shifted RoPE) is from ST-DRC, Chen et al., Spatial-Temporal Decoupled Reference Conditioning for Identity-Preserving Text-to-Video Generation — arXiv:2606.02441. This LoRA uses an overlap + per-source RoPE-phase variant of that idea.
During training the flow-matching prediction is decoded to pixels, the face is aligned and passed
through ArcFace (buffalo_l w600k_r50), and a cosine identity loss pulls the generated face toward
the reference embedding — the same recognition space used to evaluate identity.
The base model above (and the guidance further down) was trained on close-up face crops — great for identity, but the model never saw the person's actual clothing or body, so it has to invent an outfit rather than reproduce a specific one.
We've since trained a continuation checkpoint on a character-sheet reference instead: a
single image with 4 panels side by side — a face close-up, then full-body front / side / back
views of the same person, all on a white background. It uses the exact same mechanism
(source_id=2, layout=overlap) — it's just a different, richer reference image, so the model
learns to reproduce the reference's clothing and build consistently, not only the face.
This checkpoint continues training from the close-up FaceID LoRA above rather than replacing it — in our tests the combination (close-up identity foundation + character-sheet continuation) gave noticeably better and more consistent results than either recipe trained alone. If you only have a plain headshot, the original close-up model still works well; the character-sheet checkpoint is for when you want the generated video to also match a specific outfit/build.
File: Best_FaceID_CharacterSheet_v1.0_LoRA.safetensors
— use it exactly like the base LoRA above (same node, same source_id=2/layout=overlap), just
swap the reference image for a 4-panel character sheet instead of a headshot, and set
ref_resize_mode = native_resolution (see below). This checkpoint has no ArcFace projector —
its identity/appearance comes entirely from the overlap reference latent, so leave that dropdown
on None.
💡 Identity coming out weak? Load the base
Best_FaceID_v1.0_LoRA.safetensorsalongside this one at a low strength (~0.2 or more) — mixing in some of the base close-up LoRA strengthens identity while the character-sheet LoRA keeps handling clothing/body.
How to build a character sheet (for now): take (or generate) a normal reference photo, then use ChatGPT (or another image-editing model, e.g. Nano-Banana) with this prompt:
"Convert the person in the photo into a character reference sheet with four panels arranged left to right: a close-up of the face, then full-body front, side, and back views, on a white background."
Full write-up (longer prompt variant, gotchas) in character_sheet_prompt.md.
🛠️ We're training a dedicated Flux Klein 9B LoRA to generate these character sheets directly (more consistent, no API needed) — still in training, not released yet. Until it's out, use the prompt above with ChatGPT/gpt-image for the most faithful character sheet.
Usage difference vs. the close-up model: the character-sheet reference must be exactly
1536×1024 — that's the fixed resolution it was trained at, independent of the output video's
resolution. When using the LTX Identity Transfer node with this checkpoint, set
ref_resize_mode = native_resolution (not the default match_target) — otherwise the node
resizes the sheet down to the video's resolution and destroys the facial/clothing detail the model
relies on. This setting doesn't matter for the plain close-up reference, where ref and video share
the same resolution bucket.
| Base model | LTX-2.3 (22B) |
| Method | LoRA (rank 128, alpha 128) |
| Conditioning | overlap reference latent + TASS-RoPE source-phase (source_id=2, phase_scale=1.0) |
| Aux loss | ArcFace identity loss (+ temporal identity consistency) |
| Data | reference-image ↔ video pairs (OpenS2V subset + HuMoSet), close-up / frontal identities |
| Character-sheet continuation | same recipe, continued from the close-up checkpoint on 4-panel character-sheet references (face + front/side/back) |
This model was trained on face-focused reference images. Looking at the training data, every reference follows the same pattern:
Recommendation: for the best identity transfer, give the model a reference that looks like this — crop your image to the face / upper body. Full-body shots, wide shots, or images where the face is small and far away work noticeably worse, because the model never saw references like that during training.
In short: a clean, frontal, well-lit close-up of the face is the ideal reference.
Using a full-body reference instead? See Character-Sheet Reference above — the close-up guidance on this page is specifically for the base checkpoint.
This model was trained on captions in the ref_t2v: format that describe the scene and the
person's action (not just "a person"). Identity in LTX is strongly prompt-driven — the more the
prompt describes, the better the identity holds. For best results:
ref_t2v:.The shared ComfyUI workflow includes a Prompt Enhancer that looks at the reference image (via the model's own multimodal Gemma-3 text encoder) and automatically enriches your prompt with the person's identity attributes — so you don't have to describe them by hand.
Example (enhanced):
ref_t2v: A light-skinned man with long dark-brown hair past his shoulders, narrow rectangular
metal-frame glasses, light blue-gray eyes and light stubble is folding clothes in a laundry room,
medium-wide shot. He places the folded clothes into a basket, then carries it across the room.
Neutral indoor lighting, simple domestic environment.
Requires the BFS Nodes: https://github.com/alisson-anjos/ComfyUI-BFSNodes
custom_nodes/).
Dependencies (insightface, transformers, …) install automatically.ref_resize_mode = native_resolution (see
Character-Sheet Reference).A ready-made workflow JSON is included alongside the model.
The identity node has an optional ArcFace projector dropdown (it projects a face embedding into
extra conditioning tokens). You can leave it on None. In our experiments the projector's
effect was marginal — identity is carried almost entirely by the overlap reference latent (and
the prompt), so the projector adds very little on top and is not required for this model. It is kept
only as an optional extra; skipping it keeps the graph simpler with no meaningful quality loss.
If you use this model, please cite the base model and the technique:
@misc{ltx_best_face_id,
title = {LTX-Best-Face-ID: LTX-2.3 Identity LoRA (Reference-to-Video)},
author = {Alissonerdx},
year = {2026},
howpublished = {\url{https://huggingface.co/Alissonerdx/LTX-Best-Face-ID}}
}
@article{chen2026stdrc,
title = {Spatial-Temporal Decoupled Reference Conditioning for Identity-Preserving Text-to-Video Generation},
author = {Chen, Yuheng and Hu, Teng and Wang, Yuji and He, Qingdong and Ma, Lizhuang and Zhang, Jiangning},
journal = {arXiv preprint arXiv:2606.02441},
year = {2026}
}
buffalo_l.Trained on top of LTX-2.3. Identity supervision via InsightFace ArcFace. ComfyUI integration via the BFS Nodes.