TaoMate-H3 : génération audio-vidéo en streaming à faible latence

Découvrez TaoMate-H3, un runtime MiniMax H3 qui génère des segments audio-vidéo synchronisés jusqu’à 11,45× plus rapidement pour des sorties longue durée en 480p–1080p.

TaoMate-H3 : génération audio-vidéo en streaming à faible latence

Générer une séquence audio-vidéo complète avec un grand modèle de diffusion peut prendre plus de temps que le clip final lui-même. Cette latence complique la création d’applications interactives — avatars en direct, présentateurs virtuels, narration en temps réel et génération vidéo adaptative.

TaoMate-H3 répond à ce problème avec un runtime d’inférence en streaming basé sur MiniMax H3. Au lieu d’attendre la fin de toute la requête, il génère l’audio et la vidéo synchronisés par petits segments, ce qui permet d’obtenir beaucoup plus tôt une première sortie lisible tout en préservant la continuité sur des séquences plus longues.

Le projet est développé par l’équipe Alibaba TaoLive AIGC et distribué sous la MiniMax H3 Community License Agreement.

Qu’est-ce qui différencie TaoMate-H3 ?

TaoMate-H3 est conçu autour du streaming plutôt que de la génération en une seule passe. Son chemin de génération principal utilise une stratégie LoRA en trois étapes : chaque petit segment passe par trois intervalles de débruitage Stage3. Cela réduit la quantité de travail nécessaire avant qu’un segment atteigne son état latent final.

Le runtime génère également la parole, les sons ambiants et la vidéo sur une timeline partagée. Cette approche audio-vidéo conjointe est importante pour les applications où les mouvements des lèvres, les effets sonores et les événements visuels doivent rester synchronisés, plutôt qu’être assemblés indépendamment après la génération.

Les principales fonctionnalités comprennent :

  • Génération en streaming LoRA en trois étapes pour accélérer la finalisation des segments.
  • Génération audio-vidéo conjointe, avec parole, sons et visuels alignés sur une même timeline.
  • Faible latence par segment, afin que le premier latent utilisable arrive bien avant la fin d’une requête MiniMax H3 complète.
  • Continuité sur les longues séquences grâce à des mises à jour propres du KV-cache et à un guidage audio intégré.
  • Cohérence visuelle, vocale et des mouvements entre les limites des prompts.
  • Sorties en portrait et en paysage aux résolutions 480p, 768p et 1080p alignée.
  • Inférence sur un seul nœud avec quatre ou huit GPU, à l’aide de TP2 et du parallélisme de séquence Ulysses.

Configuration matérielle et logicielle requise

La configuration validée est exigeante et cible le matériel NVIDIA Hopper :

  • Linux
  • Python 3.10 ou 3.11
  • GPU NVIDIA Hopper ou SM90
  • Configuration validée : 8 × NVIDIA H20 96 Go
  • CUDA 12.8
  • PyTorch 2.8
  • FFmpeg avec prise en charge de H.264 et AAC

Créez un environnement dédié avant d’installer le runtime :

conda create -n taomate-h3 python=3.10 -y
conda activate taomate-h3

pip install torch==2.8.0 torchvision==0.23.0 \\
  --index-url https://download.pytorch.org/whl/cu128

pip install triton==3.4.0 vllm==0.11.1

TaoMate-H3 dépend d’une version de FlashAttention compatible avec Hopper. Installez l’implémentation Hopper sans isolation de build :

git clone https://github.com/Dao-AILab/flash-attention.git
pip install --no-build-isolation ./flash-attention/hopper

Clonez ensuite TaoMate-H3 et installez-le en mode éditable :

git clone https://github.com/TaoLiveAIGC/TaoMate-H3.git
cd TaoMate-H3
pip install -e .

Installez FFmpeg sur Ubuntu ou Debian avec :

sudo apt-get update
sudo apt-get install -y ffmpeg

Télécharger les modèles requis

Le runtime utilise le modèle MiniMax H3 FL2VA. Téléchargez les fichiers requis depuis Hugging Face dans le répertoire local models/MiniMax-H3 :

hf download MiniMaxAI/MiniMax-H3 \\
  --include "model_index.json" "FL2VA/*" \\
  --local-dir models/MiniMax-H3

TaoMate-H3 utilise également un adaptateur LoRA. La version actuelle est l’adaptateur EMA du générateur à l’étape 3000, avec un rang de 128 et un alpha de 128. Si aucun adaptateur local n’est fourni, l’inférence télécharge automatiquement l’adaptateur officiel dans models/TaoMate-H3 lors de la première utilisation.

Pour le télécharger à l’avance :

hf download TaoLiveAIGC/TaoMate-H3 \\
  --include "config.json" "adapter_config.json" "adapter_model.safetensors" \\
  --local-dir models/TaoMate-H3

Le répertoire obtenu doit contenir :

models/TaoMate-H3/
├── config.json
├── adapter_config.json
└── adapter_model.safetensors

Pour les dépôts Hugging Face privés ou soumis à restriction d’accès, authentifiez-vous d’abord :

hf auth login

Vous pouvez également fournir l’accès via la variable d’environnement standard HF_TOKEN.

Prompting par blocs de cinq secondes

TaoMate-H3 accepte soit un prompt unique réutilisé pendant toute la séquence, soit un fichier JSON contenant un prompt pour chaque intervalle de cinq secondes. Le prompting par blocs est utile pour la génération longue, car il permet de modifier la scène, l’action, le dialogue ou la direction de caméra, tandis que le runtime préserve la continuité grâce à son KV-cache et à ses mécanismes de guidage audio.

Exemple de fichier de prompts :

{
  "prompts": [
    "prompt pour les secondes 0 à 5",
    "prompt pour les secondes 5 à 10"
  ],
  "seeds": [8301, 8301]
}

Utiliser la même seed entre les blocs peut contribuer à maintenir une configuration de requête stable et maîtrisée. Les options --prompt et --prompt-json sont mutuellement exclusives.

Lancer une génération de 10 secondes

La commande suivante génère une vidéo portrait de 10 secondes en 768p sur huit GPU :

python -m taomate_h3 \\
  --model-root models/MiniMax-H3 \\
  --prompt-json examples/prompts_10s.json \\
  --duration 10 \\
  --resolution 768x1376 \\
  --gpus 8 \\
  --devices 0,1,2,3,4,5,6,7 \\
  --seed 8301 \\
  --output outputs/demo_10s

Le pipeline complet écrit le résultat final dans :

outputs/demo_10s/video.mp4

Le lanceur crée ses propres workers distribués locaux ; il n’est donc pas nécessaire d’utiliser une commande torchrun externe. Pour utiliser un autre adaptateur, indiquez-le explicitement :

--adapter /path/to/adapter

Le répertoire de sortie doit être nouveau ou vide. La durée totale doit être un multiple de cinq secondes, sauf si elle est déduite de la configuration JSON des prompts.

Résolutions prises en charge

TaoMate-H3 prend en charge les formats portrait et paysage :

Cible Portrait Paysage
480p 480x864 864x480
768p 768x1376 1376x768
1080p 1088x1920 1920x1088

Les dimensions 1080p utilisent un bord de 1088 pixels afin que les deux dimensions restent divisibles par 32. Si la diffusion exige exactement un bord de 1080 pixels, recadrez la sortie générée après l’inférence.

Options importantes de la ligne de commande

Option Fonction Valeur par défaut
--model-root Répertoire MiniMax H3 contenant FL2VA/ Obligatoire
--adapter Répertoire LoRA local de TaoMate-H3 Téléchargement automatique vers models/TaoMate-H3
--prompt Réutiliser un prompt pour chaque bloc de cinq secondes
--prompt-json Fournir un prompt par bloc de cinq secondes
--duration Durée totale en secondes 5, ou déduite du JSON
--resolution LARGEURxHAUTEUR ; le bord court doit être 480, 768 ou 1088 768x1376
--gpus Nombre local de GPU ; les valeurs prises en charge sont 4 ou 8 8
--devices Identifiants CUDA séparés par des virgules 0 à gpus-1
--seed Seed de la requête 8301
--output Répertoire de sortie nouveau ou vide Obligatoire

Les deux dimensions de la résolution doivent être divisibles par 32. Le runtime prend en charge les configurations à quatre et huit GPU ; les résultats de référence utilisent huit GPU avec TP2 × Ulysses4.

Résultats des benchmarks

Le projet indique des mesures obtenues sur un nœud équipé de 8 × NVIDIA H20 96 Go, avec une image de 480×864, une sortie de 10 secondes et la seed 8301.

Métrique TaoMate-H3 MiniMax H3 Amélioration
Temps DiT pur 14.810 s 169.572 s 11,45× plus rapide
Premier latent de segment final 6.148 s 170.052 s 27,66× plus rapide
Première vidéo lisible 17.287 s 183.313 s 10,60× plus rapide
Mémoire DiT maximale allouée 31.37 Gio 32.03 Gio

Ces chiffres distinguent plusieurs mesures de latence. Le temps DiT pur exclut le chargement du modèle, l’encodage du texte, le décodage VAE et l’encodage multimédia. La première vidéo lisible inclut le décodage du Video VAE et la publication H.264 dans le benchmark correspondant de publication du premier segment. Le benchmark couvre le chemin de génération Stage3 et exclut la préparation audio interne de la commande.

Une exécution TaoMate-H3 de 10 secondes contient 24 passes de génération et huit mises à jour propres du KV-cache. Le résultat le plus notable n’est pas seulement l’accélération de bout en bout : le premier latent de segment final arrive en 6,148 secondes, ouvrant la voie à des applications capables de commencer la lecture tandis que les segments suivants sont encore en cours de génération.

Quand utiliser TaoMate-H3

TaoMate-H3 est particulièrement pertinent lorsque le délai avant la première vidéo compte autant que le temps total de génération. Parmi les applications potentielles :

  • Humains numériques interactifs et présentateurs virtuels
  • Systèmes de narration en direct ou semi-directs
  • Vidéos IA longue durée avec changements de scène entre les blocs de prompts
  • Génération vidéo réactive à l’audio
  • Prototypage de dialogues, sons et visuels synchronisés
  • Outils créatifs en streaming qui ne peuvent pas attendre le rendu d’un clip entier

Il ne s’agit pas d’un package d’inférence grand public léger. La nécessité de GPU Hopper, la configuration validée à huit GPU et la pile CUDA/PyTorch spécialisée indiquent que le déploiement convient mieux à des serveurs dédiés ou à une infrastructure de recherche.

Licence et remerciements

TaoMate-H3 est distribué sous la MiniMax H3 Community License Agreement. Les utilisateurs doivent respecter les conditions de cette licence pour son utilisation et sa distribution.

Le projet remercie les équipes à l’origine de MiniMax H3, Qwen3-VL, PyTorch, FlashAttention, Triton et vLLM.

Pour plus de détails sur l’implémentation et les derniers exemples, consultez le dépôt GitHub de TaoMate-H3.

Source

TaoLiveAIGC/TaoMate-H3