Akapulu Labs logo Akapulu Labs Research

LivePortrait

LivePortrait: Efficient Portrait Animation with Stitching and Retargeting Control

LivePortrait — method overview

LivePortrait offers an efficient and controllable system for animating a static portrait image using video-driven motion transfer, uniquely combining large-scale mixed data training and lightweight retargeting modules to achieve real-time performance and high-quality results competitive with diffusion-based methods.

  • talking-head
  • portrait-animation
  • face-animation
  • face-reenactment
  • head-pose
  • blendshape
  • realtime
  • low-latency

Demos

The demos showcase LivePortrait's capability to efficiently animate both human and animal portraits with high fidelity and expressive detail. Watch for smooth, realistic motion transfer from driving videos to source portraits, and pay attention to the stitching and retargeting controls that preserve identity and enhance animation quality. The examples demonstrate versatility across species and reflect the system's potential for real-time applications and creative portrait manipulation.

Authors: Jianzhu Guo, Dingyun Zhang, Xiaoqiang Liu, Zhizhou Zhong, Yuan Zhang, Pengfei Wan, Di Zhang

Categories: cs.CV

Published 2024-07-03 · Updated 2025-02-28

Abstract

Portrait Animation aims to synthesize a lifelike video from a single source image, using it as an appearance reference, with motion (i.e., facial expressions and head pose) derived from a driving video, audio, text, or generation. Instead of following mainstream diffusion-based methods, we explore and extend the potential of the implicit-keypoint-based framework, which effectively balances computational efficiency and controllability. Building upon this, we develop a video-driven portrait animation framework named LivePortrait with a focus on better generalization, controllability, and efficiency for practical usage. To enhance the generation quality and generalization ability, we scale up the training data to about 69 million high-quality frames, adopt a mixed image-video training strategy, upgrade the network architecture, and design better motion transformation and optimization objectives. Additionally, we discover that compact implicit keypoints can effectively represent a kind of blendshapes and meticulously propose a stitching and two retargeting modules, which utilize a small MLP with negligible computational overhead, to enhance the controllability. Experimental results demonstrate the efficacy of our framework even compared to diffusion-based methods. The generation speed remarkably reaches 12.8ms on an RTX 4090 GPU with PyTorch. The inference code and models are available at https://github.com/KwaiVGI/LivePortrait


Introduction

LivePortrait is a video-driven portrait animation system designed to synthesize a realistic animated portrait from a single source image while preserving identity, transferring motion from a driving video, and remaining fast enough for practical interactive use. The paper positions itself against two dominant families of prior work: diffusion-based approaches, which are visually strong but expensive and often less precise to control, and earlier implicit-keypoint warping methods, which are efficient and controllable but typically limited in generalization and fine-grained expression control. LivePortrait’s central thesis is that the implicit-keypoint framework can be pushed much further with better data, a stronger architecture, improved motion parameterization, and lightweight control modules.

The paper’s main contributions are threefold. First, it substantially upgrades an implicit-keypoint portrait animation backbone using large-scale data, mixed image-video training, a new motion transform with explicit scaling, a landmark-guided keypoint optimization term, and cascaded reconstruction/adversarial losses. Second, it introduces the idea that compact implicit keypoints behave like a kind of implicit blendshape basis, and uses this to build a stitching module plus eyes and lip retargeting modules with negligible overhead. Third, it demonstrates strong empirical performance on self-reenactment and cross-reenactment, with a reported PyTorch inference speed of 12.8 ms on an RTX 4090.

Qualitative portrait animation results from our model. Given a static portrait image as input, our model can vividly animate it, ensuring seamless stitching and offering precise control over eyes and lip movements.
Qualitative portrait animation results from our model. Given a static portrait image as input, our model can vividly animate it, ensuring seamless stitching and offering precise control over eyes and lip movements.

Problem setting and positioning

The task is portrait animation: given a source portrait image $I_s$ that provides appearance and a driving video sequence that provides motion, synthesize a target video in which facial expressions, head pose, and related motion signals are transferred to the source identity. The paper explicitly focuses on video-driven animation, while noting that portrait animation can also be driven by audio, text, or generation in broader settings. LivePortrait chooses not to use diffusion as its core generation engine. Instead, it extends a warping-based implicit-keypoint formulation so that the method retains the low computational cost of earlier non-diffusion systems while improving generalization, controllability, and perceptual quality.

In the related-work framing, the authors distinguish the method from diffusion-based systems such as FADM, Face Adapter, AniPortrait, X-Portrait, and MegActor, which tend to be slower and less precise for controllable motion editing. They also position it relative to earlier implicit-keypoint methods such as FOMM, MRAA, Face Vid2vid, IWA, TPSM, DaGAN, and MCNet. The paper’s claimed advantage is that LivePortrait preserves the efficiency and explicit control surface of implicit-keypoint methods while approaching or exceeding the visual quality of diffusion-based competitors in several metrics.

Method overview

LivePortrait is built as a two-stage training system on top of the Face Vid2vid-style implicit-keypoint pipeline. The first stage trains a strong base model for motion transfer and image synthesis. The second stage freezes the base components and learns small MLP-based control modules for stitching and retargeting. At inference time, the modules can be used independently or combined additively through a simple indicator-based control scheme.

Core representation: implicit keypoints as motion carriers

The method uses canonical implicit keypoints and motion parameters to describe the source and driving frames. In the original Face Vid2vid formulation, the source and driving 3D keypoints are written as

$$x_s = x_{c,s} R_s + \delta_s + t_s, \qquad x_d = x_{c,s} R_d + \delta_d + t_d,$$

where $x_{c,s}$ are canonical keypoints, $R$ is pose, $\delta$ is expression deformation, and $t$ is translation. LivePortrait modifies this transformation to include explicit scale factors:

$$x_s = s_s \cdot (x_{c,s} R_s + \delta_s) + t_s, \qquad x_d = s_d \cdot (x_{c,s} R_d + \delta_d) + t_d.$$

The paper argues that leaving scale implicit makes scale effects leak into expression deformation, which increases learning difficulty and can induce texture flickering when transferring across identities. By separating scale from expression deformation, the model trades some flexibility for better drivability and stability.

During inference, the driving keypoints are further transformed relative to the source identity and a reference driving frame:

$$x_{d,i} = s_s \cdot \frac{s_{d,i}}{s_{d,0}} \cdot \big(x_{c,s}(R_{d,i}R_{d,0}^{-1}R_s) + (\delta_s + \delta_{d,i} - \delta_{d,0})\big) + (t_s + t_{d,i} - t_{d,0}).$$

This formulation is intended to normalize motion over time, preserve scale consistency, and stabilize reenactment across frames.

Stage I: base model training

The first stage strengthens the backbone using a large-scale and carefully curated training corpus. The authors use public video datasets such as VoxCeleb, MEAD, and RAVDESS, plus the styled image dataset AAHQ. They also collect a large internal set of 4K portrait videos, about 200 hours of talking-head videos, private LightStage data, and additional styled portrait videos and images. Videos are split into clips shorter than 30 seconds, face tracking and recognition ensure one person per clip, and KVQ filtering removes low-quality clips. The resulting training data contains about 69 million frames from about 18.9K identities and 60K static styled portraits before/after filtering as described in the paper.

A particularly important design choice is mixed image-video training. The authors observe that realistic video data alone does not generalize well to styled portraits such as anime. Because styled portrait videos are scarce while styled portrait images are plentiful, the model treats single images as one-frame video clips and trains jointly on images and videos. This lets the model learn from the diversity of the static portrait corpus while retaining motion learning from video.

The original Face Vid2vid submodules for canonical keypoint detection, head pose estimation, and expression deformation estimation are unified into a single motion module $\mathcal{M}$, implemented with a ConvNeXt-V2-Tiny backbone. The generator is upgraded to a SPADE decoder, which the authors consider more powerful than the original decoder. A PixelShuffle layer is appended so the output resolution can be upsampled from $256\times256$ to $512\times512$.

Training objective design is also expanded. In addition to the original Face Vid2vid losses—equivariance loss $\mathcal{L}_E$, keypoint prior $\mathcal{L}_L$, head-pose loss $\mathcal{L}_H$, and deformation prior loss $\mathcal{L}_\Delta$—LivePortrait adds cascaded perceptual and GAN losses on global, face, and lip regions, plus a face-identity loss $\mathcal{L}_{\text{faceid}}$. The landmark-guided keypoint optimization loss $\mathcal{L}_{\text{guide}}$ uses 10 selected eye and lip landmarks with Wing loss to encourage more precise learning of micro-expressions such as eye motion and winking.

The overall stage-I objective is

$$\mathcal{L}_{\text{base}} = \mathcal{L}_E + \mathcal{L}_L + \mathcal{L}_H + \mathcal{L}_\Delta + \mathcal{L}_{P,\text{cascade}} + \mathcal{L}_{G,\text{cascade}} + \mathcal{L}_{\text{faceid}} + \mathcal{L}_{\text{guide}}.$$

Pipeline of the first stage: base model training. The appearance and motion extractors, the warping module, and the decoder are optimized. In this stage, models are trained from scratch. Please refer to the base model training details.
Pipeline of the first stage: base model training. The appearance and motion extractors, the warping module, and the decoder are optimized. In this stage, models are trained from scratch. Please refer to the base model training details.

Stage II: stitching and retargeting

The second stage is the paper’s key controllability contribution. The authors observe that compact implicit keypoints can function like a learned expression basis, analogous to a blendshape set. Instead of explicitly designing a large control system, they show that a small MLP can learn useful deformation offsets with negligible computational overhead. They therefore train three lightweight modules: a stitching module, an eyes retargeting module, and a lip retargeting module.

The stitching module is intended to align the animated portrait back into the original image space, especially around the shoulder region, so pasted-back results do not exhibit visible misalignment. This is crucial when the original image is larger than the cropped face region, and it also enables multi-person portraits or full-body images to be handled more gracefully. During stage-II training, the model deliberately uses cross-identity driving motions for stitching, making the task harder and improving generalization.

The stitching module $\mathcal{S}$ takes source and driving keypoints and predicts a deformation offset $\Delta_{st}$, after which the driving keypoints become $x'_{d,st}=x_d+\Delta_{st}$. The predicted image is compared with a self-reconstruction image, and the loss is a consistency term outside the shoulder mask plus an $L_1$ regularizer:

$$\mathcal{L}_{st} = \| (I_{p,st} - I_{p,recon}) \odot (1 - M^{st}(I_s)) \|_1 + w^{st}_{reg} \|\Delta_{st}\|_1.$$

The retargeting modules operate similarly. The eyes module receives the source keypoints $x_s$, a source eye-open condition tuple $c_{s,eyes}$, and a target scalar $c_{d,eyes} \in [0,0.8]$. The lip module receives $x_s$, $c_{s,lip}$, and a target scalar $c_{d,lip} \in [0,0.8]$. Each module predicts a deformation offset that modifies the keypoints so the generated face matches the desired eye-open or lip-open extent. Their losses include a masked consistency term, a condition-matching term that pushes the predicted condition toward the target scalar, and an $L_1$ regularizer on the offset.

During training, the predicted condition is forced toward the sampled target using a term of the form $\|c^p - c_d\|_1$. The paper reports that the chosen target range $[0,0.8]$ works well, but out-of-distribution values can also produce reasonable results in examples, such as $-0.2$ for more extreme eye or lip closure/opening.

The stage-II modules are tiny: the stitching MLP has layer sizes $[126,128,128,64,65]$, the eyes retargeting MLP has $[66,256,256,128,128,64,63]$, and the lip retargeting MLP has $[65,128,128,64,63]$. The paper emphasizes that the compute cost of these modules is negligible compared with the base network.

Pipeline of the second stage: stitching and retargeting modules training. After training the base model in the first stage, the appearance and motion extractor, warpping module and decoder are frozen. Only the stitching module and the retargeting modules are optimized in the second stage. Please refer to the stitching and retargeting details.
Pipeline of the second stage: stitching and retargeting modules training. After training the base model in the first stage, the appearance and motion extractor, warpping module and decoder are frozen. Only the stitching module and the retargeting modules are optimized in the second stage. Please refer to the stitching and retargeting details.

Inference procedure and module composition

At inference, the source image is encoded once into an appearance feature volume $f_s$ and canonical keypoints $x_{c,s}$. For each driving frame, the system extracts motion parameters and the eye/lip condition scalars. The optional modules are then composed using indicator variables $\alpha_{st}$, $\alpha_{eyes}$, and $\alpha_{lip}$. The paper’s inference logic is deliberately simple:

  • If all indicators are off, the driving keypoints are used directly.
  • If stitching alone is enabled, the driving keypoints are first adjusted by the stitching module.
  • If eyes or lip retargeting is enabled, the corresponding deformation offsets are added to the source keypoints.
  • If stitching is also enabled in the retargeting case, stitching is applied after retargeting.

The key point is that the offsets from eyes and lips are decoupled and can be added linearly, which the authors use to argue that the control factors are learned as separate modes of motion.

The method summary figure in the paper shows that the base model itself already yields animated portraits, while the control modules add practical improvements for aligned compositing and fine-grained expression adjustment.

Qualitative comparisons of self-reenactment. The first four source-driving paired images are from TalkingHead-1KH and the last ones are from VFHQ. Our model faithfully preserves lip movements and eye gazes, handles large poses more stably, and maintains the identity of the source portrait better compared to other methods.
Qualitative comparisons of self-reenactment. The first four source-driving paired images are from TalkingHead-1KH and the last ones are from VFHQ. Our model faithfully preserves lip movements and eye gazes, handles large poses more stably, and maintains the identity of the source portrait better compared to other methods.

Training details

The paper is unusually explicit about training cost and optimization settings. Stage I is trained from scratch on 8 NVIDIA A100 GPUs for about 10 days. Stage II, in which only the stitching and retargeting modules are optimized, takes about 2 days. Input images are aligned and cropped to $256\times256$, the batch size is 104, and the output resolution is $512\times512$. Training uses Adam with learning rate $2\times10^{-4}$, $\beta_1=0.5$, and $\beta_2=0.999$.

The authors describe the training cost of the control modules as negligible relative to the base model. This matters because LivePortrait’s practical advantage depends not only on quality but on maintaining near-real-time performance.

Evaluation protocol and benchmarks

The paper evaluates both self-reenactment and cross-reenactment. For self-reenactment, the source is the first frame of the test video, and the remaining frames are both the driving sequence and the ground truth. The official test split of TalkingHead-1KH and VFHQ is used. For cross-reenactment, the first 50 images from FFHQ serve as source portraits.

The metrics are broad and cover fidelity, identity preservation, pose/expression accuracy, and motion accuracy:

  • PSNR, SSIM, LPIPS, and $L_1$ measure pixel/perceptual similarity to ground truth in self-reenactment.
  • FID measures distributional image realism against real FFHQ frames.
  • CSIM measures face-identity similarity using ArcFace embeddings.
  • AED measures expression-parameter error from SMIRK.
  • APD measures pose-parameter error from SMIRK.
  • MAE measures eyeball direction error.

For cross-reenactment, the authors note that driving sequence lengths are sampled differently for TalkingHead-1KH and VFHQ, and that X-Portrait is particularly sensitive to insufficient driving length. They therefore use longer driving sequences for X-Portrait comparisons than for the other methods.

Quantitative results

Across the reported benchmarks, LivePortrait is competitive or best on most metrics while keeping inference efficient. A subtle but important nuance is that the model is not universally best on every score: on cross-reenactment it is not the top method on FID for TalkingHead-1KH, and it does not maximize CSIM on the cross-reenactment benchmarks. However, it offers a strong quality-efficiency tradeoff and better temporal stability than diffusion-based baselines.

Self-reenactment on TalkingHead-1KH

Method PSNR ↑ SSIM ↑ LPIPS ↓ $L_1$ ↓ CSIM ↑ MAE (°) ↓
FOMM31.06810.76200.12010.04190.880510.1745
Face Vid2vid30.84380.77430.09400.04320.877410.8117
DaGAN31.36570.79030.09690.03890.879811.8655
MCNet32.00130.80420.10180.03490.887610.9035
TPSM31.29340.79650.09900.03950.88489.6036
FADM30.21410.76950.10490.04840.870811.4484
AniPortrait31.46690.71440.09220.04700.855012.0807
X-Portrait31.27160.71930.10070.04870.87739.2335
Ours32.00820.81930.06640.03470.91257.0535

Self-reenactment on VFHQ

Method PSNR ↑ SSIM ↑ LPIPS ↓ $L_1$ ↓ CSIM ↑ MAE (°) ↓
FOMM30.59120.70980.14100.05050.870010.9327
Face Vid2vid30.51660.72470.11320.05000.877511.1500
DaGAN30.70380.73150.12580.04810.874711.2051
MCNet31.34590.75400.12090.04290.88499.6634
TPSM31.02620.74760.11770.04660.88849.8169
FADM30.09320.71800.12520.05350.870711.7523
AniPortrait30.90130.67180.10730.05420.857014.2411
X-Portrait30.58400.64790.13120.06270.87219.3846
Ours31.56160.76530.07980.04220.91216.6966

Cross-reenactment on TalkingHead-1KH

Method FID ↓ CSIM ↑ AED ↓ APD ↓ MAE (°) ↓
FOMM90.80680.30570.79340.041118.3946
Face Vid2vid82.90660.36870.82850.055920.2687
DaGAN81.11100.29370.76360.040521.0156
MCNet89.32180.28630.71630.037517.0721
TPSM80.54360.32890.74920.038717.4371
FADM95.40430.37550.81580.052518.8346
AniPortrait47.87390.37330.91270.045019.7136
X-Portrait60.79630.58430.83920.107020.9344
Ours58.03700.39090.67720.033314.7946

Cross-reenactment on VFHQ

Method FID ↓ CSIM ↑ AED ↓ APD ↓ MAE (°) ↓
FOMM94.16400.20110.73740.033618.6282
Face Vid2vid83.88910.23600.78910.047019.9852
DaGAN82.62550.19690.71080.033420.6918
MCNet89.96940.19070.65450.032917.3642
TPSM77.58670.21970.67000.029016.8058
FADM98.25160.24730.78110.043818.9776
AniPortrait70.80770.25380.90180.050120.1085
X-Portrait58.67310.58810.84630.122622.5937
Ours56.41650.26060.64760.027113.3464

What the metrics suggest

On self-reenactment, the method is particularly strong: it reports the best PSNR, SSIM, LPIPS, $L_1$, CSIM, and MAE on both TalkingHead-1KH and VFHQ among the listed methods. On cross-reenactment, it is also very strong in expression, pose, and motion accuracy: the reported AED, APD, and MAE are the best in both datasets, while FID is best only in some baselines, reflecting the usual realism-versus-control tradeoff in generative evaluation. The paper highlights that diffusion methods can occasionally achieve competitive image realism but often suffer from slower inference and poorer temporal consistency.

Qualitative comparisons of cross-reenactment. The first three source portraits are from FFHQ and the last two are celebrities. Driving portraits are randomly selected from TalkingHead-1KH, VFHQ and NeRSemble. We present the animated portraits without stitching in the cropping space, as well as the final results after stitching and pasting back into the original image space. Similar to self-reenactment, our model better transfers lip movements and eye gazes from another person, while maintaining the identity of the source portrait.
Qualitative comparisons of cross-reenactment. The first three source portraits are from FFHQ and the last two are celebrities. Driving portraits are randomly selected from TalkingHead-1KH, VFHQ and NeRSemble. We present the animated portraits without stitching in the cropping space, as well as the final results after stitching and pasting back into the original image space. Similar to self-reenactment, our model better transfers lip movements and eye gazes from another person, while maintaining the identity of the source portrait.
Temporal consistency comparisons with diffusion-based methods. These three cases are from VFHQ and TalkingHead-1KH test sets. Our animation results are in the original image space with stitching. Within the vertical circles, the statue disappears in the subsequent animated frames of FADM, there are pedestrian-like unnatural background movements in the animated results of AniPortrait, and the red banner disappears in some frames of MegActor. Within the horizontal circles, there are hand-waving-like unnatural foreground movements in the animated images of both AniPortrait and MegActor, while the patterns on the clothing change in the animated images of X-Portrait.
Temporal consistency comparisons with diffusion-based methods. These three cases are from VFHQ and TalkingHead-1KH test sets. Our animation results are in the original image space with stitching. Within the vertical circles, the statue disappears in the subsequent animated frames of FADM, there are pedestrian-like unnatural background movements in the animated results of AniPortrait, and the red banner disappears in some frames of MegActor. Within the horizontal circles, there are hand-waving-like unnatural foreground movements in the animated images of both AniPortrait and MegActor, while the patterns on the clothing change in the animated images of X-Portrait.

Ablations and analysis

The paper’s ablation section is primarily qualitative, but it is carefully targeted to show why each control module matters.

Stitching

The stitching module solves a practical but important problem: the animated face crop may not align with the shoulder region of the source image when pasted back into the original canvas. Without stitching, the driven shoulder position follows the driving frame and can produce obvious spatial misalignment in the original image space. With stitching, the animated person is force-aligned to the cropped source portrait while preserving motion and appearance. This makes the method suitable for larger portraits, full-body images, and multi-person photos.

Ablation study of the stitching. The first block shows the comparisons of stitching in the cropping image space, and the second block shows the comparisons after mapping into the original image space. The misalignment is apparent without stitching, especially in the shoulder region.
Ablation study of the stitching. The first block shows the comparisons of stitching in the cropping image space, and the second block shows the comparisons after mapping into the original image space. The misalignment is apparent without stitching, especially in the shoulder region.

Eyes retargeting

The eyes retargeting module addresses incomplete eye closure and weak eye motion transfer in cross-identity reenactment. The paper shows that a source portrait can be driven by a user-chosen eye-open scalar even without any driving video, and the motion affects the rest of the face minimally. This demonstrates direct controllability over eye openness rather than merely reproducing the driving person’s eye dynamics. The authors also show that the module works in cross-reenactment where the source eyes are much larger than those of the driver; the retargeting makes the closing motion sufficiently strong to transfer the intended eye behavior.

Examples and ablation study of our eyes retargeting. The first block shows the eyes-open controllability of our model on the source image without any driving frames. The second block demonstrates the ability of eye retargeting in cross-reenactment, especially when the eyes of the source person are much larger than the driving one. For clarity, the animated results adopt the source head rotation.
Examples and ablation study of our eyes retargeting. The first block shows the eyes-open controllability of our model on the source image without any driving frames. The second block demonstrates the ability of eye retargeting in cross-reenactment, especially when the eyes of the source person are much larger than the driving one. For clarity, the animated results adopt the source head rotation.

Lip retargeting

The lip retargeting module is analogous to the eye module, but for mouth openness. It can animate the source portrait from closed lips to fully open lips using a target scalar, again with little effect on other regions. The authors also show that out-of-training-range targets can still yield reasonable outputs, and that wide mouth opening can even produce a tongue. In a second example, the module helps transfer a closing-mouth motion when the source’s mouth openness differs significantly from the driver’s.

Examples and ablation study of the lip retargeting. Similar to eye retargeting, these two blocks show our controllability conditioned on arbitrary lip-open scalars, either randomly sampled or extracted from driving frames.
Examples and ablation study of the lip retargeting. Similar to eye retargeting, these two blocks show our controllability conditioned on arbitrary lip-open scalars, either randomly sampled or extracted from driving frames.

Simultaneous eye and lip retargeting

The paper explicitly asks whether the eye and lip retargeting modules can act simultaneously. The answer is yes: the two offsets can be added together at inference, and the resulting portrait can respect both target eye openness and target mouth openness. This is used as evidence that the retargeting factors are reasonably disentangled, even though the modules are trained independently.

Examples of simultaneous eyes and lip retargeting. Given driving eyes-open and lip-open scalars simultaneously, the animated results from the source image suggest that eye and lip retargeting can be effective simultaneously, even though these two retargeting modules are trained independently.
Examples of simultaneous eyes and lip retargeting. Given driving eyes-open and lip-open scalars simultaneously, the animated results from the source image suggest that eye and lip retargeting can be effective simultaneously, even though these two retargeting modules are trained independently.

Additional capabilities reported in the appendix

The appendix broadens the paper’s scope beyond the core video-driven portrait-animation benchmark and shows how the same framework can be reused in several related settings.

Multi-person portrait animation

Because stitching enables each face to be aligned back into the original image space, the method can animate multiple subjects in a group photo separately. The paper shows examples where a different driving frame is associated with each person, demonstrating that the system is not restricted to a single centered face crop.

Multi-person portrait animation examples. Given a group photo of several subjects and a driving video sequence, our model can animate each subject with the stitching applied. The driving frame corresponding to each animated image is located in the left-down corner of the animated image.
Multi-person portrait animation examples. Given a group photo of several subjects and a driving video sequence, our model can animate each subject with the stitching applied. The driving frame corresponding to each animated image is located in the left-down corner of the animated image.

Audio-driven portrait animation

The authors state that the model can be extended to audio-driven animation by regressing or generating motion parameters from audio. In the appendix example, they encode audio with Whisper and then use a transformer-based framework, following FaceFormer, to autoregress motions such as expression deformations and head pose. The examples shown indicate that lip motion can be accurately driven by audio input while retaining stitching.

Audio-driven examples. This figure presents two examples of audio-driven portrait animation with stitching applied. The lip movements can be accurately driven by the audios input.
Audio-driven examples. This figure presents two examples of audio-driven portrait animation with stitching applied. The lip movements can be accurately driven by the audios input.

Generalization to animals

The paper claims that the model can generalize to animals such as cats and dogs after fine-tuning on a small animal-portrait dataset combined with the original data. For this setting, the head-pose loss, lip GAN loss, and face-identity loss are removed because the corresponding human-specific assumptions do not transfer cleanly to animal faces. The authors show that human driving videos can still animate these animals after fine-tuning.

Animal animation examples. We show the animation results of a Ragdoll cat and a Corgi dog, with driving motions derived from human videos.
Animal animation examples. We show the animation results of a Ragdoll cat and a Corgi dog, with driving motions derived from human videos.

Portrait video editing

LivePortrait can also be adapted to edit a source video sequence by re-animating only the head region while preserving the non-head regions of the original video. In this mode, the source and driving keypoints are computed per frame, and the driving expression offsets are temporally smoothed by averaging adjacent driving frames: $0.5\cdot(\delta_{d,i}+\delta_{d,i+1})$. The example shown in the appendix suggests that the edited frames inherit expressions from the driving video but keep the rest of the source video intact.

Portrait video editing examples. Given a source video sequence, such as a dancing video, our model can re-animate the head part using a driving video sequence. The edited video frame inherits the expression from the driving frame while preserving the non-head regions from the source frame.
Portrait video editing examples. Given a source video sequence, such as a dancing video, our model can re-animate the head part using a driving video sequence. The edited video frame inherits the expression from the driving frame while preserving the non-head regions from the source frame.

Limitations and ethics

The paper is explicit about two limitations. First, the current model struggles in cross-reenactment scenarios with large pose variation. Second, significant shoulder motion in the driving video can still cause jitter with some probability. These are important because the stitching module is aimed at spatial alignment, but large geometric changes still remain challenging.

The authors also discuss ethics. Portrait animation can be misused for deepfakes, so responsible use and ethical guidelines are necessary. They note that the current outputs still contain some visual artifacts, which may help in identifying synthesized media, but this is not framed as a defense mechanism.

Conclusion

LivePortrait shows that an implicit-keypoint warping framework, when scaled with better data, stronger motion modeling, a stronger decoder, landmark guidance, and lightweight control heads, can remain highly competitive with diffusion-based portrait animation methods while being much faster and more controllable. The reported performance is strong on both self-reenactment and cross-reenactment, the control modules are tiny, and the system runs at 12.8 ms per frame on an RTX 4090 under PyTorch. The paper’s broader takeaway is that practical portrait animation may not require a full diffusion stack if the motion representation and control surfaces are carefully designed.

Code & Implementation

This repository implements the LivePortrait framework described in the paper for efficient portrait animation driven by video or other inputs.

The main entrypoint for inference is the inference.py script, which sets up configuration objects and executes the core animation pipeline.

The core logic resides in the src/live_portrait_pipeline.py module, where the LivePortraitPipeline class orchestrates the loading and preprocessing of source and driving images/videos, the generation of motion templates, and the animation process itself through the LivePortraitWrapper.

The pipeline handles source input formats (images or videos), driving inputs (videos or motion templates), cropping, motion transformation, and stitching to produce the animated portrait output as described in the paper.

The design leverages efficient implicit keypoint representations and compact MLP modules for motion control, matching the paper's focus on generalization, controllability, and high-speed inference.