美团 AI 开源!一段音频驱动无限时长说话视频,嘴唇/头部/表情全同步,支持 ComfyUI 一键部署

美团 AI 开源!一段音频驱动无限时长说话视频,嘴唇/头部/表情全同步,支持 ComfyUI 一键部署

一句话介绍:InfiniteTalk 是美团 MeiGen-AI 团队开源的音频驱动视频生成框架,基于 Wan2.1-14B 大模型,支持图片/视频转说话视频,无限时长生成,嘴唇、头部动作、身体姿态、面部表情全部跟着音频走。

目录

  • [1. 先看效果:这不是换脸,是全身都在"说话"](#1. 先看效果:这不是换脸,是全身都在"说话")
  • [2. 它能做什么?核心特性](#2. 它能做什么?核心特性)
  • [3. 技术架构:稀疏帧视频配音框架](#3. 技术架构:稀疏帧视频配音框架)
  • [4. 快速上手:安装 + 推理](#4. 快速上手:安装 + 推理)
  • [5. 进阶玩法:加速 / 低显存 / 多人 / ComfyUI](#5. 进阶玩法:加速 / 低显存 / 多人 / ComfyUI)
  • [6. 关键参数速查表](#6. 关键参数速查表)
  • [7. 适用场景与局限](#7. 适用场景与局限)
  • [8. 总结](#8. 总结)

1. 先看效果:这不是换脸,是全身都在"说话"

传统的"数字人"或"说话头"技术,通常只做一件事:让嘴唇跟着音频动

但现实中,人说话时不只是嘴在动------头会点、身体会晃、眉毛会挑、眼神会变。只有嘴动的数字人,看起来总是有点"假"。

InfiniteTalk 的目标是:给一段音频,让视频里的人从头到脚都跟着"说话"。

  • 🎬 Video-to-Video:给一段原始视频 + 一段新音频,生成配音后的新视频,保留原视频的镜头运动
  • 🖼️ Image-to-Video:给一张人物图片 + 一段音频,直接生成说话视频

效果演示视频可在 GitHub 仓库和 项目主页 查看。

🔗 GitHub:https://github.com/MeiGen-AI/InfiniteTalk

📄 论文:arXiv 2508.14033

🤗 模型:HuggingFace MeiGen-AI/InfiniteTalk


2. 核心特性

特性 说明
💬 稀疏帧视频配音 不只同步嘴唇,同时对齐头部运动、身体姿态、面部表情
⏱️ 无限时长生成 Streaming 模式支持任意长度视频,不受时长限制
稳定性更强 相比 MultiTalk,手部/身体变形问题明显减少
🚀 嘴唇同步更准 在嘴唇同步精度上超越 MultiTalk
🖼️ 双模式支持 V2V(视频转视频)+ I2V(图片转视频)两种输入方式
👥 多人动画 支持多人同时说话的场景
多种加速方案 TeaCache / int8量化 / FusionX LoRA(8步)/ lightx2v(4步)
🖥️ 低显存支持 --num_persistent_param_in_dit 0 可在低显存 GPU 上运行
🎛️ ComfyUI 支持 已有社区 ComfyUI 节点,可视化工作流

3. 技术架构:稀疏帧视频配音框架

整体思路

InfiniteTalk 提出了一种**稀疏帧视频配音(Sparse-Frame Video Dubbing)**框架。

传统方法的问题:逐帧处理,每帧独立生成,时序一致性差,长视频容易漂移。

InfiniteTalk 的解法:不是逐帧生成,而是选取稀疏关键帧作为锚点,在关键帧之间进行插值和传播,从而保证时序一致性,同时支持无限时长。

三大组件

复制代码
输入:视频/图片 + 音频
    │
    ▼
┌─────────────────────────────────────────┐
│  音频编码器(chinese-wav2vec2-base)       │
│  提取音频的语音特征(音素、韵律、节奏)      │
└────────────────┬────────────────────────┘
                 │ 音频条件向量
                 ▼
┌─────────────────────────────────────────┐
│  视频生成主干(Wan2.1-I2V-14B)            │
│  14B 参数的图像到视频扩散模型              │
│  负责生成高质量、时序一致的视频帧           │
└────────────────┬────────────────────────┘
                 │ 注入音频条件
                 ▼
┌─────────────────────────────────────────┐
│  InfiniteTalk 音频条件权重                │
│  将音频特征注入到视频生成过程中             │
│  控制嘴唇、头部、表情与音频的对齐           │
└─────────────────────────────────────────┘
    │
    ▼
输出:音频驱动的说话视频(480P / 720P)

底座模型选择

InfiniteTalk 选择了 Wan2.1-I2V-14B-480P 作为视频生成底座,这是阿里万象团队开源的 14B 参数图像到视频扩散模型,在视频质量和时序一致性上表现优秀。

音频编码器使用腾讯游戏的 chinese-wav2vec2-base,对中文语音有良好的支持。


4. 快速上手:安装 + 推理

环境安装

bash 复制代码
# 1. 创建 conda 环境
conda create -n multitalk python=3.10
conda activate multitalk

# 2. 安装 PyTorch + xformers(CUDA 12.1)
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

# 3. 安装 flash-attn(加速注意力计算)
pip install misaki[en] ninja psutil packaging wheel
pip install flash_attn==2.7.4.post1

# 4. 安装其他依赖
pip install -r requirements.txt
conda install -c conda-forge librosa

# 5. 安装 FFmpeg(视频处理必需)
conda install -c conda-forge ffmpeg

下载预训练模型

bash 复制代码
# 底座视频生成模型(约 30GB)
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 TencentGameMate/chinese-wav2vec2-base \
    model.safetensors --revision refs/pr/1 \
    --local-dir ./weights/chinese-wav2vec2-base

# InfiniteTalk 音频条件权重
huggingface-cli download MeiGen-AI/InfiniteTalk \
    --local-dir ./weights/InfiniteTalk

最简推理(单卡 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 my_result

💡 --mode streaming 是无限时长生成的关键参数,不加这个参数只能生成短片段。


5. 进阶玩法

720P 高清输出

bash 复制代码
# 只需把 --size 改为 infinitetalk-720
python generate_infinitetalk.py \
    ... \
    --size infinitetalk-720 \
    --save_file my_result_720p

低显存模式

bash 复制代码
# 加上 --num_persistent_param_in_dit 0,显存占用大幅降低
python generate_infinitetalk.py \
    ... \
    --num_persistent_param_in_dit 0 \
    --save_file my_result_lowvram

多卡并行推理(8 卡示例)

bash 复制代码
GPU_NUM=8
torchrun --nproc_per_node=$GPU_NUM --standalone \
    generate_infinitetalk.py \
    --ckpt_dir weights/Wan2.1-I2V-14B-480P \
    --wav2vec_dir 'weights/chinese-wav2vec2-base' \
    --infinitetalk_dir weights/InfiniteTalk/single/infinitetalk.safetensors \
    --dit_fsdp --t5_fsdp \
    --ulysses_size=$GPU_NUM \
    --input_json examples/single_example_image.json \
    --size infinitetalk-480 \
    --sample_steps 40 \
    --mode streaming \
    --motion_frame 9 \
    --save_file my_result_multigpu

多人说话动画

bash 复制代码
# 使用 multi 版本的权重
python generate_infinitetalk.py \
    --infinitetalk_dir weights/InfiniteTalk/multi/infinitetalk.safetensors \
    --input_json examples/multi_example_image.json \
    ...

FusionX LoRA 加速(仅需 8 步)

bash 复制代码
# 下载 FusionX LoRA 后,--sample_steps 从 40 降到 8,速度提升 5x
python generate_infinitetalk.py \
    --lora_dir weights/Wan2.1_I2V_14B_FusionX_LoRA.safetensors \
    --lora_scale 1.0 \
    --sample_text_guide_scale 1.0 \
    --sample_audio_guide_scale 2.0 \
    --sample_steps 8 \
    --sample_shift 2 \
    --num_persistent_param_in_dit 0 \
    ...

Gradio 可视化界面

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

6. 关键参数速查表

参数 说明 推荐值
--mode streaming 无限时长生成模式 长视频必选
--mode clip 单块短视频生成 短片段测试用
--size infinitetalk-480 480P 输出 默认,速度快
--size infinitetalk-720 720P 输出 高清场景
--sample_steps 扩散采样步数 40(标准)/ 8(FusionX)/ 4(lightx2v)
--sample_audio_guide_scale 音频 CFG 强度 3~5(不用LoRA)/ 2(用LoRA)
--sample_text_guide_scale 文本 CFG 强度 5(不用LoRA)/ 1(用LoRA)
--motion_frame 运动帧数 9(默认)
--max_frame_num 最大帧数 1000(约40秒,默认)
--num_persistent_param_in_dit 0 低显存模式 显存不足时必加
--use_teacache TeaCache 加速 推荐开启
--quant fp8 fp8 量化 进一步降低显存

7. 适用场景与局限

适用场景

  • 视频配音:给外语视频配中文音频,嘴型自动对齐
  • 数字人制作:一张照片 + 一段语音,生成说话视频
  • 内容创作:短视频、课程、演讲视频的快速制作
  • 多语言本地化:影视内容的多语言版本制作
  • 虚拟主播:基于静态图片生成动态说话形象

已知局限

场景 局限说明
I2V 超过 1 分钟 颜色漂移会变明显,建议用图片转视频脚本辅助
V2V 镜头控制 模型会模仿原视频镜头运动,但不完全一致
FusionX LoRA 超过 1 分钟时颜色漂移加剧,ID 保持性下降
量化模型 仅支持单卡推理

8. 总结

InfiniteTalk 是目前开源社区中音频驱动说话视频生成方向的强力选手:

  • 基于 14B 参数的 Wan2.1 大模型,视频质量有保障
  • 稀疏帧配音框架,解决了长视频时序一致性问题
  • 不只同步嘴唇,头部/身体/表情全部跟着音频走
  • 多种加速方案(TeaCache / 量化 / LoRA),覆盖从消费级到多卡服务器的各种场景
  • ComfyUI 和 Gradio 双支持,门槛低

推荐指数:⭐⭐⭐⭐⭐

无论你是做数字人、视频配音、还是 AI 内容创作,这个项目都值得收藏。


🔗 GitHub: https://github.com/MeiGen-AI/InfiniteTalk
📄 论文: arXiv 2508.14033
🤗 模型: HuggingFace MeiGen-AI/InfiniteTalk
🌐 项目主页: https://meigen-ai.github.io/InfiniteTalk/


标签:#数字人 #音频驱动 #视频生成 #说话视频 #InfiniteTalk #美团AI #开源项目 #ComfyUI #Wan2.1

相关推荐
有味道的男人2 小时前
抖音关键词搜索,视频详情api
linux·数据库·音视频
2401_8858850419 小时前
开发视频短信接口好开发吗?图文视频短信接口对接教程
android·音视频
CyL_Cly1 天前
Bilidown下载 1.2.7 bilibili视频下载
音视频
非凡ghost1 天前
AIMP(音乐播放软件)
前端·windows·音视频·firefox
sir56565561 天前
即梦生成的视频无水印保存方法分享
音视频
小手智联老徐1 天前
OpenClaw 2026.4.11 :记忆导入革命、视频生成升级与多平台体验优化
音视频·ai写作·openclaw
步达硬件1 天前
【MATLAB】读取视频,提取视频每一帧特征值并存成EXCEL,并保存个别图像
matlab·excel·音视频
reasonsummer1 天前
【教学类-160-05】20260412 AI视频培训-练习5“豆包AI视频《幼儿园之父:福禄贝尔(英声中字)》+豆包图片风格:伦勃朗(古典油画)竖版”
音视频·豆包·通义万相
m晴朗1 天前
ffmpeg(2)-音频相关知识
ffmpeg·音视频