MeiGen-AI/InfiniteTalk es un proyecto de generación de video impulsada por audio. Su objetivo es sincronizar audio de entrada con un video o una imagen de una persona, generando un nuevo video en el que la forma de la boca, el movimiento de la cabeza, la postura corporal y las expresiones faciales sigan el audio.
No está planteado como una herramienta simple de sustitución de boca. El README describe InfiniteTalk como un framework para sparse-frame video dubbing. Puede preservar la identidad en escenarios video-to-video, soporta generación de videos largos y también puede crear videos hablados a partir de una sola imagen y audio en flujos image-to-video.
Capacidades Principales
Las capacidades clave de InfiniteTalk son claras:
- Generación video-to-video impulsada por audio.
- Generación image-to-video a partir de una imagen y audio.
- Sincronización no solo de labios, sino también de cabeza, cuerpo y expresiones.
- Generación de videos largos.
- En comparación con MultiTalk, la descripción del proyecto destaca menos deformaciones en manos y cuerpo, además de mayor precisión en lip sync.
Este tipo de proyecto sirve para doblaje de entrevistas, videos de humanos digitales, sincronización labial localizada, redoblaje de videos largos y expresión de personajes virtuales. Es más una herramienta de investigación e ingeniería que una aplicación de escritorio ligera y lista para usar.
Instalación
A continuación se conserva el proceso de instalación del README oficial. Conviene preparar antes un entorno Linux con CUDA, Conda, Git, suficiente VRAM y bastante espacio en disco. El nombre del entorno en el README se mantiene como multitalk.
Primero clona el repositorio y entra en el directorio:
|
|
1. Crear un entorno conda e instalar PyTorch y xformers
|
|
Esto usa el wheel de PyTorch correspondiente a CUDA 12.1. Si tu CUDA, driver o plataforma son distintos, ajusta el comando según la guía oficial de instalación de PyTorch.
2. Instalar dependencias de Flash-Attn
|
|
flash_attn es sensible a las versiones de CUDA, la toolchain de compilación y PyTorch. Si este paso falla, revisa primero si CUDA, nvcc, GCC, Python y el wheel de PyTorch son compatibles entre sí.
3. Instalar otras dependencias
|
|
4. Instalar FFmpeg
Dentro del entorno Conda puedes usar:
|
|
También puedes instalarlo a nivel del sistema. El README da este ejemplo con yum:
|
|
Preparación De Modelos
InfiniteTalk necesita tres tipos de modelos:
| Modelo | Uso |
|---|---|
Wan2.1-I2V-14B-480P |
Modelo base |
chinese-wav2vec2-base |
Codificador de audio |
MeiGen-InfiniteTalk |
Pesos de condición de audio de InfiniteTalk |
El README usa huggingface-cli para descargar los modelos. Los comandos oficiales son:
|
|
Si el entorno actual no tiene huggingface-cli, instala primero Hugging Face Hub:
|
|
Algunos modelos pueden requerir iniciar sesión en Hugging Face o aceptar las condiciones de uso en la página del modelo. Tras la descarga, la estructura de directorios debería contener aproximadamente:
|
|
Parámetros De Ejecución Comunes
El README enumera algunos parámetros importantes:
|
|
Aquí se conserva la escritura original del README. En uso real, ten en cuenta que algunos prefijos parecen guiones de ancho completo o no estándar. Antes de copiar comandos, conviene comprobar si deberían ser --sample_text_guide_scale y --sample_audio_guide_scale estándar.
Ejemplo De Inferencia Con Una Sola GPU
Ejemplo oficial con una sola GPU:
|
|
Para ejecutar en 720P, cambia --size a infinitetalk-720:
|
|
Para modo de baja VRAM, añade --num_persistent_param_in_dit 0:
|
|
Multi-GPU, Varias Personas Y Gradio
Ejemplo de inferencia multi-GPU:
|
|
Ejemplo de animación con varias personas:
|
|
Ejemplo de Gradio con pesos de una sola persona:
|
|
Ejemplo de Gradio con pesos de varias personas:
|
|
Aceleración E Inferencia Cuantizada
El README también proporciona un ejemplo con FusioniX o Lightx2v. FusioniX requiere 8 steps, mientras que lightx2v requiere solo 4 steps.
|
|
El modelo cuantizado solo soporta ejecución con una sola GPU. Ejemplo oficial:
|
|
Aspectos A Tener En Cuenta
InfiniteTalk tiene dependencias pesadas y modelos grandes. Antes de desplegarlo, conviene comprobar varias cosas:
- Si la GPU tiene suficiente VRAM. En máquinas con poca VRAM, prueba primero
--num_persistent_param_in_dit 0o el modelo cuantizado. - Si
flash_attnpuede instalarse correctamente con la combinación actual de CUDA y PyTorch. - Si los modelos de Hugging Face se descargaron completos y si las rutas coinciden con
weights/...en los comandos. - Si el JSON de entrada coincide con el formato de los ejemplos.
- 720P, videos largos, varias personas e inferencia multi-GPU aumentan claramente los requisitos de recursos.
El README también advierte que, aunque FusionX LoRA puede acelerar la inferencia y mejorar la calidad, en videos de más de 1 minuto puede agravar el cambio de color y reducir la preservación de identidad. En I2V, la generación desde una sola imagen funciona mejor hasta 1 minuto; más allá de 1 minuto, el cambio de color se vuelve más evidente.
Resumen
InfiniteTalk es un proyecto de generación de video impulsada por audio orientado a investigación e ingeniería. Encaja en escenarios que necesitan lip sync para videos largos, doblaje de personajes, videos de humanos digitales y generación de video hablado a partir de imágenes.
Si solo quieres probarlo rápidamente, prepara primero el entorno y los modelos siguiendo la instalación oficial, y empieza con el ejemplo de 480P en una sola GPU. Cuando las rutas, dependencias y VRAM estén confirmadas, puedes probar 720P, varias personas, multi-GPU, aceleración con LoRA o el modelo cuantizado.
Referencia: