Statut: Testé sur RunPod. J'ai utilisé ce template sur RunPod pour de longues tâches d'avatars, en le faisant tourner sur plusieurs GPU à la fois.
Ce workflow transforme une photo et une voix off en un avatar parlant avec synchro labiale, et garde le visage identique du début à la fin, que la vidéo dure 30 secondes ou 50 minutes. Il fait tourner LTX-2.5, le modèle vidéo et audio de Lightricks, que ComfyUI prend en charge nativement.
Tout est sur GitHub : le workflow, un petit pack de nodes et le script d’installation. Vous pouvez le faire tourner gratuitement en local si vous avez le GPU ; le script d’installation liste chaque modèle à télécharger, et un chatbot peut le transformer en commandes d’installation pour votre machine. Je l’ai fait tourner sur RunPod parce que je pouvais mettre cinq ou six GPU sur un même projet en même temps.
En bref
- Entrée : un portrait et une voix off d’environ 60 minutes au maximum.
- GPU : une RTX 5090 (32 Go) est ce que je recommande.
- Résolution : environ 0,9 mégapixel est le bon compromis. Plus bas, les lèvres commencent à se coller.
- Fonctionnement : l’audio est coupé aux pauses en segments de 3 à 12 secondes ; chaque segment commence et finit sur votre portrait ; un script les assemble avec votre audio d’origine.
- Les longues tâches reprennent après un arrêt, sur le même pod ou un autre.
Ce dont vous avez besoin
- Un portrait : une photo nette, de face.
- Une voix off d’environ 60 minutes au maximum. Au-delà, découpez-la. Même alors, je garderais des parties d’environ 30 minutes : 30 minutes de vidéo prennent quelques heures à rendre sur une RTX 5090.
- Un GPU de 32 Go de VRAM, ou un compte RunPod.
- 80 Go de stockage. Les modèles principaux pèsent environ 39 Go, ou environ 47 Go avec l’améliorateur de prompt et l’upscaler temporel optionnels.
Une astuce pour les entrées : les nouveaux comptes Google Cloud reçoivent 300 $ de crédits gratuits (ce n’est pas un lien de parrainage). J’ai réalisé le portrait de cette démo avec le modèle d’image Nano Banana de Google et la voix off avec la synthèse vocale de Google, le tout avec ces crédits. La voix coûte si peu que 300 $ en couvrent une très grande quantité ; les images coûtent plus. Pour des milliers d’images, mon template Z-Image est la voie la moins chère.
Préparer le pod
Mon introduction à RunPod couvre les bases. Pour ce template :
- Créez un volume réseau d’environ 100 Go dans un centre de données qui a beaucoup de GPU. Vous pourrez l’agrandir plus tard, et il est facturé à l’heure tant qu’il existe, soit environ 7 $ par mois à cette taille en stockage standard.
- Déployez le template. Ouvrez le lien du template, ou cherchez « LTX 2.5 consistent avatar » dans les templates publics. Attachez votre volume.
- Choisissez un GPU. Je recommande une RTX 5090. Une RTX 4500 fonctionne mais est lente.
- Attendez le premier démarrage, 10 à 15 minutes pendant le téléchargement des modèles. Les démarrages suivants sur le même volume sont beaucoup plus rapides.
Optionnel mais recommandé : les poids officiels de LTX-2.5 sur Hugging Face sont soumis à licence. Acceptez la licence sur la page du modèle, créez un jeton de lecture dans vos paramètres Hugging Face et ajoutez-le au pod comme variable d’environnement HF_TOKEN. Sans lui, le template se rabat sur un miroir public, mais les téléchargements anonymes sont limités en débit et les 40 Go et plus peuvent devenir très lents.
Quand il est prêt, le menu Connect du pod affiche ComfyUI et JupyterLab. JupyterLab affiche parfois « initializing » alors qu’il fonctionne déjà, ouvrez-le donc simplement.
Le workflow
Le template installe un workflow dans la barre latérale Workflows de ComfyUI : ltx2-5_long_video_workflow. Il paraît simple en surface ; la mécanique est dans un subgraph que vous pouvez ouvrir par un double-clic. Vous n’avez pas besoin d’y toucher. Les nodes à régler sont ceux entourés de rouge.
1. Entrées
Chargez votre voix off et votre portrait dans les deux nodes d’entrée rouges. Après avoir envoyé un nouveau fichier via JupyterLab, rechargez ComfyUI pour qu’il apparaisse dans les listes déroulantes.
2. Prompt
Le workflow est fourni avec un prompt de tête parlante neutre : la personne parle et regarde la caméra sans mouvement étrange. Vous pouvez écrire le vôtre, mais celui par défaut convient aux vidéos de type présentateur.
3. Résolution
Le node de résolution travaille en mégapixels, avec un rapport d’aspect. J’ai surtout rendu des carrés à 0,9 mégapixel. Si vous rendez toujours en grand écran, changez-le une fois et enregistrez le workflow, ou désactivez l’option mégapixels et saisissez des dimensions exactes.
La résolution affecte la bouche plus que tout le reste. Vers 500 × 500, et même à 600 ou 700 pixels de côté, la qualité baisse d’une manière précise : les lèvres se collent et la bouche bouge à peine. 0,9 mégapixel est le bon compromis pour moi. Plus haut, c’est encore plus beau mais plus long.
Comment il garde le visage cohérent
LTX-2.5 ne peut générer qu’environ 10 à 12 secondes à la fois. Au-delà, il dérive en défauts. Le workflow fait donc trois choses.
La première et la dernière image sont toujours votre portrait. Chaque segment commence et finit sur la même image, avec la même expression neutre. L’avatar parle, revient au neutre et repart, ce qui paraît naturel pour un présentateur. Comme les deux extrémités sont fixes, le visage ne peut pas dériver sur une longue vidéo. (Utiliser des dernières images différentes est possible, mais vous faites alors un film, ce qui est un autre travail.)
L’audio est coupé aux pauses. Le node Split Audio Chunk cherche les silences dans la parole et coupe là, visant 8 secondes, jamais moins de 3 ni plus de 12. Un passage de 7 secondes entre deux pauses devient un segment de 7 secondes.
Un script le réassemble. La sortie « image » du workflow est trompeuse : le résultat est une vidéo. Un script d’assemblage fourni avec le template joint les segments, supprime l’image supplémentaire que LTX ajoute à chacun (sinon l’audio glisse d’environ 2 secondes sur 7 minutes), et pose votre audio d’origine sur le résultat plutôt que la reconstruction du modèle.
Un artefact est à connaître : à chaque raccord, le motif de bruit change légèrement. C’est visible si on le cherche. J’ai accepté d’en vivre pour des vidéos de présentateur, mais c’est le principal point sur lequel MiniMax H3 s’est amélioré.
Sortie et noms de fichiers
Tout atterrit dans le dossier output de ComfyUI : un dossier de segments et la vidéo terminée. Par défaut, le nom de votre fichier audio devient à la fois le dossier du projet et le nom de la vidéo finale, de sorte que avatar-female-2.mp3 vous donne un dossier de segments avatar-female-2 et une vidéo finale correspondante. Quand vous rendez une centaine de fichiers, c’est bien plus simple que des sessions numérotées. Si vous préférez nommer les sessions vous-même, déconnectez l’entrée de nom et saisissez un nom de session.
L’exécuter, et que faire quand ça cale
Mettez en file avec Run (Instant) et gardez la console ouverte : elle indique combien il y a de segments et lequel est en cours. Le premier segment est plus long pendant le chargement des modèles.
Les longs rendus s’arrêtent parfois sans raison visible. Pour moi, c’est arrivé entre deux et six heures après le début d’une tâche. La solution :
- Ouvrez le Manager de ComfyUI et cliquez sur Restart.
- Rechargez ComfyUI dans votre navigateur.
- Remettez en file. Les segments terminés sont ignorés, la tâche reprend donc là où elle s’est arrêtée.
La même reprise fonctionne le lendemain ou sur un autre pod : attachez le même volume réseau et remettez en file.
Erreurs à éviter
- Résolution trop basse. Sous environ 0,9 mégapixel, le mouvement de la bouche en souffre d’abord.
- Un seul énorme fichier. Gardez les voix off à environ 30 minutes par tâche.
- Pas de jeton Hugging Face. Le téléchargement fonctionne sans, mais lentement.
- Abandonner un rendu bloqué. Redémarrez, rechargez et remettez en file ; rien n’est perdu.
Le lien du template est un lien de parrainage RunPod, tout comme celui-ci : les nouveaux comptes inscrits avec Google reçoivent entre 5 et 500 $ de crédit après leurs 10 premiers dollars, et je touche une petite commission.
Voir la version vidéo (11:36)
Tout ce qui précède est aussi dans la vidéo, si vous préférez suivre à l’écran. La vidéo est en anglais.
Questions fréquentes
Quelle peut être la durée d'une vidéo d'avatar parlant LTX-2.5 ?
Une génération LTX-2.5 est limitée à environ 10–12 secondes, mais le workflow coupe votre voix off en segments et les assemble, l'entrée peut donc atteindre environ 60 minutes. Pour les très longues vidéos, découpez l'audio en parties d'environ 30 minutes.
Quelle résolution utiliser pour la synchro labiale LTX-2.5 ?
Environ 0,9 mégapixel. En dessous d'environ 700 × 700, la qualité baisse : les lèvres se collent et la bouche bouge à peine. Plus haut, c'est plus beau mais le rendu est plus lent.
De quel GPU ai-je besoin ?
Je recommande une RTX 5090 de 32 Go de VRAM. Le README du template indique que les cartes de 48 Go sont confortables et que 24 Go sont faisables avec les fichiers int8 qu'il télécharge, à des résolutions modérées.
Pourquoi mon long rendu s'arrête-t-il après quelques heures ?
Cela m'est arrivé après deux à six heures. Redémarrez ComfyUI depuis le Manager, rechargez le navigateur et remettez en file : la tâche reprend au dernier segment terminé.
