Ex-Omni: Enabling 3D Facial Animation Generation for Omni-modal Large Language Models
Haoyu Zhang1,
Zhipeng Li2,
Yiwen Guo3β ,
Tianshu Yu1β
1The Chinese University of Hong Kong, Shenzhen
2LIGHTSPEED
3Independent Researcher
β Corresponding Authors
Ex-Omni is an public release for omni-modal response generation. Given text or speech input, the system can produce response text, speech units / decoded audio, and 52-dimensional facial blendshape coefficients, with optional rendering into a talking-face video.
π Table of Contents
ποΈ Repository Structure
.
βββ asset/ # Download the mesh templates here
βββ ckpt/ # Download the checkpoints here
βββ cosyvoice/ # Runtime audio decoder modules
βββ deploy.py # Main Gradio entrypoint
βββ deploy_base.py # Shared inference pipeline and UI logic
βββ ex_omni/
β βββ constants.py # Runtime constants
β βββ flow_inference.py # Audio decoder wrapper
β βββ render_utils.py # Blendshape rendering utilities
β βββ model/
β βββ language_model/ # Omni model wrapper
β βββ speech_encoder/ # Whisper speech encoder
β βββ speech_projector/ # Speech projector
β βββ speech_generator/ # Speech generator
β βββ blendshape_generator/ # Blendshape generator
βββ requirements.txt # Python dependencies
βββ LICENSE.txt # License file
βοΈ Quick Start
Installation
# 1. Create and activate environment
conda create -n Ex-Omni python=3.10 -y
conda activate Ex-Omni
# 2. Install PyTorch (example: CUDA 12.6)
pip install torch torchaudio --index-url https://download.pytorch.org/whl/cu1216
# 3. Install project dependencies
pip install -r requirements.txt
# 4. Install pytorch3d separately according to your CUDA / PyTorch version
# See official pytorch3d installation instructions
Checkpoints and Assets
Prepare the following assets before running inference:
For EmoTalk template, please download the
resources.zipfrom UniTalker and extract theEmoTalk.npzfile. For Claire template, please obtain the original Claire asset yourself and convert it into the.npzformat.
Launch the Demo
python deploy.py \
--model-path ckpt/Ex-Omni \
--flow_ckpt_path ckpt/glm-4-voice-decoder/flow.pt \
--hift_ckpt_path ckpt/glm-4-voice-decoder/hift.pt \
--template_type emotalk \
--port 8080
Then open:
http://localhost:8080
π Acknowledgements
We would like to thank the authors of OpenOmni, LLaMA-Omni2, EmoTalk and UniTalker. Parts of the implementation and overall system design were developed with reference to their open-source release.
π Citation
If you use this project, please cite our paper:
@misc{zhang2026exomnienabling3dfacial,
title={Ex-Omni: Enabling 3D Facial Animation Generation for Omni-modal Large Language Models},
author={Haoyu Zhang and Zhipeng Li and Yiwen Guo and Tianshu Yu},
year={2026},
eprint={2602.07106},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2602.07106},
}
- Downloads last month
- -