Workflow TripoSplat image to 3D Gaussian Splats pour ComfyUI#
Transformez une image de référence unique en un actif 3D Gaussian Splats partageable avec une vidéo d'aperçu en orbite. Ce workflow TripoSplat image to 3D Gaussian Splats est un modèle 3D officiel de ComfyUI qui simplifie la suppression de l'arrière-plan, le conditionnement visuel, l'échantillonnage TripoSplat, le décodage des splats, le rendu en temps réel et l'exportation en SPZ avec une option de chemin de maillage GLB. Il est basé sur le projet et le papier TripoSplat ouverts, qui introduisent des fonctionnalités triplanaires pour la reconstruction 3D Gaussian à partir d'une seule image GitHub et arXiv, avec des poids prêts à l'emploi sur Hugging Face.
Les artistes, développeurs de jeux et créateurs XR peuvent rapidement prototyper des accessoires ou des objets stylisés à partir d'une seule image, les prévisualiser en tant que plateau tournant orbitant, et exporter des actifs prêts pour RunComfy. Le modèle décrit dans ce README s'aligne sur l'exemple de workflow ComfyUI en amont pour TripoSplat disponible sur GitHub.
Modèles clés dans le workflow ComfyUI TripoSplat image to 3D Gaussian Splats#
- Checkpoint du modèle de diffusion TripoSplat (UNet). Générateur principal qui prédit un champ 3D Gaussian à partir des caractéristiques d'une seule image. Sources : GitHub et Hugging Face.
- Décodeur VAE TripoSplat. Décode les latents échantillonnés en paramètres explicites de 3D Gaussian Splats pour le rendu et l'exportation. Les poids sont emballés dans la carte modèle TripoSplat sur Hugging Face.
- FLUX.2 VAE. Fournit un espace d'encodage d'image utilisé pendant le conditionnement et l'alignement avec le pipeline TripoSplat. Distribué avec les poids TripoSplat sur Hugging Face.
- DINO v3 ViT-H backbone visuel. Fournit des caractéristiques d'image robustes et de haut niveau pour la reconstruction 3D à vue unique ; expédié avec les actifs du workflow dans Hugging Face.
- BiRefNet pour la suppression de l'arrière-plan. Segmente le sujet de premier plan pour améliorer le conditionnement et réduire l'encombrement avant la génération 3D. Poids du modèle : Hugging Face.
Comment utiliser le workflow ComfyUI TripoSplat image to 3D Gaussian Splats#
Ce workflow passe de la préparation de l'image et du masque à l'échantillonnage et au décodage TripoSplat, puis se déploie sur deux branches d'exportation : une vidéo d'aperçu en orbite en direct et un fichier SPZ 3D Gaussian Splats. Une troisième branche optionnelle convertit les splats en un maillage pour l'exportation GLB.
- Chargez et préparez votre image
- Importez une image de référence dans
LoadImage(#99). Si votre image a déjà de la transparence ou un masque organisé, elle peut être utilisée directement. Sinon, le sous-graphe intégré “Remove Background (BiRefNet)” isole le sujet et transmet un masque propre. LeSwitch: Mask Source(#35) choisit automatiquement entre votre masque et le masque BiRefNet en fonction de l'optionauto_remove_background. Le préprocesseurTripoSplatPreprocessImage(#2) standardise la taille et combine l'image avec le masque choisi pour que le sujet soit centré et propre.
- Importez une image de référence dans
- Sous-graphe Image to Gaussian Splat (TripoSplat)
- Le sous-graphe principal
Image to Gaussian Splat (TripoSplat)(#88) calcule le conditionnement avecTripoSplatConditioning(#24) en utilisant DINO v3 ViT-H et le FLUX.2 VAE. UnKSampler(#6) exécute le TripoSplat UNet avec ces conditionnements pour produire des latents.VAEDecodeTripoSplat(#55) décode ensuite les latents en une structure réelle de 3D Gaussian Splats. Si vous souhaitez un aperçu rapide avant un décodage complet, activez le chemin d'aperçu intégré qui oriente le modèle à traversTripoSplatSamplingPreview(#97).
- Le sous-graphe principal
- Créez un modèle 3D
- Les splats décodés sont exportés avec
SplatToFile3D(#92) vers un fichier SPZ qui préserve le champ 3D Gaussian. C'est le format recommandé pour une utilisation en aval et pour le rechargement dans RunComfy. Le nœud étiquetéSaveGLB(#51) reçoit le fichier et l'écrit sur le disque en tant que package SPZ pour la portabilité et le partage.
- Les splats décodés sont exportés avec
- Créez une vidéo
- Pour un aperçu en plateau tournant,
CreateCameraInfo(#79) définit une caméra en orbite etRenderSplat(#75) rasterise les splats en images.CreateVideo(#41) assemble ces images en une vidéo, etSaveVideo(#42) écrit le résultat sur le disque. Cette branche vous donne un retour visuel instantané sur la couverture, la densité et la silhouette avant de finaliser les exportations.
- Pour un aperçu en plateau tournant,
- Créez un modèle 3D (expérimental)
- Si vous avez besoin d'un maillage, la branche expérimentale convertit les splats avec
SplatToMesh(#76) et écrit un GLB viaSaveGLB(#67). La conversion de maillage est idéale pour une visualisation rapide ou une importation DCC de base. Pour des aperçus fidèles et adaptés à l'éclairage, les splats natifs plus la vidéo d'orbite ont généralement meilleur aspect qu'un maillage précoce.
- Si vous avez besoin d'un maillage, la branche expérimentale convertit les splats avec
Nœuds clés dans le workflow ComfyUI TripoSplat image to 3D Gaussian Splats#
VAEDecodeTripoSplat(#55)- Décode les latents de diffusion en une représentation complète de 3D Gaussian Splats. Le contrôle
num_gaussiansrégit la densité et l'utilisation de la mémoire. Des valeurs plus élevées créent des splats plus denses et des silhouettes plus lisses mais prennent plus de temps et nécessitent plus de VRAM ; commencez modestement et augmentez jusqu'à ce que la couverture et le détail répondent à vos besoins.
- Décode les latents de diffusion en une représentation complète de 3D Gaussian Splats. Le contrôle
KSampler(#6)- Pilote l'inférence TripoSplat en utilisant le conditionnement et le latent initial. Ajustez
seedpour de nouvelles variations structurelles à partir de la même image. Gardez les autres choix de l'échantillonneur stables pendant que vous évaluez les changements dans l'extraction de premier plan et la composition du sujet.
- Pilote l'inférence TripoSplat en utilisant le conditionnement et le latent initial. Ajustez
TripoSplatConditioning(#24)- Construit la guidance visuelle qui rend le 3D à partir d'une image unique possible en combinant les caractéristiques DINO avec un latent VAE. De bons résultats dépendent d'un sujet propre, centré et d'un masque qui exclut les arrière-plans chargés.
RenderSplat(#75)- Rendre les splats résultants en images pour le plateau tournant d'aperçu. Ajustez la taille de sortie pour l'équilibre entre la netteté et la vitesse, et utilisez l'entrée d'informations de la caméra de
CreateCameraInfo(#79) pour contrôler le style d'orbite.
- Rendre les splats résultants en images pour le plateau tournant d'aperçu. Ajustez la taille de sortie pour l'équilibre entre la netteté et la vitesse, et utilisez l'entrée d'informations de la caméra de
SplatToMesh(#76)- Convertit la représentation Gaussian en un maillage polygonal pour l'exportation GLB. Attendez-vous à moins de détails fins que les splats natifs ; considérez cela comme un chemin de commodité lorsque votre chaîne d'outils cible nécessite des maillages.
Extras optionnels#
- Utilisez des images avec des sujets clairs, centrés et une bonne séparation de l'arrière-plan ; les vues d'objets avec une occlusion minimale fonctionnent le mieux.
- Si votre source a déjà de la transparence, désactivez la suppression automatique de l'arrière-plan pour préserver votre masque fait main.
- Augmentez progressivement
num_gaussianspour trouver le point idéal pour votre GPU et la complexité de l'objet. - Activez le chemin d'aperçu TripoSplat pour valider l'isolation du sujet et la silhouette avant de procéder à un décodage complet et des exportations.
- Préférez SPZ pour la qualité et la possibilité d'édition ; utilisez la branche de maillage uniquement lorsqu'un GLB est strictement requis.
Remerciements#
Ce workflow implémente et s'appuie sur les travaux et ressources suivants. Nous remercions chaleureusement Comfy-Org pour le support natif de ComfyUI pour le 3D Gaussian Splatting et le modèle de workflow image-to-gaussian-splat 3D TripoSplat, VAST AI Research et VAST AI pour le modèle et le dépôt TripoSplat, et les auteurs du papier TripoSplat pour le document de recherche pour leurs contributions et leur maintenance. Pour des détails autoritaires, veuillez vous référer à la documentation originale et aux dépôts liés ci-dessous.
Ressources#
- Comfy-Org/Bringing native support for 3D Gaussian Splatting
- Docs / Notes de version : Bringing native support for 3D Gaussian Splatting
- Comfy-Org/3d_triposplat_image_to_gaussian_splat.json
- GitHub : Comfy-Org/workflow_templates
- VAST-AI/TripoSplat (model card)
- GitHub : VAST-AI-Research/TripoSplat
- Hugging Face : VAST-AI/TripoSplat
- arXiv : arXiv:2605.16355
- VAST-AI-Research/TripoSplat (repository)
- GitHub : VAST-AI-Research/TripoSplat
- Hugging Face : VAST-AI/TripoSplat
- arXiv : arXiv:2605.16355
- TripoSplat/arXiv:2605.16355
- GitHub : VAST-AI-Research/TripoSplat
- Hugging Face : VAST-AI/TripoSplat
- arXiv : arXiv:2605.16355
Note : L'utilisation des modèles, ensembles de données et codes référencés est soumise aux licences et conditions respectives fournies par leurs auteurs et mainteneurs.


