Skip to content
,

Idol in ComfyUI: Turn One Image Into a 3D Gaussian Splat (Files, Paths and Best Settings)

11โ€“16 minutes

Turning a single photo into a 3D object used to mean a slow photogrammetry session or a heavy mesh generator. Idol, released by Speridlabs on October 28, 2026, does it from one image in seconds and outputs a 3D Gaussian splat, including the sides the picture never showed. Even better for ComfyUI users, Idol is a retrained TripoSplat model, so it runs on ComfyUI’s stock TripoSplat nodes with a small helper pack. This guide covers what Idol is, the exact files and folders you need, how to install the ComfyUI-Idol nodes, the best settings, and how to get clean, haze-free splats on a 10 to 16 GB graphics card.

TL;DR

  • What it is: a 0.66B-parameter single-image-to-3D model that outputs a standard 3DGS .ply splat with 32,768 to 1,048,576 Gaussians. Apache-2.0.
  • Runs on consumer GPUs: 7.2 GB peak VRAM. Vendor timings: 14.1 s on an RTX 5090, 19.1 s on an RTX 4090, 46.2 s on a 10 GB RTX 3080.
  • ComfyUI: clone Nynxz/ComfyUI-Idol into ComfyUI/custom_nodes/. No pip packages needed. Needs a ComfyUI with TripoSplat support.
  • Files: five models, about 3.8 GB in total, in diffusion_models, vae, clip_vision and background_removal.
  • Best settings: euler / simple, 50 steps, CFG 4.0, 262,144 Gaussians, then Idol Prune Splat at min_opacity 0.05 to remove haze.
  • Exports: .ply, .spz (about 10x smaller), .ksplat, or a GLB mesh.

What Is Idol?

Idol is a single-image-to-3D model from Speridlabs. You give it one picture of an object, such as a product photo, a 3D render or an AI-generated image. It removes the background, frames the object, and generates a 3D Gaussian splat that you can orbit in any splat viewer. The unseen back and sides are predicted by the model.

Under the hood, Idol is the TripoSplat architecture from VAST-AI-Research, retrained by Speridlabs. The core is small:

Component Parameters Weights in VRAM
DiT denoiser 370.6M about 0.8 to 1.0 GB
Octree decoder 50.8M about 0.1 to 0.2 GB
Gaussian decoder 237.3M about 0.5 to 0.9 GB
BiRefNet (background removal) 220.7M about 0.44 GB
DINOv3 ViT-H+/16 (image encoder) 840.6M about 1.68 GB
FLUX.2 VAE (image encoder) 84.1M about 0.17 GB
Full request about 1.80B 3.7 to 4.4 GB weights, 7.2 GB peak

The sampler is Euler with 50 steps, classifier-free guidance 3.0 and a time shift of 3.0. The output is a standard 3DGS .ply with degree-0 spherical harmonics, so it opens in common splat viewers and tools.

Speridlabs released the weights on Hugging Face, a Python SDK on GitHub, and a free browser demo with 93 example images.

Gaussian Splat vs Mesh: Why It Matters

Most image-to-3D tools you may have tried in ComfyUI, like TRELLIS.2 (see our Pixal3D and TRELLIS.2 workflow), output a polygon mesh with a texture. A Gaussian splat is different. It is a cloud of hundreds of thousands of tiny, soft, coloured blobs. Each blob has a position, size, rotation, colour and opacity.

  • Splats look more natural for fuzzy and fine detail like fur, foliage, fabric and soft edges, which meshes struggle with.
  • Splats render fast in real time in browsers, game engines with splat plug-ins, and tools like SuperSplat.
  • Meshes are easier to edit, rig, 3D print and use in traditional pipelines. If you need a mesh, ComfyUI can convert a splat to a GLB (covered below), but the result is rougher than a dedicated mesh generator.

So Idol is ideal for product turntables, web viewers, AR previews, scene props and quick 3D concept art. For a print-ready or game-ready mesh, a mesh model is still the better choice.

How Good Is It? Benchmarks

Speridlabs compared Idol with TripoSplat, TRELLIS and LGM on one H100, scoring at the input view and at seven new views:

Model SSIM (higher is better) LPIPS (lower) IoU (higher) DINOv2 new views (higher) CLIP (higher) Time
Idol 0.726 0.213 0.862 0.781 0.885 6.8 s
TripoSplat 0.712 0.225 0.860 0.743 0.868 9.9 s
TRELLIS 0.716 0.235 0.845 0.754 0.868 7.1 s
LGM 0.722 0.237 0.834 0.575 0.784 1.1 s

Idol leads on almost every quality metric, especially on the new-view scores that measure how believable the unseen sides are. LGM is much faster but visibly blurrier. These are vendor numbers and have not been independently reproduced yet.

Speed across GPUs, from the same SDK README:

Idol: one image to a 3D splatSeconds per request, 50 steps, 262,144 Gaussians (median of 8 images)H100 (80 GB)6.7 sRTX 5090 (32 GB)14.1 sA100 (80 GB)16.3 sRTX 4090 (24 GB)19.1 sRTX 3080 (10 GB)46.2 sL4 (22 GB)54.6 sSource: speridlabs/idol-sdk README. Green = consumer GeForce cards. Not a freakyjolly.com test.
Idol request time by GPU: 14.1 s on an RTX 5090, 19.1 s on an RTX 4090 and 46.2 s on a 10 GB RTX 3080 (vendor figures).

The README also mentions “under 2 seconds” at its fastest, but its own tables bottom out at 3.4 s on a B300, so treat that claim with care. The ComfyUI port’s author reports about 18 s for the 50 sampling steps plus 4 to 8 s for the decode on an RTX 5090, without compilation.

Estimate for a 16 GB card like the RTX 5080: roughly 20 to 30 seconds per object at the default 262,144 Gaussians and 50 steps, worked out from the RTX 4090 and RTX 5090 figures above. This is an estimate, not a measured result.

What You Need

  • GPU: NVIDIA with at least 8 GB of VRAM (7.2 GB peak at the default 262,144 Gaussians). 10 GB is the smallest card Speridlabs benchmarked. Higher Gaussian counts use more memory.
  • ComfyUI: a build with native TripoSplat support (the ComfyUI-Idol README says 0.22 or newer). Any current ComfyUI, Desktop, portable or git, is fine.
  • Disk space: about 3.8 GB for the five model files.
  • Input: one clear image of a single object. Transparent PNGs work and skip background removal.

Install the ComfyUI-Idol Nodes

Idol does not need any model code installed. ComfyUI already implements TripoSplat, and the Idol weights load with the stock Load Diffusion Model and Load VAE nodes. The ComfyUI-Idol pack by Nynxz adds three small nodes for what Idol’s pipeline does on top:

  • Idol Preprocess Image: Idol’s synthetic and real crop modes plus background removal.
  • Idol Camera: decodes the camera Idol predicts for your input, so you can re-render the input view or start a turntable from it.
  • Idol Prune Splat: removes near-transparent Gaussians that make splats look hazy.

Install with git:

cd ComfyUI/custom_nodes
git clone https://github.com/Nynxz/ComfyUI-Idol

That creates ComfyUI/custom_nodes/ComfyUI-Idol/. There is no requirements.txt to install. Restart ComfyUI. On Windows portable, the folder is ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Idol\.

You can also search for “ComfyUI-Idol” in ComfyUI Manager if it is listed there by the time you read this, but the git clone always works.

Download the Models (Exact Paths)

Idol’s original release uses the SDK’s own file layout. The ComfyUI pack’s author converted the two Idol files to ComfyUI’s layout (only the file structure changes, not the weights). The other three files are the same encoders TripoSplat uses, so if you already run TripoSplat in ComfyUI you have them.

File Full path Size Download
idol_fp16.safetensors ComfyUI/models/diffusion_models/idol_fp16.safetensors 0.74 GB nynxz/Idol
idol_decoder_fp16.safetensors ComfyUI/models/vae/idol_decoder_fp16.safetensors 0.58 GB nynxz/Idol
dino_v3_vit_h.safetensors ComfyUI/models/clip_vision/dino_v3_vit_h.safetensors 1.68 GB VAST-AI/TripoSplat
flux2-vae.safetensors ComfyUI/models/vae/flux2-vae.safetensors 0.34 GB VAST-AI/TripoSplat
birefnet.safetensors ComfyUI/models/background_removal/birefnet.safetensors 0.44 GB Comfy-Org/BiRefNet

Create the background_removal folder if it does not exist, then press R in ComfyUI to refresh the model lists. A nice bonus of the ComfyUI route: the DINOv3 and FLUX.2 VAE files here are not gated, while the official SDK asks you to request access to the Meta and Black Forest Labs repos first.

If you want to convert the original weights yourself, the pack includes a script:

python scripts/convert.py --src /path/to/idol --out ComfyUI/models --dtype fp16

Run it from inside ComfyUI/custom_nodes/ComfyUI-Idol/. With no arguments it downloads speridlabs/idol and writes the converted files to ./out/.

The Image-to-Splat Workflow

Drag example_workflows/idol_image_to_splat.json from the pack folder into ComfyUI, or open it from Templates, Custom Nodes, ComfyUI-Idol. It is the standard TripoSplat graph with the Idol files and nodes. Here is what each node does and the settings to use:

Node Setting
Load Image Your object photo, render or generated image
Load Background Removal Model birefnet.safetensors
Idol Preprocess Image mode: synthetic for renders and AI images, real for photographs
Load CLIP Vision dino_v3_vit_h.safetensors
Load VAE flux2-vae.safetensors, into TripoSplat Conditioning
Load Diffusion Model idol_fp16.safetensors
KSampler sampler euler, scheduler simple, 50 steps, CFG 4.0
Load VAE idol_decoder_fp16.safetensors, into TripoSplat Decode
TripoSplat Decode num_gaussians 262144
Idol Prune Splat min_opacity 0.05
Idol Camera, then Render Splat Renders the splat from the predicted input camera as a sanity check
Render Splat (72 frames), then Create Video A turntable video
Create 3D File (from Splat), then Save Splat .ply or .spz, shown in the 3D viewer

Why CFG 4.0 and not 3.0? Idol’s own guidance strength of 3.0 uses a different formula. In ComfyUI’s convention it equals CFG 4.0. Idol’s time shift of 3.0 is already in the model config, so you do not need a ModelSamplingSD3 node. Its 50 Euler steps on a linear schedule match euler / simple exactly.

Faster option: dpmpp_2m at 20 steps, the TripoSplat template’s setting, is a reasonable speed-for-quality trade if you are iterating on many objects. For a quick preview, drop num_gaussians to 65,536.

The stock TripoSplat Sampling Preview node shows a rough decode at each step. It is handy the first time, but bypass it to save a little time once your settings are dialled in. On supported setups, adding TorchCompileModel on the diffusion model also works; the first run is slower while it compiles.

Tips for Clean Results

Pick the right crop mode

Idol was trained with the object filling about 1/1.2 of the frame for renders and generated images (synthetic) and 1/1.7 for photographs (real). Using the wrong mode is the most common reason for a squashed or oddly scaled result. custom lets you set the margin yourself.

Always prune the haze

Idol emits about half its Gaussians with an opacity under 0.05. Splat viewers draw all of them, which shows up as haze, fuzzy edges and spikes. The official SDK output has the same halo, so it is the model, not the port. Idol Prune Splat at min_opacity 0.05 removes them, keeps everything visible, and halves the file size. Setting max_scale to 0.05 also cuts needle-shaped spikes at the silhouette. This makes a bigger visual difference than any sampler setting.

Use a clean, single object

Idol was trained on single objects. Crop out neighbouring items, stands and hands holding the object. Keep the object centred and fully in frame. For photos, a simple background helps BiRefNet make a clean cutout. For hard cases, paint the mask yourself and connect it to Idol Preprocess Image.

Transparent PNGs

If your image already has transparency, Idol uses it. In ComfyUI, Load Image’s mask output is the transparent area, so pass it through Invert Mask into Idol Preprocess Image’s mask input. You can then skip the background removal model. This pairs well with our ComfyUI-RMBG 3.3 guide for difficult cutouts.

Check the input view first

Render the splat through Idol Camera. It should look like your preprocessed image. If it does not, the problem is upstream, usually the mask or the crop mode, and no sampler tweak will fix it.

Do not over-crank the Gaussian count

262,144 matches the octree’s point density. Going up to 1,048,576 oversamples the same points. It looks denser but adds no real detail and costs VRAM and time. File size scales too: Speridlabs’ lamp example was 0.4 MB at 32,768 Gaussians and 12.2 MB at 1,048,576.

Generate the input with AI

Idol works especially well on clean AI-generated product shots. Generate a single object on a plain background with a text-to-image model (see our best open source text-to-image models), then feed it to Idol in synthetic mode. You can go from a prompt to an orbitable 3D object in one ComfyUI graph.

Exporting: PLY, SPZ, KSPLAT and GLB

  • .ply: the full 3DGS format, the same convention as Idol’s own SDK output (y-up, degree-0 SH, log scale, logit opacity). It opens in any splat viewer.
  • .spz: a compressed splat format, about 10x smaller. Good for the web.
  • .ksplat: for viewers built on the GaussianSplats3D library.
  • GLB mesh: use the Extract Mesh from Splat node. It is fine for previews and blocking out scenes, but expect a rougher surface than a dedicated mesh generator.

Save Splat writes files to ComfyUI/output/ by default.

Running Idol Without ComfyUI

If you prefer the command line, the official SDK is simple to use. It needs Python 3.10 or newer and PyTorch 2.5 or newer.

git clone https://github.com/speridlabs/idol-sdk
cd idol-sdk
pip install -e .
hf auth login
python -m idol.sample --image photo.jpg --mode real
python -m idol.sample --image renders/ --mode synthetic --out outputs

Before the first run, request access to facebook/dinov3-vith16plus-pretrain-lvd1689m and black-forest-labs/FLUX.2-dev on Hugging Face, because the SDK downloads its encoders from those gated repos. The weights then download to your Hugging Face cache on first use.

For each image you get name.ply, name_input.png (what the model actually saw) and name_camera.json. Useful flags include --seed (default 42), --steps (50), --num_gaussians (262144) and --no_optimize to turn off the faster compiled sampling. pip install -e ".[demo]" adds the Gradio demo, which you start with cd demo && python app.py.

Limitations

  • Single objects only. It is not a scene or room reconstruction model.
  • Thin and transparent things are hard. Glass, wires and very thin parts are known weak spots.
  • The back is a guess. Unseen sides are predicted, so logos and text on the back will not match the real object.
  • Splats are not meshes. For printing, rigging or game assets, you still need a mesh workflow.
  • Licences differ by part. Idol and the ComfyUI pack are Apache-2.0, but DINOv3, the FLUX.2 VAE and BiRefNet each have their own licences. Check them before commercial use.

FAQ

Is Idol free?

Yes. The weights and SDK are free and released under Apache-2.0. The ComfyUI-Idol pack is also Apache-2.0.

Can Idol run on an 8 GB GPU?

Peak VRAM is 7.2 GB at the default settings, so 8 GB cards should work, but with little headroom. ComfyUI’s offloading helps. The smallest card in the official benchmark is a 10 GB RTX 3080 at about 46 seconds per object.

Where do the Idol model files go in ComfyUI?

idol_fp16.safetensors goes in ComfyUI/models/diffusion_models/, idol_decoder_fp16.safetensors and flux2-vae.safetensors in ComfyUI/models/vae/, dino_v3_vit_h.safetensors in ComfyUI/models/clip_vision/, and birefnet.safetensors in ComfyUI/models/background_removal/.

Why does my splat look foggy?

Add Idol Prune Splat with min_opacity 0.05 before saving or rendering. It removes the near-transparent Gaussians that cause the haze.

Can I turn the splat into a mesh?

Yes, with the Extract Mesh from Splat node, which saves a GLB. Quality is fine for previews, but a mesh generator such as TRELLIS.2 gives cleaner geometry.

Is Idol better than TRELLIS?

For splats from a single image, Speridlabs’ benchmark puts Idol ahead on most quality metrics at similar speed. TRELLIS-family models are still the better choice when you need a textured mesh.

Final Thoughts

Idol is one of the easiest ways to get into 3D with ComfyUI right now. It is small, fast, Apache-licensed and, thanks to ComfyUI’s native TripoSplat support, it needs just one git clone and five model files. Use the right crop mode, always prune the haze, and you will get splats that look great in a turntable or a web viewer. If you need meshes, keep a TRELLIS.2 workflow next to it, and use Idol for everything that just needs to look good from every angle.

More guides:

Sources