Introduction

Idol, the single-image-to-3D-splat model, now has a speed dial. BudgetAny, a community project, has published Budget3D-Idol and Budget3D-Idol-Turbo. They are Apache-2.0 fine-tunes of Sperid Labs' Idol and Idol-turbo, with MIT-licensed code on GitHub. The trick is that one checkpoint runs at any token budget. You pass --budget 0.5 and the transformer only processes half of Idol's 8,192 latent tokens. Empty space and flat regions get merged first, and full-resolution tokens stay where the shape changes most. On the project's own benchmark, Turbo's sampling step drops from 0.48 s per object at full budget to 0.15 s at 10%.

What shipped

  • What it is: two image-to-3D checkpoints, Budget3D-Idol (50 steps, 378M parameters, 1.51 GB) and Budget3D-Idol-Turbo (5 steps, 407M parameters, 1.63 GB)
  • Who made it: BudgetAny, which calls itself an unofficial community project and "not a company or a lab." It applies the compute-adaptive tokenization from the BudgetPix paper (Kara et al., 2026) to 3D. The paper itself covers only 2D image diffusion
  • Modality: one image in, 3D Gaussian splats out (.ply)
  • Open vs API: open. The weights are Apache-2.0 and the code is MIT. Running it also needs DINOv3 ViT-H+/16 and the FLUX.2 VAE, which have their own licenses
  • Where to run it today: locally on a CUDA GPU with Python 3.10+, through scripts/sample.py in the repo. There's no hosted demo or ComfyUI node yet
  • Concrete fact: budgets go from 0.0625 to 1.0 with the same weights. Turbo's peak sampling memory falls from 8.0 GB at full budget to 6.0 GB at 10%

Why it matters for game prop pipelines

Idol has become one of the more popular open image-to-3D options since it landed in late October. It already runs in ComfyUI and LichtFeld Studio, and a wave of mirrors and quantized builds has followed on Hugging Face. Budget3D adds something you don't usually get from an open 3D model: per-call control over how much compute goes into each asset.

That fits how prop work actually happens. Most of the time you're generating rough versions to block out a level, judge silhouettes, or fill a moodboard, and only a few candidates get a full-quality pass. With Budget3D you can run drafts at 20–40% and rerun the keepers at 100%, all from one checkpoint. You don't need a second model or a separate distillation.

Here's what the project measured. These are the project's own numbers, not results from the paper:

  • Turbo, 5 steps, RTX PRO 6000 Blackwell, --fast: 0.48 s of sampling per object at 100%, 0.27 s at 50% and 0.15 s at 10%, a 3.22× speedup
  • 50-step Idol, H100, --fast: 5.67 s at 100% and 2.66 s at 40%, a 2.14× speedup. End to end that's 11.80 s down to 8.62 s
  • Fixed costs: splat decoding and the 72-frame preview orbit cost the same at every budget. For Turbo that's 0.92 s plus 2.25 s, so end-to-end time only moves from 3.64 s to 3.23 s

Try it

git clone https://github.com/BudgetAny/Budget3D && cd Budget3D
git clone https://github.com/speridlabs/idol-sdk third_party/idol-sdk
pip install -r requirements.txt -r third_party/idol-sdk/requirements.txt
python scripts/convert_dinov3_to_hf.py --model-name vith16plus_lvd1689m --save-dir weights/dinov3
hf download BudgetAny/Budget3D-Idol-Turbo budget3d_idol_turbo.safetensors --local-dir weights

# draft pass at 30% of the tokens
python scripts/sample.py --ckpt weights/budget3d_idol_turbo.safetensors --turbo \
  --image prop.png --budget 0.3 --fast --out prop_draft.ply

# hero pass at full budget
python scripts/sample.py --ckpt weights/budget3d_idol_turbo.safetensors --turbo \
  --image prop.png --budget 1.0 --fast --out prop_hero.ply

Add --mode real for photographs, which applies Idol's own crop. Idol's image encoders and Gaussian decoders download from Sperid Labs on first run.

The catch

  • For Turbo, the savings are mostly in sampling. Every sequence still carries 4,102 image-condition tokens that the budget doesn't shorten. And once sampling is under half a second, decoding and rendering take most of the time. The bigger wall-clock gains come with the 50-step model.
  • You get splats, not meshes. The output is Gaussian .ply. To get a game-ready mesh you still need a splat-to-mesh conversion step, plus retopology.
  • It's early. The tech report isn't out yet, both repos had zero stars and likes when we checked, and all the benchmarks are self-reported on Objaverse-style objects. The demo clips show detail softening as the budget drops, so check quality at the budget you plan to use.
  • Check the dependency licenses. Budget3D's own files are permissive, but DINOv3 and the FLUX.2 VAE are not part of the release and come with their own terms. Read them before you ship anything commercial.

If you already run Idol for prop drafts, this is an easy upgrade to try. One file swap gives you a draft mode for free.

—Titus