Workflow de InfiniteTalk en ComfyUI y API: avatares con sincronización labial gratis

InfiniteTalk es un modelo de código abierto que convierte una foto y un archivo de audio en un video parlante con los labios, la cabeza y el cuerpo sincronizados con la voz. Este artículo muestra el workflow en ComfyUI, los ajustes que importan, las llamadas a la API alojada y autoalojada, y una alternativa en el navegador para obtener resultados rápidos.

Workflow de InfiniteTalk en ComfyUI y API: avatares con sincronización labial gratis
Cristian Da Conceicao
Fundador de Picasso IA

Tienes una foto, una grabación de voz y ningún equipo de rodaje. InfiniteTalk convierte esos dos archivos en un video donde la persona de la imagen habla de verdad, con los labios, la cabeza y los hombros moviéndose al ritmo del audio. Los pesos son abiertos bajo la licencia Apache 2.0, ComfyUI puede ejecutarlos en tu propia GPU, y una API alojada puede ejecutarlos si no tienes una. Este artículo recorre ambas vías: el workflow de ComfyUI paso a paso, los ajustes que cambian el resultado, las llamadas a la API y una alternativa sin instalación en PicassoIA para los días en que montar un entorno local da más trabajo del que merece la tarea.

Qué hace InfiniteTalk exactamente

InfiniteTalk viene del equipo de MeiGen-AI. El código, los pesos y el informe técnico se publicaron el 19 de agosto de 2025. Está construido sobre el checkpoint de 14B y 480P del modelo de imagen a video Wan 2.1, y lee el audio mediante un codificador wav2vec2. Admite salidas tanto en 480p como en 720p.

El modelo tiene predecesores. El modelo anterior del mismo grupo, MultiTalk, se encargaba de videos de conversación impulsados por audio, y el wrapper de ComfyUI sigue listándolo junto a InfiniteTalk. Lo que InfiniteTalk añade es la generación de duración ilimitada y el movimiento de todo el cuerpo además del movimiento de labios. La sección de noticias del repositorio también apunta ahora a una familia sucesora llamada LongCat Video Avatar, así que revísala si quieres los pesos más recientes del mismo equipo.

Un joven mira un fotograma pausado de un video en el que una mujer habla a mitad de frase en un monitor mate

Doblaje con fotogramas dispersos, explicado sin tecnicismos

La mayoría de las herramientas de sincronización labial antiguas repintan un parche alrededor de la boca y dejan el resto del rostro congelado. El resultado parece una máscara parlante. InfiniteTalk usa lo que sus autores llaman doblaje de video con fotogramas dispersos: conserva un puñado de fotogramas de referencia para mantener estable la identidad y después genera todo lo que hay entre ellos, de modo que los labios, los giros de cabeza, la postura y las expresiones faciales siguen al audio. Los clips largos se construyen con ventanas de contexto encadenadas, con una ventana predeterminada de 81 fotogramas, lo que permite que un video parlante supere con creces los cinco segundos habituales.

Modo imagen frente a modo video

ModoLo que aportasIdeal paraDuración
Imagen a videoUna foto y un archivo de audioNarradores, avatares, cantantes, portavocesHasta aproximadamente un minuto antes de que baje la calidad
Video a videoUn clip existente y audio nuevoDoblaje, sustituir una voz, conservar los movimientos de cámaraIlimitada en teoría

💡 Empieza por el modo imagen. Necesita menos entradas y sus fallos son los más fáciles de interpretar, así que verás qué hacen los ajustes de audio antes de introducir un video de origen.

¿Es realmente gratis?

La licencia es gratuita. El cómputo no. Esa diferencia decide qué vía te conviene.

VíaLo que cuestaLo que cedes
ComfyUI en localTu GPU y la electricidadTiempo de instalación, límites de VRAM, renders lentos en tarjetas pequeñas
API alojadaFacturación por segundo de salida. En el momento de escribir esto, WaveSpeed indica unos $0.03 por segundo en 480p y $0.06 por segundo en 720p, hasta 10 minutos por trabajoGasto continuo, menos control sobre el grafo
Modelo en el navegador de PicassoIAGratis para probar con varios modelos de sincronización labialUn modelo diferente, clips más cortos

Lo gratis también tiene un precio en tiempo. Una primera instalación en local se come buena parte de una tarde entre instalaciones de nodos y descargas, y solo los archivos del modelo ocupan decenas de gigabytes. Juzga la vía según cuántos clips pienses hacer, no por el precio de etiqueta.

Un baño de realidad sobre el hardware

InfiniteTalk se apoya en un modelo de video de 14 000 millones de parámetros, así que la memoria es el primer muro con el que te encuentras. El repositorio oficial incluye un modo de VRAM baja (--num_persistent_param_in_dit 0) que mantiene los pesos fuera de la GPU entre pasos, además de un checkpoint cuantizado en FP8. En ComfyUI, los archivos FP8 escalados de Kijai cumplen la misma función. No voy a citar una cifra de VRAM, porque cambia según la resolución, el número de fotogramas y la cuantización. Haz pruebas con un clip de 480p de 10 segundos antes de dedicar una tarde entera a un render en 720p.

Primer plano macro de una tarjeta gráfica colocada en una torre de PC abierta

Crear el workflow en ComfyUI

El soporte para ComfyUI llega a través de ComfyUI-WanVideoWrapper de Kijai. La plantilla de música de InfiniteTalk en comfy.org enumera tres paquetes de nodos: WanVideoWrapper, audio-separation-nodes-comfyui y comfyui-kjnodes. Juntos cargan el modelo, separan la voz de la música y gestionan la conexión de imagen y video.

Instalar los nodos personalizados

  1. Abre una terminal en ComfyUI/custom_nodes y clona el wrapper.
  2. Instala sus requisitos con pip install -r requirements.txt (las versiones portátiles usan en su lugar el intérprete incluido, python_embeded).
  3. Añade los paquetes de separación de audio y kjnodes desde ComfyUI Manager.
  4. Reinicia ComfyUI para que se registren los nuevos nodos.
cd ComfyUI/custom_nodes
git clone https://github.com/kijai/ComfyUI-WanVideoWrapper
pip install -r ComfyUI-WanVideoWrapper/requirements.txt

Vista cenital de un escritorio con un equipo portátil, un SSD y una lista de verificación de configuración escrita a mano

Descargar los archivos del modelo

El README del wrapper organiza los modelos en cuatro carpetas: text_encoders, clip_vision, diffusion_models y vae. InfiniteTalk añade sus propios pesos sobre la base de Wan 2.1.

ArchivoCarpetaNotas
Wan 2.1 imagen a video 14Bdiffusion_modelsModelo base, existen versiones escaladas en FP8
Codificador de texto UMT5text_encodersEl mismo que usan los workflows de Wan 2.1
VAE de Wan 2.1vaeCompartido con otros workflows de Wan
Modelo de visión CLIPclip_visionLee la foto de referencia
InfiniteTalk Single (fp16, unos 5.1 GB)diffusion_modelsUn solo hablante
InfiniteTalk Multi (fp16, unos 5.1 GB)diffusion_modelsDos hablantes

Ambos archivos de InfiniteTalk están en la carpeta InfiniteTalk del repositorio WanVideo_comfy de Kijai en Hugging Face. Si un desplegable del cargador sigue vacío después de copiar un archivo, actualiza ComfyUI y vuelve a revisar la carpeta.

Conectar el grafo

Los nombres de los nodos cambian entre versiones del wrapper, así que abre el workflow de ejemplo de la carpeta example_workflows del wrapper en lugar de construirlo desde cero. La lógica es siempre la misma:

  • Rama de imagen: carga el retrato, redimensiónalo a la resolución de destino y codifícalo con el modelo de visión CLIP.
  • Rama de audio: carga el audio, separa la voz de cualquier música y pásalo por el codificador wav2vec2 para obtener los embeddings de audio.
  • Rama del modelo: carga la base de Wan 2.1, añade los pesos de InfiniteTalk como modelo extra y, si lo quieres, un LoRA de velocidad.
  • Muestreador: introduce los embeddings de imagen, los embeddings de texto y los embeddings de audio en el muestreador y luego decodifica con el VAE.
  • Salida: combina los fotogramas y el audio original en un MP4.

💡 Redimensiona antes de muestrear. Un retrato que no coincide con la relación de aspecto de destino se estira o se recorta de maneras que parecen una mala sincronización labial, pero en realidad son un mal dato de entrada.

Preparar el audio y el retrato

El grafo es solo la mitad del resultado. Los dos archivos de entrada deciden el resto.

Audio que se sincroniza bien

La voz sola es la entrada más segura. La música de fondo bajo la voz enturbia las formas de la boca, y por eso la plantilla de ComfyUI incluye nodos de separación de audio que extraen las voces de una mezcla. Recorta los silencios del principio, iguala el volumen y exporta en WAV cuando puedas.

¿No tienes grabación? Genera la voz en su lugar. Speech 2.8 HD y ElevenLabs v3 convierten un guion en una locución limpia que puedes introducir directamente en la rama de audio.

El modo imagen pierde calidad después de aproximadamente un minuto, así que escribe pensando en escenas, no en monólogos. Divide un guion largo en secciones de 20 a 40 segundos, renderiza cada una a partir del mismo retrato y la misma semilla, y únelas en cualquier editor de video. Cortar en una pausa oculta la unión, y el retrato repetido mantiene estable la identidad de una escena a otra.

Manos girando el mando de una interfaz de audio junto a un micrófono de condensador

Una foto de origen que funciona

El retrato es el primer fotograma de tu avatar, así que cada defecto viaja por todo el video.

  • Mira a la cámara, con la boca relajada o ligeramente cerrada.
  • Muestra los hombros, porque InfiniteTalk también anima la postura.
  • Usa luz uniforme, sin sombras duras sobre los labios.
  • Mantén las manos, los micrófonos y el pelo lejos de la boca.

¿No tienes una foto adecuada? Créala con Seedream 4.5 y pide una expresión neutra, de frente y con luz suave de ventana.

Una mujer de unos cincuenta años con una chaqueta azul marino mirando a la cámara con expresión neutra

Ajustes que cambian el resultado

Dos controles hacen casi todo el trabajo: el número de pasos de muestreo y la escala de audio CFG. Todo lo demás es secundario hasta que esos dos se comporten bien.

Pasos y audio CFG

Los valores predeterminados oficiales usan 40 pasos de muestreo. Para el audio CFG, el repositorio recomienda un valor entre 3 y 5 para una buena sincronización labial. En la práctica, un valor más alto hace que la boca siga el audio con más rigor, y si te pasas, el rostro se queda rígido.

AjusteValor inicialQué hace
Pasos de muestreo40Detalle y estabilidad, renders más lentos
Audio CFG3 a 5Intensidad del vínculo entre audio y boca
Resolución480p primero, 720p para las versiones finalesNitidez frente a tiempo de render y memoria
SemillaFija mientras pruebasTe permite cambiar un ajuste cada vez

Modo rápido con LoRA

Cuarenta pasos en un modelo de 14B es lento. El repositorio describe dos atajos: 8 pasos con el LoRA FusionX o 4 pasos con el LoRA lightx2v. Cuando uses un LoRA de velocidad, baja el audio CFG a unos 2. Pierdes algo de textura fina en la piel y el pelo, así que usa el modo rápido para borradores y para clips que se verán en tamaño pequeño, y luego vuelve a renderizar la mejor toma con todos los pasos.

Cuando un render sale mal, el síntoma suele apuntar a una sola causa:

SíntomaCausa probableSolución
Los labios se alejan del audioAudio CFG demasiado bajo, o música bajo la vozSube el audio CFG hacia 4 y separa las voces
Rostro rígido, como una máscaraAudio CFG demasiado altoBájalo un punto y vuelve a renderizar con la misma semilla
El rostro cambia poco a poco en un clip largoModo imagen más allá de su límite de un minutoDivide el guion en escenas y únelas en un editor
Error de memoria insuficienteResolución o ventana de fotogramas demasiado grandeBaja a 480p, usa los archivos FP8 o activa el ajuste de VRAM baja
La boca se abre en los silenciosRuido de respiración o zumbido de la sala leídos como hablaLimpia el audio con una puerta de ruido antes de cargarlo

💡 Fija la semilla y cambia una sola cosa. Renderiza los mismos cinco segundos a 480p mientras ajustas el audio CFG. Cuando la boca se vea bien, sube la resolución.

Llamar a InfiniteTalk mediante una API

Una API convierte un proceso manual de diez minutos en una llamada a una función. Tienes dos opciones, según quién tenga la GPU.

La vía de la API alojada

WaveSpeed aloja InfiniteTalk en POST https://api.wavespeed.ai/api/v3/wavespeed-ai/infinitetalk. La solicitud recibe image, audio, resolution (480p o 720p), seed, un prompt opcional y un mask_image opcional. Recibes un ID de predicción y después consultas una URL de resultados cada pocos segundos hasta que el estado llega a un estado final. Se aceptan audios de hasta 10 minutos por trabajo.

import os, time, requests

TOKEN = os.environ["WAVESPEED_TOKEN"]
HEADERS = {"Authorization": f"Bearer {TOKEN}"}
BASE = "https://api.wavespeed.ai/api/v3"

job = requests.post(
    f"{BASE}/wavespeed-ai/infinitetalk",
    headers=HEADERS,
    json={
        "image": "https://example.com/portrait.jpg",
        "audio": "https://example.com/voice.wav",
        "resolution": "480p",
    },
).json()["data"]

while True:
    result = requests.get(f"{BASE}/predictions/{job['id']}/result", headers=HEADERS).json()["data"]
    if result["status"] not in ("created", "processing"):
        break
    time.sleep(2)

print(result["status"], result.get("outputs"))

Toma el fragmento como punto de partida y revisa la página del modelo para ver el esquema actual antes de publicar nada. Cuenta con unos 10 a 30 segundos de espera por cada segundo de video, según la resolución y la carga de la cola.

Tu propio endpoint de ComfyUI

ComfyUI ya ejecuta un servidor HTTP, así que tu workflow es una API en el momento en que lo exportas. Usa Save (API Format), cambia los nombres de archivo de imagen y audio dentro del JSON y después envíalo a /prompt.

import json, time, requests

COMFY = "http://127.0.0.1:8188"
workflow = json.load(open("infinitetalk_api.json"))

prompt_id = requests.post(f"{COMFY}/prompt", json={"prompt": workflow}).json()["prompt_id"]

while True:
    history = requests.get(f"{COMFY}/history/{prompt_id}").json()
    if prompt_id in history:
        break
    time.sleep(3)

print(history[prompt_id]["outputs"])

Los archivos que menciona el workflow deben estar ya en la carpeta input de ComfyUI, o subirse antes al endpoint /upload/image. Recupera el video terminado desde /view usando el nombre de archivo que aparece en las salidas.

Vista desde abajo de una fila de racks de servidores con un técnico al fondo

💡 No expongas nunca el puerto 8188 a internet abierta. ComfyUI no tiene inicio de sesión. Colócalo detrás de una VPN o de un proxy inverso con autenticación antes de que nadie fuera de tu red pueda llegar a él.

Dónde ayudan de verdad los avatares

Un avatar parlante se gana su lugar cuando grabar a una persona frente a la cámara es lento, caro o imposible de repetir.

  • Clases y formación: una foto del instructor y un guion te dan módulos de video coherentes, y cambiar una frase implica volver a renderizar en lugar de volver a grabar.
  • Demostraciones de productos: un avatar portavoz puede narrar la misma página en varios idiomas cambiando el audio.
  • Clips de podcast: el modelo Multi maneja a dos hablantes, lo que encaja con fragmentos de entrevistas para redes sociales.
  • Trabajo con música y personajes: cantantes, mascotas y personajes ilustrados funcionan siempre que el rostro se vea con claridad.

Una profesora grabando una lección con un smartphone sobre un trípode junto a una pizarra blanca

Dos amigos riendo en una mesa de podcast con micrófonos en brazo articulado

💡 Pide permiso. Anima tu propio rostro, un personaje con licencia o a alguien que lo haya aceptado, y etiqueta el resultado como generado por IA cuando pueda confundirse con una grabación real.

Evita la configuración en PicassoIA

PicassoIA no aloja InfiniteTalk en sí. Sí ofrece varios modelos de foto más audio que dan el mismo tipo de resultado en una pestaña del navegador, sin nodos, sin descargas y sin cálculos de VRAM.

Elige un modelo de sincronización labial

ModeloEntradaLo que conviene saber
Omni Human 1.5Foto más audioAudio de menos de 35 segundos, prompt de texto opcional, modo rápido
Fabric 1.0Foto más audioSalida en 480p o 720p a elegir
Wan 2.2 S2VFoto, audio y promptEl prompt da forma al movimiento y al ambiente, 81 fotogramas por fragmento de forma predeterminada
Kling Avatar v2Foto más audio (MP3, WAV, M4A o AAC)Modo estándar o Pro, también maneja dibujos animados y animales
P Video AvatarFoto más un guion escrito o tu propio audioMás de 30 voces integradas, hasta 1080p
Lipsync 2 ProVideo existente más audio WAVDetección del hablante activo y cinco modos de sincronización

La última fila importa si viniste por el doblaje de video a video: Lipsync 2 Pro trabaja sobre metraje que ya grabaste. Qué vía encaja depende del trabajo:

  • Elige ComfyUI en local para clips de más de un minuto, el modelo Multi con dos hablantes, un doblaje que conserve los movimientos de cámara originales o un control total de cada ajuste del muestreador.
  • Elige la API alojada cuando tu propia aplicación tenga que crear avatares bajo demanda y prefieras pagar por segundo antes que mantener una GPU encendida.
  • Elige un modelo de PicassoIA cuando quieras un resultado en los próximos diez minutos, tu audio dure menos de 35 segundos y la velocidad importe más que reproducir el aspecto exacto de InfiniteTalk.

Pasos para tu primer clip

  1. Abre la página de Omni Human 1.5 en PicassoIA.
  2. Sube un retrato de frente. Los rostros, las tomas de cuerpo entero y los personajes ilustrados funcionan todos.
  3. Sube un archivo MP3 o WAV de menos de 35 segundos. Se admite audio en inglés, español, japonés, coreano, chino e indonesio.
  4. Añade un prompt opcional para dirigir el movimiento de cámara o los gestos, como "she smiles and nods slightly".
  5. Activa el modo rápido para borradores rápidos, o déjalo desactivado para conseguir el máximo detalle.
  6. Fija una semilla si quieres reproducir un resultado, y después genera y descarga el video.

💡 Escribe primero el guion, grábalo con Speech 2.8 HD y mantén cada clip por debajo del límite de 35 segundos. Los clips cortos unidos parecen más naturales que una toma larga.

Crea tu primer avatar

Elige un retrato, graba 20 segundos de audio y pasa el mismo clip por dos o tres modelos. Comparar los resultados lado a lado lleva minutos y te dice más que cualquier ficha técnica. Abre Omni Human 1.5 o Fabric 1.0 en PicassoIA, sube tus dos archivos y mira cómo una foto fija empieza a hablar. Si más adelante quieres un pipeline local, ya sabrás cómo es una buena entrada.

Una mujer joven sonriendo ante su smartphone en un luminoso estudio tipo loft

Compartir este artículo

Elige tu idioma