无限时长数字人视频生成 · 音频驱动口型同步
⭐ 5.9K Star · 开源免费InfiniteTalk 是由 MeiGen-AI 团队开源的无限时长数字人视频生成框架。只需一张照片和一段音频,即可生成高度逼真的说话视频,支持精准口型同步、头部动作、身体姿态和面部表情跟随音频驱动,且支持无限时长生成。
基于 Wan2.1-I2V-14B 基座模型,InfiniteTalk 提出了创新的稀疏帧视频配音框架,在口型准确性和身份保持方面大幅超越传统方案。
--num_persistent_param_in_dit 0 参数或量化模式(FP8)来降低显存占用。conda create -n multitalk python=3.10
conda activate multitalk
pip install torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 --index-url https://download.pytorch.org/whl/cu121
pip install -U xformers==0.0.28 --index-url https://download.pytorch.org/whl/cu121
pip install misaki[en]
pip install ninja psutil packaging wheel
pip install flash_attn==2.7.4.post1
pip install -r requirements.txt
conda install -c conda-forge librosa ffmpeg
需要下载 3 个模型:基座模型、音频编码器、InfiniteTalk 权重
huggingface-cli download Wan-AI/Wan2.1-I2V-14B-480P --local-dir ./weights/Wan2.1-I2V-14B-480P
huggingface-cli download TencentGameMate/chinese-wav2vec2-base --local-dir ./weights/chinese-wav2vec2-base
huggingface-cli download MeiGen-AI/InfiniteTalk --local-dir ./weights/InfiniteTalk
python generate_infinitetalk.py \
--ckpt_dir weights/Wan2.1-I2V-14B-480P \
--wav2vec_dir weights/chinese-wav2vec2-base \
--infinitetalk_dir weights/InfiniteTalk/single/infinitetalk.safetensors \
--input_json examples/single_example_image.json \
--size infinitetalk-480 \
--sample_steps 40 \
--mode streaming \
--motion_frame 9 \
--save_file infinitetalk_res
将 --size 参数改为 infinitetalk-720 即可输出 720P 视频。
添加 --num_persistent_param_in_dit 0 参数可大幅降低显存占用。
将模型路径改为 weights/InfiniteTalk/multi/infinitetalk.safetensors 即可支持多人场景。
python app.py \
--ckpt_dir weights/Wan2.1-I2V-14B-480P \
--wav2vec_dir weights/chinese-wav2vec2-base \
--infinitetalk_dir weights/InfiniteTalk/single/infinitetalk.safetensors \
--num_persistent_param_in_dit 0 \
--motion_frame 9
使用 --num_persistent_param_in_dit 0 参数启动低显存模式,或使用 --quant fp8 量化模式进一步降低显存占用。
支持 480P 和 720P 两种分辨率。使用 --size infinitetalk-480 或 --size infinitetalk-720 切换。
理论上无限长!默认最大帧数为 1000 帧(约 40 秒),可通过 --max_frame_num 参数调整。streaming 模式支持无限长度生成。
超过 1 分钟的视频可能出现色偏。一个技巧是将输入图片转换为短视频(平移或缩放),可以显著改善长视频质量。