Downloads Β· 30 days
0
notevil13/BFS-Best-Face-Swap-Video
BFS-Best-Face-Swap-Video is a image-to-video model from notevil13. Use it for the image-to-video task on the model card, and read the license before you ship it in a product. It is set up for diffusers. The card lists the license as other.
This model is a technical tool designed for Digital Identity Research, Professional VFX Workflows, and Cinematic Prototyping.
Downloads Β· 30 days
0
Access
Public
Updated Apr 9, 2026
Repo size
16.7 GB
Likes
0
Public
Click a slice to open those files.
.safetensors5.9 GB Β· 97%
From the Hugging Face model README
This model is a technical tool designed for Digital Identity Research, Professional VFX Workflows, and Cinematic Prototyping.
By downloading or using this LoRA, you acknowledge and agree to the following:
Generated using the Frame 0 Anchoring Technique. All examples follow the guide video motion while preserving the identity provided in the first frame.
| Example 1 | Example 2 |
|---|---|
| <video src="https://huggingface.co/Alissonerdx/BFS-Best-Face-Swap-Video/resolve/main/examples/1.mp4" controls autoplay loop muted></video> | <video src="https://huggingface.co/Alissonerdx/BFS-Best-Face-Swap-Video/resolve/main/examples/2.mp4" controls autoplay loop muted></video> |
| Example 3 | Example 4 |
|---|---|
| <video src="https://huggingface.co/Alissonerdx/BFS-Best-Face-Swap-Video/resolve/main/examples/3.mp4" controls autoplay loop muted></video> | <video src="https://huggingface.co/Alissonerdx/BFS-Best-Face-Swap-Video/resolve/main/examples/4.mp4" controls autoplay loop muted></video> |
| Example 5 |
|---|
| <video src="https://huggingface.co/Alissonerdx/BFS-Best-Face-Swap-Video/resolve/main/examples/5.mp4" controls autoplay loop muted></video> |
If you want to see the full setup in practice, watch here:
https://www.youtube.com/watch?v=HBp03iu7wLA
The following examples demonstrate the new persistent-template workflow used in V3:
| Example 6 | Example 7 |
|---|---|
| <video src="https://huggingface.co/Alissonerdx/BFS-Best-Face-Swap-Video/resolve/main/examples/6.mp4" controls autoplay loop muted></video> | <video src="https://huggingface.co/Alissonerdx/BFS-Best-Face-Swap-Video/resolve/main/examples/7.mp4" controls autoplay loop muted></video> |
| Example 8 |
|---|
| <video src="https://huggingface.co/Alissonerdx/BFS-Best-Face-Swap-Video/resolve/main/examples/8.mp4" controls autoplay loop muted></video> |
The image references for the versions are stored under:
ltx-2.3/...
To achieve this level of identity transfer, I heavily modified the official LTX-2 training scripts.
Wide shots may reduce identity fidelity.
This version was trained to use Frame 0 as the identity anchor.
You must prepare the first frame correctly.
For best results, prepare Frame 0 using my previous BFS Image Models.
You can experiment with multiple passes using different strengths.
Detailed prompts currently have no effect.
Trigger remains:
head swap
V2 introduces a complete redesign of conditioning strategy and masking logic, significantly improving identity robustness and reducing leakage.
V2 supports multiple identity injection approaches:
Use a clean photo of the new face as reference input.
This method works and can produce strong results. However, because the model must internally reconcile lighting, perspective, depth, and occlusion differences, it may need to fight to correctly integrate the new identity into the guide video. In some cases, this can reduce stability or identity consistency.
Applying a proper head swap on Frame 0 still produces extremely strong and reliable results.
Because the first frame is already structurally correct β pose, lighting, depth, and occlusions β the model has significantly less work to do. Instead of forcing alignment from a static photo, it simply propagates and stabilizes the identity through time.
This approach generally:
The new face is automatically cut and positioned over the guide face using mask alignment. This simulates a magazine-cutout-style overlay, but performed automatically based on mask positioning.
Advanced users may manually composite the new face over Frame 0 before running inference.
Unlike V1:
V2 does not follow the original guide faceβs facial micro-movements.
The guide face is fully masked to prevent identity leakage.
This makes masking quality critical.
Users may alternate between:
In most scenarios, square masks tend to perform better because they provide additional spatial context for the model to reconstruct structure and hair.
If the original guide has long hair and the new identity does not, deformation risk increases.
You may:
β οΈ Important:
A second pass may alter identity from the first pass and reduce consistency in some cases.
Trigger remains:
head swap
V3 introduces a new persistent-template conditioning workflow.
Unlike previous versions, which relied primarily on the identity being established from Frame 0 only, V3 uses a custom guide-video construction step that keeps the new face visible throughout the entire guide sequence.
This results in a much stronger and more persistent identity signal during inference.
Special thanks to facy.ai for sponsoring the GPU used to train this model.
If you want to check their platform, you can use my referral link:
V3 uses a custom node from ComfyUI-BFSNodes to prepare the guide video before inference.
Repository:
https://github.com/alisson-anjos/ComfyUI-BFSNodes
Workflow file:
workflows/workflow_ltx2_head_swap_drag_and_drop_v3.0
The guide-video preparation process works like this:
This means the new identity remains fully visible during all frames of the guide video, instead of appearing only in Frame 0 like in previous versions.
That is the main reason V3 can achieve better consistency than earlier versions.
Because the identity reference stays visible during the full guide sequence, V3 gives the model a much more stable conditioning signal across time.
In practice, this can improve:
This version is especially useful for shots where the face remains visible for longer periods, or where dialogue, mouth movement, and facial acting matter more.
V3 is not just a refinement of the first-frame method. It changes the conditioning logic by giving the model access to a persistent identity template across the entire inference sequence.
Even though the guide video used during inference contains the vertical chroma-key side strip, the final generated result does not include that strip.
The generated video is returned in the original resolution and framing of the source guide video.
So in practice:
For V3, users can also pass the composite guide video into a vision-capable model to extract a structured prompt.
This is useful because the composite video contains two different information sources:
This helps keep identity and action description separated more cleanly.
Analyze this composite video.
The video contains:
1. a side chroma-key panel with a reference face image
2. a main performance video showing the body, clothing, movement, hand actions, objects, framing, and environment
Your task is to extract:
- the target face identity from the side panel
- the performance/action from the main video
Critical rules:
- The side-panel face is the only valid source for identity traits and head-level accessories.
- Ignore the visible face and head appearance in the main video completely.
- Do not describe any face, hair, hairstyle, hair color, eye color, makeup, facial features, facial expression, attractiveness, headwear, hood, hat, or accessories from the main video.
- In the ACTION section, describe the performer only as "a person" and focus only on body movement, clothing, hand actions, objects, framing, and environment.
- Do not mention the chroma panel, green background, split layout, or editing structure.
- Be factual and non-creative.
- Do not guess uncertain details. If a detail is not clearly visible, omit it.
Return exactly in this format:
head_swap:
FACE:
A brief but detailed objective identity description from the side-panel face only. Include, when clearly visible: apparent gender, apparent ethnicity, skin tone or complexion, approximate age range, head shape, hair or baldness pattern, hair color, eye color, facial hair, visible skin details, headwear or head covering, visible facial accessories, and any especially distinctive facial trait. Prioritize the eyes when they are a strong defining feature.
ACTION:
A concise performance description from the main video. Include only: visible clothing, body position, movement, hand actions, objects being shown or handled, camera-facing behavior, framing, and environment. Do not include any face or head appearance from the main video.
Good example:
FACE:
Female, fair skin, approximately 20-30 years old, oval head shape, long wavy vivid blue-violet hair, bright golden-amber eyes with dark defined pupils, no facial hair, smooth skin, and pink flower hair accessories as a distinctive head adornment.
ACTION:
A person in a dark top faces the camera indoors, holds a package of false eyelashes close to the lens, peels one lash from the backing, brings it near the eye area, and examines it while making small hand movements.
Bad example:
ACTION:
A person with long curly blonde braids holds a pair of false eyelashes...
If you want automatic captions or prompt extraction from video, you can also use my Ollama nodes.
Repository:
https://github.com/alisson-anjos/ComfyUI-Ollama-Describer
A useful node for this workflow is:
Ollama Video Describer
This can help generate structured descriptions from the composite guide video and make it easier to build the final prompt for V3.
Trigger remains:
head_swap:
FACE:
....
ACTION:
....
Mask and preparation quality still matter enormously.
Even with improved conditioning, final quality depends on:
If any portion of the original guide identity remains visible where it should not, the model may still reintroduce unwanted traits.
Take time to refine your inputs. Better preparation consistently produces better output than simply increasing LoRA strength.
Advanced users can experiment with combining this LoRA with the native LTX-2 inpainting workflow.
This can help:
When properly combined, inpainting can significantly enhance final output quality, especially in challenging frames.
I strongly recommend testing both LoRAs and comparing the final behavior.
Depending on the guide clip, framing, facial motion, and the kind of result you want, some users may prefer the look or motion style of one version over the other.
In general:
The best version will often depend on the shot and on personal preference.
Maintaining R&D and renting Blackwell GPUs is expensive.
If this project helps you, consider supporting the development of:
Support here: