Your group photo finally learned to emote in unison
FantasyPortrait animates still portraits with driving-video expressions, handling multiple faces in a single frame instead of processing them one by one.

What it does
FantasyPortrait is an expression-conditioned diffusion transformer built atop the Wan2.1 image-to-video backbone. It takes a still portrait and a driving video, then generates an animated version where the subjects mimic the source expressions. The system handles both single portraits and multi-character images—groups of two, three, or more—without splitting the scene into isolated face crops.
The interesting bit
The authors released the Multi-Expr Dataset, which they bill as the first multi-portrait facial expression video dataset, and the model weights act as emotion-conditioning adapters on top of Wan2.1 rather than a full standalone backbone. The project has also been merged into the ComfyUI-WanVideoWrapper ecosystem for node-based workflows.
Key highlights
- Built on Wan2.1-I2V-14B-720P with additional emotion-conditioning weights
- Supports single-portrait, multi-portrait, and mixed multi-diff inference modes
- Ships with the Multi-Expr Dataset, described by the authors as the first multi-portrait facial expression video dataset
- VRAM footprint is configurable: the published table shows a range from 5 GB to 40 GB on an A100 depending on how many transformer parameters stay resident
- Models and dataset are mirrored on both Hugging Face and ModelScope
Caveats
- Full-speed generation assumes 40 GB of VRAM; the published benchmark shows a 15.5-second-per-iteration pace on an A100 at that tier, dropping to roughly 43 seconds per iteration when constrained to 5 GB.
- It requires the 14B Wan2.1 base model plus flash attention, so this is strictly an offline, heavyweight pipeline.
Verdict
Researchers and ComfyUI artists looking to animate group photos or single portraits with expression control should take a look. If you are hoping to run this on a consumer laptop GPU, the VRAM table suggests you should look elsewhere.
Frequently asked
- What is Fantasy-AMAP/fantasy-portrait?
- FantasyPortrait animates still portraits with driving-video expressions, handling multiple faces in a single frame instead of processing them one by one.
- Is fantasy-portrait open source?
- Yes — Fantasy-AMAP/fantasy-portrait is open source, released under the Apache-2.0 license.
- What language is fantasy-portrait written in?
- Fantasy-AMAP/fantasy-portrait is primarily written in Python.
- How popular is fantasy-portrait?
- Fantasy-AMAP/fantasy-portrait has 511 stars on GitHub.
- Where can I find fantasy-portrait?
- Fantasy-AMAP/fantasy-portrait is on GitHub at https://github.com/Fantasy-AMAP/fantasy-portrait.