---
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
---
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.
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.