--- license: apache-2.0 base_model: speridlabs/idol pipeline_tag: image-to-3d library_name: comfyui tags: - comfyui - gaussian-splatting - 3d - image-to-3d - idol - triposplat --- ComfyUI-Idol: one image to a 3D Gaussian splat, natively in ComfyUI

ComfyUI v0.43+ VRAM about 6 GB Apache-2.0

Nodes on GitHub · The original model · Idol SDK

**[Idol](https://huggingface.co/speridlabs/idol)** by speridlabs, converted for ComfyUI's native TripoSplat nodes: one picture of an object in, the whole object out as a 3D Gaussian splat (up to 1,048,576 Gaussians), including the sides the picture never showed. With the **[ComfyUI-Idol](https://github.com/PedroMarinhoDev/ComfyUI-Idol)** nodes it runs on ComfyUI's own Load Diffusion Model, KSampler and TripoSplat Decode, with ComfyUI's memory management, not a wrapper around the SDK. Five objects turning: a vinyl figure, a tin robot, a treasure chest, a toadstool cottage and a bonsai, each with its input image under it Idol, idol_fp32 at the default precision · 262,144 Gaussians · 50 steps, cfg 4, seed 42 · RTX 3090 · each turntable starts at the input's viewpoint (Idol Input Camera) · inputs made with Krea 2 Turbo from our own prompts ## Files | File | Folder | Size | | |---|---|---|---| | [`diffusion_models/idol_fp32.safetensors`](diffusion_models/idol_fp32.safetensors) | `models/diffusion_models` | 1.48 GB | the denoiser, as released; needed for the fp32 presets | | [`vae/idol_vae_decoder_fp32.safetensors`](vae/idol_vae_decoder_fp32.safetensors) | `models/vae` | 1.15 GB | the octree and Gaussian decoders in one file, as released | | [`diffusion_models/idol_fp16.safetensors`](diffusion_models/idol_fp16.safetensors) | `models/diffusion_models` | 0.74 GB | the denoiser in fp16: same speed and same result at the default precision | | [`vae/idol_vae_decoder_fp16.safetensors`](vae/idol_vae_decoder_fp16.safetensors) | `models/vae` | 0.58 GB | the decoders in fp16 | Idol also reads the image through DINOv3 ViT-H+/16 and the FLUX.2 VAE, and removes the background with BiRefNet: the same files ComfyUI's TripoSplat template uses, from [VAST-AI/TripoSplat](https://huggingface.co/VAST-AI/TripoSplat). ## Use 1. Install **[ComfyUI-Idol](https://github.com/PedroMarinhoDev/ComfyUI-Idol)**: search for **Idol (image to 3D splat)** in ComfyUI-Manager, run `comfy node install comfyui-idol`, or clone it into `ComfyUI/custom_nodes` (no pip install). Restart ComfyUI 0.43 or newer. 2. Download the files: ```bash cd ComfyUI/models hf download PedroMarinhoDev/Idol-ComfyUI diffusion_models/idol_fp32.safetensors vae/idol_vae_decoder_fp32.safetensors --local-dir . hf download VAST-AI/TripoSplat clip_vision/dino_v3_vit_h.safetensors vae/flux2-vae.safetensors background_removal/birefnet.safetensors --local-dir . ``` 3. Open **Templates → ComfyUI-Idol → idol_image_to_splat**, pick your image in Load Image, run. Idol's settings are set: euler, simple, 50 steps, cfg 4 (Idol's guidance 3 in ComfyUI's convention). ## What changed from the release The tensors are the release's (`denoiser.safetensors`, `decoder.safetensors`, `decoder_gs.safetensors` of [speridlabs/idol](https://huggingface.co/speridlabs/idol)); the fp32 files hold them tensor for tensor, the fp16 files cast to fp16. - The denoiser's stored token positions (`pos_pe`) are left out: ComfyUI computes the same scrambled Sobol sequence, and the converter checks the two are equal. - The two decoders are one file, under the `octree.` and `gs.` prefixes ComfyUI's TripoSplat decoder expects. Every key and shape loads into ComfyUI's TripoSplat classes. One denoiser forward in fp32 matches the reference SDK to 3.5e-6 relative error, the decoders to 9e-5; the node pack's README has the full comparison and the converter (`tools/convert_idol.py`). ## License Apache-2.0, as the original weights: Idol by [speridlabs](https://speridlabs.com). The architecture is TripoSplat by VAST.