Instructions to use SimonGiebenhain/video-diffusion-avatars with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Wan2.2
How to use SimonGiebenhain/video-diffusion-avatars with Wan2.2:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Notebooks
- Google Colab
- Kaggle
video-diffusion-avatars (VDA): weights and examples
Video Diffusion Avatars: Taming Video Diffusion Models into Controllable 3D Avatars
Expression- and camera-controllable portrait animation on WAN2.2-Animate-14B. Code, installation and usage: https://github.com/SimonGiebenhain/video-diffusion-avatars. Project page: https://simongiebenhain.github.io/video-diffusion-avatars/.
The code downloads everything here with its own commands; you do not need to fetch files by hand:
python download.py weights # the weights below, md5-checked (MD5SUMS.txt)
python download.py examples # examples/ and examples/drivers/
Files
| file | size | what it is |
|---|---|---|
vda_full.safetensors |
1.73 GB | the full model: VDA adapter for WAN2.2-Animate-14B |
vda_fast_base.safetensors, vda_fast_student.safetensors |
1.73 + 2.60 GB | the fast model: base adapter and the distilled 4-step causal student |
xnemo_disentangler.pt |
26 MB | expression disentangler for X-NeMo codes (used inside both models; also standalone) |
text_emb_cache.pt |
17 MB | cached prompt embeddings, so the 11 GB text encoder is not needed |
driving_bank/nersemble8.npz, nersemble8.takes.json, nersemble8_canonical_body.npz |
153 MB | the shipped driving sequence: 8 NeRSemble clips on one canonical person, 1029 frames |
third_party/xnemo_motion_encoder.pth |
247 MB | X-NeMo motion encoder (for your own driving videos), by the X-NeMo authors |
third_party/pipnet/epoch59.pth |
49 MB | PIPNet landmark model (preprocessing), mirrored unchanged |
examples/<NAME>/ |
210 MB in total | 25 precomputed example conditionings: reference image, proxy render, skeleton, expression codes |
examples/drivers/*.mp4 |
9 MB | the example driving videos (NeRSemble performances) |
The public WAN2.2-Animate-14B files are not part of this repository; python download.py base fetches them from their
original source.
Licences
Our weights (vda_*.safetensors, xnemo_disentangler.pt, text_emb_cache.pt) are released under
CC BY-NC-SA 4.0, like the code. They are adapters for
WAN2.2-Animate-14B (Apache-2.0), which you download separately.
| file | licence |
|---|---|
third_party/xnemo_motion_encoder.pth |
CC BY-NC 4.0, the X-NeMo authors |
third_party/pipnet/ |
MIT, the PIPNet authors (see third_party/pipnet/LICENSE) |
driving_bank/, examples/drivers/, examples/*/codes.npy and the driving motion in examples/ |
derived from NeRSemble: use is subject to the NeRSemble terms of use |
Non-commercial use only. See https://github.com/SimonGiebenhain/video-diffusion-avatars for the full licence information and the citation.
Citation
@article{giebenhain2026vda,
title = {Video Diffusion Avatars: Taming Video Diffusion Models into Controllable 3D Avatars},
author = {Giebenhain, Simon and Kirschstein, Tobias and Schoneveld, Liam and
Davoli, Davide and Chen, Zhe and Nie{\ss}ner, Matthias},
journal = {arXiv preprint},
year = {2026}
}