PersonaLive diffusion framework
PersonaLive is a diffusion framework for generating portrait animations.
Verified
Core facts
Read by a script from the official API, not rewritten by a model.
- Repository
- https://github.com/GVCLab/PersonaLive
- License
- Apache-2.0
- Languages
- Python
- Maintainer
- GVCLab
- Homepage
- https://arxiv.org/abs/2512.11253
- Verified
What it is
The authors present PersonaLive as a real-time and streamable diffusion framework capable of generating infinite-length portrait animations. This code is mainly built upon Moore-AnimateAnyone, X-NeMo, StreamDiffusion, RAIN and LivePortrait. EditaLive is the updated version of PersonaLive with both full body animation and editing abilities. PersonaLive is accepted by CVPR2026.
Main features
Offline inference supports a streaming strategy to generate long videos on 12GB VRAM.
The WebUI supports reference image replacement.
ComfyUI-PersonaLive is supported.
The project says that converting the model to TensorRT can significantly speed up inference, by about 2x.
TensorRT optimizations may lead to slight variations or a small drop in output quality.
In offline inference, the streaming generation strategy option is enabled by default.
Getting started
Pre-trained weights of base models and other components can be downloaded, including sd-image-variations-diffusers and sd-vae-ft-mse.
Offline inference can be run with the default configuration.
Building the TensorRT engine may take about 20 minutes depending on the device.
The TensorRT model provided by the project is from an H100.
For RTX 50-Series (Blackwell) users, xformers is not yet fully compatible with the new architecture; to avoid crashes, disable it for offline inference with the official command shown in the code examples of this section.
The WebUI flow is Upload Image, Fuse Reference, Start Animation, Enjoy.
# clone this repo
git clone https://github.com/GVCLab/PersonaLive
cd PersonaLive
# Create conda environment
conda create -n personalive python=3.10
conda activate personalive
# Install packages with pip
pip install -r requirements_base.txtpython tools/download_weights.pypretrained_weights
├── onnx
│ ├── unet_opt
│ │ ├── unet_opt.onnx
│ │ └── unet_opt.onnx.data
│ └── unet
├── personalive
│ ├── denoising_unet.pth
│ ├── motion_encoder.pth
│ ├── motion_extractor.pth
│ ├── pose_guider.pth
│ ├── reference_unet.pth
│ └── temporal_module.pth
├── sd-vae-ft-mse
│ ├── diffusion_pytorch_model.bin
│ └── config.json
├── sd-image-variations-diffusers
│ ├── image_encoder
│ │ ├── pytorch_model.bin
│ │ └── config.json
│ ├── unet
│ │ ├── diffusion_pytorch_model.bin
│ │ └── config.json
│ └── model_index.json
└── tensorrt
└── unet_work.enginepython inference_offline.pypython inference_offline.py --use_xformers False# install Node.js 18+
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
nvm install 18
source web_start.shWho it is for
This project is released for academic research only. Users must not use this repository to generate harmful, defamatory, or illegal content. The Driving FPS setting in the WebUI can be lowered to reduce the computational workload.
The xFormers memory-efficient attention option for offline inference is enabled by default; RTX 50-Series users need to turn it off. The offline inference option for the maximum number of frames to generate has a default of 100. The reference image option sets the path to a specific reference image and overrides settings in config.
The driving video option sets the path to a specific driving video and overrides settings in config. PersonaLive training is organized into three stages. The training dataset should contain a videos directory and a matching boxes directory.
Stage 1 is image-level warm-up. Stage 2 is image-level adversarial refinement. Stage 3 is temporal module fine-tuning for streaming.
For multi-GPU or multi-node training, Accelerate is configured once before launching training. The project releases training code. The project releases inference code, config, and pretrained weights.
Sources
This page is written from the official sources below. Open them to check the original text.
- GitHub READMEhttps://github.com/GVCLab/PersonaLiveFetched
Verified ·
This page is written by AI from the official sources above and checked automatically. This site has not tested it. Found a mistake? Tell us.