InfiniteTalk 使用教程

InfiniteTalk 使用教程

项目简介

InfiniteTalk 是由 MeiGen-AI 团队开源的无限时长数字人视频生成框架。只需一张照片和一段音频,即可生成高度逼真的说话视频,支持精准口型同步、头部动作、身体姿态和面部表情跟随音频驱动,且支持无限时长生成。

基于 Wan2.1-I2V-14B 基座模型,InfiniteTalk 提出了创新的稀疏帧视频配音框架,在口型准确性和身份保持方面大幅超越传统方案。

💡
GitHub 地址:
https://github.com/MeiGen-AI/InfiniteTalk

核心亮点

💬 精准口型同步
不仅嘴型精准,还同步头部、身体和表情
♾️ 无限时长生成
突破传统短视频限制,音频多长视频多长
📸 图片驱动
一张照片 + 一段音频即可生成说话视频
👥 多人动画
支持多人场景的同时动画生成

环境要求

  • 操作系统:Linux(推荐 Ubuntu 20.04+)
  • Python:3.10
  • CUDA:12.1
  • GPU:NVIDIA GPU(推荐 24GB+ 显存,低显存可用量化模式)
  • PyTorch:2.4.1

⚠️ 低显存用户可使用 --num_persistent_param_in_dit 0 参数或量化模式(FP8)来降低显存占用。

安装步骤

步骤 1
创建 Conda 环境并安装 PyTorch
bash
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
步骤 2
安装 Flash Attention
bash
pip install misaki[en]
pip install ninja psutil packaging wheel
pip install flash_attn==2.7.4.post1
步骤 3
安装其他依赖
bash
pip install -r requirements.txt
conda install -c conda-forge librosa ffmpeg
步骤 4
下载模型权重

需要下载 3 个模型:基座模型、音频编码器、InfiniteTalk 权重

bash
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

使用方法

单 GPU 推理(480P)

bash
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

720P 高分辨率

将 --size 参数改为 infinitetalk-720 即可输出 720P 视频。

低显存模式

添加 --num_persistent_param_in_dit 0 参数可大幅降低显存占用。

多人动画

将模型路径改为 weights/InfiniteTalk/multi/infinitetalk.safetensors 即可支持多人场景。

Gradio Web UI

bash
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

✅ 启动后打开浏览器访问 Gradio 界面,可视化操作上传图片和音频,一键生成数字人视频。

常见问题

Q: 显存不够怎么办?

使用 --num_persistent_param_in_dit 0 参数启动低显存模式,或使用 --quant fp8 量化模式进一步降低显存占用。

Q: 支持哪些分辨率?

支持 480P 和 720P 两种分辨率。使用 --size infinitetalk-480 或 --size infinitetalk-720 切换。

Q: 生成的视频最长可以多长?

理论上无限长!默认最大帧数为 1000 帧(约 40 秒),可通过 --max_frame_num 参数调整。streaming 模式支持无限长度生成。

Q: 长视频有色偏问题怎么办?

超过 1 分钟的视频可能出现色偏。一个技巧是将输入图片转换为短视频(平移或缩放),可以显著改善长视频质量。

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享