Le cœur de ComfyUI ajoute l'upscale latent H3 et Sol-H3-VAE

ComfyUI Wikinews

Deux PR du cœur de ComfyUI chargent les upscalers latents MiniMax H3 et le décodeur distillé Sol-H3-VAE, qui réduit le décodage 2K H3 de 14,5 s à 0,89 s.

ComfyUI a fusionné deux pull requests du cœur le 28 octobre 2026, qui font sortir le chemin haute résolution de MiniMax H3 des nœuds personnalisés pour l'intégrer au cœur. PR 17412 ajoute la prise en charge des modèles d'agrandissement latent avec un nœud H3 dédié, et PR 17411 apprend au chargeur de VAE à ouvrir Sol-H3-VAE, le décodeur rapide distillé de l'équipe Efficient-Large-Model de NVIDIA. Les deux ont été écrites par Kijai et toutes deux sont arrivées après le tag v0.43.1 : elles n'apparaissent donc que dans master et les builds nocturnes, pas dans la version 0.43.x en cours.

Cette combinaison cible les deux parties coûteuses d'une tâche H3 en 2K : agrandir le latent sans aller-retour par le VAE, et décoder le clip terminé.

Comparaison de l'upscaler latent issue de la fiche modèle

Une passe basse résolution mise à l'échelle dans l'espace latent avec l'upscaler latent H3, issue de sa fiche modèle.

La comparaison vidéo du même référentiel.

Ce qui est arrivé dans le cœur

PRFusionCe que ça change
174122026-10-28 20:05 UTCNouveau module comfy/ldm/minimax/latent_upscaler.py, branche H3 dans Charger le Modèle d'Agrandissement Latent, nouveau nœud MiniMax H3 Latent Upscale With Model
174112026-10-28 23:46 UTCDétection de Sol-H3-VAE et remappage des clés dans le chargeur de VAE, chemin de décodeur non causal, prise en charge du décodeur quantifié int8, estimation de la mémoire du décodeur

Aucune des deux PR ne fournit de checkpoint. Elles permettent aux poids existants de la communauté de se charger avec le chargeur standard, si bien qu'un upscaler H3 qui nécessitait auparavant un pack de nœuds fonctionne désormais avec les seuls nœuds du cœur.

Mise à l'échelle à l'intérieur du latent

Les latents H3 portent 24 canaux et un flux audio séparé. L'upscaler latent de LBH-123-AI travaille directement sur le latent vidéo avec un backbone à convolution 3D : 345 280 216 paramètres, 24 canaux en entrée et en sortie, 512 canaux de base, 12 blocs d'entrée et 12 blocs de sortie, avec une convolution temporelle tous les deux blocs, de taille de noyau 5.

L'objectif est d'éviter le cycle decode -> pixel upscale -> encode via le VAE de H3, que la fiche modèle décrit comme comptant environ 5 milliards de paramètres. Son auteur rapporte également qu'une simple interpolation bilinéaire ou bicubique des latents H3 produit du ghosting, que l'upscaler appris est entraîné à éviter. L'entraînement a utilisé environ 80 000 échantillons appariés, répartis en environ 70 000 paires vidéo et 8 000 paires d'images 2K, avec un facteur 2x dominant dans le mélange.

Le cœur lit l'architecture depuis le state dict : le nombre de blocs, la largeur des canaux et le noyau temporel proviennent donc des poids eux-mêmes plutôt que d'une configuration annexe. La sortie du nœud conserve le latent imbriqué de H3, ce qui signifie que la moitié audio passe sans modification et que la bande-son générée survit à la mise à l'échelle. Un masque de bruit sur le latent d'entrée est supprimé.

Deux différences avec le pack de nœuds complémentaire méritent d'être connues :

  • Le nœud du cœur prend une taille cible, pas un facteur d'échelle. MiniMax H3 Latent Upscale With Model utilise par défaut 2560x1440, avec un pas de 32 et le plafond de résolution habituel. Le nœud de la communauté expose au contraire une échelle continue de 1,0x à 4,0x.
  • La mise à l'échelle seule n'ajoute pas de détail. Elle redimensionne le latent, c'est donc la seconde passe d'échantillonnage à la nouvelle résolution qui rétablit le détail. Un nombre d'étapes faible à ce stade laisse le résultat flou.

Si la taille demandée correspond à la taille du latent, le nœud du cœur renvoie l'entrée telle quelle au lieu d'exécuter le modèle.

Sol-H3-VAE comme décodeur de remplacement

Sol-H3-VAE est un décodeur vidéo rapide pour H3 qui remplace le décodeur VAE standard de 36 couches par un décodeur non causal de 24 couches et 1,62 milliard de paramètres, distillé à partir de celui-ci. Il décode des images entières avec une attention fenêtrée plutôt que des tuiles spatiales, et décode chaque bloc natif de 5 latents de manière bidirectionnelle. D'après sa fiche modèle, il prend les mêmes latents normalisés et renvoie les mêmes images que le décodeur VAE H3, et laisse le décodeur audio intact.

Un clip de 5 secondesVAE H3Sol-H3-VAE
768p, RTX 509012,5 s5,0 s
720p, GB2006,16 s0,34 s
2K, GB20014,5 s0,89 s

La fiche rapporte 45,4 dB de PSNR par rapport au décodeur H3 sur des latents de validation allant de 720p à 2K, et 38,2 dB sur un clip 768p généré. Les chiffres GB200 proviennent d'un graphe CUDA capturé, celui de la RTX 5090 est en mode eager.

Ouvrir ce checkpoint dans le cœur a demandé plus qu'un nouveau motif de nom de fichier :

  • Le fichier publié stocke son décodeur sans le préfixe decoder., le chargeur remappe donc les clés à la volée et renseigne la moyenne et l'écart-type latents de H3 lorsqu'ils sont absents.
  • Le décodeur non causal change le calcul des images. Sa sortie est de 4 images par latent, le premier latent de chaque bloc de 5 latents n'en conservant qu'une : 4t - 3 * ceil(t/5) images pour t latents, avec l'inverse correspondant pour l'encodage.
  • Comme le clip entier est décodé d'un coup plutôt qu'en tuiles, la PR ajoute une estimation de mémoire distincte afin que le chargeur puisse planifier la VRAM avant le début du décodage.
  • Les builds quantifiés de Sol VAE se chargent aussi : le chargeur détecte l'int8 avec des poids de rotation de convolution et bascule vers des opérations en précision mixte.

Le fichier publié est un unique sol_h3_vae.safetensors d'environ 6,5 Go en fp32.

L'intégrer dans un graphique

  1. Placez le checkpoint de l'upscaler dans ComfyUI/models/latent_upscale_models/. La publication H3 fournit du bf16 et du fp16 d'environ 691 Mo chacun, plus un .pth fp32 de 1,38 Go.
  2. Placez sol_h3_vae.safetensors dans ComfyUI/models/vae/ et chargez-le avec le chargeur de VAE habituel.
  3. Enchaînez Charger le Modèle d'Agrandissement Latent vers MiniMax H3 Latent Upscale With Model entre la passe d'échantillonnage basse résolution et une seconde passe d'échantillonnage à 2560x1440 ou plus.
  4. Décodez le latent affiné avec le VAE Sol.

Les poids de l'upscaler sont sous Apache-2.0. La bibliothèque de modèles de ComfyUI ne contient toujours que les modèles API H3 hébergés : il n'existe donc pas encore de modèle local 2K officiel pour cette combinaison, et les temps ci-dessus sont les mesures des fiches modèles elles-mêmes, pas des benchmarks ComfyUI.

Disponibilité

Commentaires

Connectez-vous avec GitHub pour rejoindre la discussion.

Chargement des commentaires…
Le cœur de ComfyUI ajoute l'upscale latent H3 et Sol-H3-VAE | ComfyUI Wiki