Single Image to 3D Model: The 2026 Open Source Pipeline
Single image to 3D stopped being a research demo somewhere in 2025. By mid 2026 there are at least eight open weight models that will take one photo and return a mesh, and the interesting question is no longer whether the geometry holds together but whether the texture is usable, whether the topology survives an engine import, and whether the license lets you ship the result. This is a working comparison of the models developers keep asking about, aimed at solo devs and small studios who need an asset in a build, not a paper citation.
Three ways to get 3D out of one photo
The models in this article do not share an architecture, and the differences show up directly in what you get back.
Feed forward regression. Predict a 3D representation in a single forward pass from image features. TripoSR is the reference implementation: a triplane NeRF built on the Large Reconstruction Model recipe that OpenLRM also reproduces. It is MIT licensed, its technical report is arXiv 2403.02151, and the repo states the default options use about 6GB of VRAM. InstantMesh (Apache 2.0, April 2024) puts a multi view diffusion stage in front of a sparse view LRM and replaces marching cubes with FlexiCubes, which produces more regular face distribution than the triplane NeRF route. Stable Fast 3D is the productionised version of this family.
Multi view lift. Hallucinate several consistent views, then fuse them into a surface. Wonder3D is the cleanest surviving example: cross domain diffusion generates six orthographic views at 256x256 with matching normal maps, then a normal fusion step reconstructs the mesh in roughly two to three minutes. Extraction is either Instant-NSR (faster, sharper textures) or a NeuS based path (slower, smoother, lower VRAM). Zero-1-to-3 started this lineage and DreamGaussian pushed it toward splats. The whole family is now mostly of historical interest, but Wonder3D is MIT licensed and still the easiest one to read if you want to understand the mechanism.
Native 3D latent diffusion. Train a VAE on actual 3D data, then run a diffusion or flow transformer in that latent space. This is where everything good in 2026 lives. TripoSG runs a 1.5B parameter rectified flow transformer over an SDF latent space with 2048 tokens, trained on 2 million curated image-SDF pairs. Hunyuan3D 2 uses vecset diffusion for shape plus a separate paint model for texture. TRELLIS introduced Structured Latents (SLAT) that decode to Gaussians, radiance fields, or meshes from one latent; TRELLIS.2 replaces that with an O-Voxel representation. SAM 3D Objects is a two stage flow transformer trained on a human in the loop data engine rather than a synthetic asset dump. Roblox Cube tokenizes shapes and predicts them autoregressively, the way a language model predicts text.
Everything before this generation, Point-E and Shap-E included, is a teaching aid now.
The models side by side
| Model | Approach | Texture output | Min VRAM reported | License | Commercial game asset? |
|---|---|---|---|---|---|
| TripoSG 1.5B | Rectified flow over SDF latents | None, geometry only | 8GB | MIT | Yes |
| TripoSR | Triplane NeRF, feed forward | Vertex colors, optional baked texture | ~6GB | MIT | Yes |
| Stable Fast 3D | Feed forward + UV unwrap | Delit albedo plus material params | ~6GB | Stability AI Community | Under 1M USD revenue |
| Hunyuan3D 2.1 | Vecset diffusion + paint model | Full PBR (albedo, metallic, roughness) | 10GB shape / 29GB both | Tencent Hunyuan 3D 2.1 Community | Yes, with carve outs |
| TRELLIS.2-4B | O-Voxel structured latents | PBR incl. opacity | 24GB | MIT | Yes |
| SAM 3D Objects | Two stage flow transformer | Textured mesh or Gaussian splat | Not published | SAM License | Yes, with use restrictions |
| Roblox Cube | Autoregressive shape tokens, text input | None | 16GB, 24GB fast path | CUBE3D Research-Only RAIL-MS | No |
| Wonder3D | Cross domain multi view diffusion | Baked from NeuS/Instant-NSR | Not published | MIT | Yes |
Two things jump out. Only three of these produce genuine PBR channels, and the single best licensed option is also the one nobody had heard of six months ago.
TRELLIS.2 changed the default answer
Microsoft released TRELLIS.2 with a 4B parameter checkpoint (paper arXiv 2512.14692, December 2025) and it is the model most likely to end the search for anyone with a 24GB card. The representation is the interesting part: O-Voxel is described as field free, meaning it does not go through an iso-surface field and therefore handles open surfaces, non-manifold geometry, and internal enclosed structures without a lossy conversion step. That is a direct answer to the standard failure mode of SDF based generators, which cannot represent a piece of cloth, a leaf, or a hollow interior without thickening it into a solid.
It generates from 512^3 up to 1536^3 voxels and exports GLB with base color, roughness, metallic, and opacity. Microsoft's published timings on an H100 are about 3 seconds at 512^3 (2s shape, 1s materials), about 17 seconds at 1024^3, and about 60 seconds at 1536^3. The stated floor is an NVIDIA GPU with at least 24GB of memory. It is MIT licensed, with nvdiffrast and nvdiffrec dependencies under their own terms.
git clone -b main https://github.com/microsoft/TRELLIS.2.git --recursive
cd TRELLIS.2
. ./setup.sh --new-env --basic --flash-attn --nvdiffrast --nvdiffrec --cumesh --o-voxel --flexgemm
from trellis2.pipelines import Trellis2ImageTo3DPipeline
pipeline = Trellis2ImageTo3DPipeline.from_pretrained("microsoft/TRELLIS.2-4B")
pipeline.cuda()
mesh = pipeline.run(image)[0]
The setup script length is not a typo. This stack compiles CUDA extensions and it is the least forgiving install of anything covered here.
Geometry and topology: what you actually get
Nothing in this list outputs shippable topology. Every one of them produces a dense triangle mesh with polygon distribution driven by the extraction algorithm rather than by anything resembling edge flow, and every one of them will need a retopology pass before it goes near a rig or a subdivision surface. The models differ in how much of that work they do for you.
TripoSG decodes an SDF and meshes it, so the raw output is dense and uniform. The repo exposes a --faces flag that caps the count at generation time, which is the fastest way to get something in a sane budget:
python -m scripts.inference_triposg \
--image-input subject.png \
--faces 20000 \
--output-path ./mesh.glb
Stable Fast 3D is the only model here that ships a remesher in the box. It offers none, triangle, and quad, with a target vertex count. The remesh runs on CPU and the repo flags the overhead there rather than quoting a number; for scale, the paper puts the entire export stage, UV unwrap and baking included, at about 150ms. The quad path produces actual quad flow, which is not the same as production retopology but is a genuinely better starting point than a triangle soup:
python run.py subject.png \
--output-dir output/ \
--remesh_option quad \
--target-vertex-count 8000 \
--texture-resolution 2048
SAM 3D Objects takes a different route entirely. It predicts coarse geometry at 64^3 voxel resolution in a latent space, then a second stage refines texture and surface detail. Two separately trained decoders hang off the same VAE encoder, and therefore the same structured latent space: one emits a mesh, the other 3D Gaussian splats. That shared encoder matters in practice because the mesh and the splat agree with each other, which is not true when you bolt two separate reconstruction systems together.
Roblox Cube writes .obj and v0.5 raised the VQ-VAE latent length from 512 to 1024 to increase fidelity. It is also text-to-shape, not image-to-shape, which is worth knowing before you plan around it.
For anyone chasing better native topology, the VAST research line is the one to follow. TripoSF introduced a SparseFlex tokenizer that trains and infers at 1024^3 and stores data only near the surface; VAST reports an 82 percent reduction in Chamfer Distance and an 88 percent improvement in F-score against prior methods. Only the pretrained VAE and inference code are open, with the full model held for a later Tripo release.
Textures: three tiers, and only one of them is PBR
Tier one, geometry only. TripoSG returns a mesh and nothing else. This is not a shortcoming so much as a scope decision, and it is why TripoSG pairs well with a separate texturing pass. If you need a textured asset from TripoSG alone, you are building the second half yourself.
Tier two, colors baked into the surface. TripoSR gives vertex colors by default and will bake a texture with --bake-texture at a resolution you pick with --texture-resolution. Wonder3D bakes from the reconstructed surface. In both cases lighting from the source photo is baked in, so the asset will look wrong the moment you light it differently.
Tier three, actual materials. Stable Fast 3D removes low frequency lighting from the input, predicts material parameters and normal maps, and UV unwraps, specifically so the result drops into a game engine. Hunyuan3D 2.1's paint model produces albedo, metallic, and roughness. TRELLIS.2 adds opacity, which matters more than it sounds: it is the difference between a glass bottle that renders and a glass bottle that is a frosted lump.
One detail from the Hunyuan3D 2.1 install worth flagging: the setup pulls RealESRGAN_x4plus.pth into the paint checkpoint directory, so Real-ESRGAN is part of its texture path rather than an optional extra.
VRAM and speed: what runs on the card you own
| Model | Reported VRAM | Reported speed |
|---|---|---|
| TripoSR | ~6GB default | Under 0.5s on an A100 |
| Stable Fast 3D | ~6GB default | 0.5s, measured on an H100 in the SF3D paper |
| TripoSG 1.5B | 8GB+ CUDA GPU | Not published |
| Hunyuan3D 2.0 | 6GB shape, 16GB shape + texture | Turbo checkpoints via FlashVDM, no figure in the repo |
| Hunyuan3D 2.1 | 10GB shape, 21GB texture, 29GB both | Not published |
| TRELLIS (v1) image-large | 16GB | Not published |
| TRELLIS.2-4B | 24GB | 3s / 17s / 60s at 512, 1024, 1536 cubed on H100 |
| Roblox Cube | 16GB, 24GB with fast inference | Not published |
The Hunyuan3D 2.0 to 2.1 jump is the one that catches people out. Going from 2.0's 1.1B shape DiT plus 1.3B paint model to 2.1's larger shape model plus the full PBR paint stack moved the whole pipeline from 16GB to 29GB. If you have a 12GB or 16GB card, the 2.0 line is still the one that fits, and the 0.6B mini and 1.1B multiview variants exist precisely for that. Tencent's FlashVDM work is what makes the Turbo checkpoints viable: it cuts diffusion sampling to as few as 5 inference steps, and the technical report claims roughly 45x on reconstruction and 32x on generation. FlashVDM is framed as a systematic framework for accelerating both the VAE and the DiT in any vecset diffusion model, not just Hunyuan3D.
SAM 3D Objects does not publish a VRAM figure. Community reports on the repo include out of memory failures on a 20GB card, so budget accordingly and expect to reduce resolution or object count on anything smaller than 24GB.
Licenses: the section that decides your shortlist
For a commercial game asset, the license on the weights is a harder constraint than any benchmark. Sorted from least to most friction:
MIT. TripoSG, TripoSR, Wonder3D, TRELLIS, and TRELLIS.2 are all MIT. No revenue thresholds, no territory carve outs, no user count triggers. InstantMesh is Apache 2.0, which is equivalent for practical purposes and requires attribution.
SAM License. SAM 3D Objects and SAM 3 ship under Meta's SAM License, which grants a non-exclusive, worldwide, royalty free license and does not prohibit commercial use. The restrictions are real but narrow: no military, warfare, nuclear, espionage, or ITAR regulated use; no reverse engineering; and the license terminates if you sue Meta over patents in the SAM materials.
Stability AI Community License. Stable Fast 3D is free for research and non-commercial use, and free for commercial use by individuals and organisations at or under 1,000,000 USD in annual revenue, regardless of the source of that revenue. Research-only use sits outside the revenue test entirely. Above that you need an enterprise license from Stability before commercially using the model, a derivative, or its outputs. For an indie studio this is usually fine. For an established one it is a procurement conversation.
Tencent Hunyuan 3D Community License. Both the 2.0 and 2.1 agreements allow commercial use until your product passes 1 million monthly active users, at which point you must request a license from Tencent, granted at their discretion. The bigger catch is territorial: the agreement states in capitals that it does not apply in the European Union, United Kingdom, and South Korea, and use outside the licensed territory is unlicensed. You also have to ship a notice file with the exact string naming the license and the Tencent copyright. A studio headquartered in Berlin or London cannot treat Hunyuan3D as an open source dependency.
CUBE3D Research-Only RAIL-MS. Roblox Cube is academic and research use only. It is a genuinely interesting model, the mesh generation API is available inside the Roblox platform, and the open weights cannot be used to make an asset you sell anywhere else. CubePart, added to the repo in May 2026, extends Cube with open vocabulary part controllable generation: you hand it a parts schema and it synthesises one mesh per schema element, assembled into a coherent object. That is exactly what a game engine wants, and it is worth reading CubePart's own license terms rather than assuming they are looser than Cube's.
Two adjacent traps worth naming, because people reach for these when one photo is not enough. DUSt3R is CC BY-NC-SA 4.0 and cannot be used commercially. VGGT shipped non-commercial originally, and a separate commercially licensed checkpoint was released in July 2025, so check which weights you actually downloaded.
Finally, the license on the weights is not the license on your input. A model can be MIT and your asset can still be a problem if the photo you fed it was not yours.
A pipeline that ships
The generation model is maybe a third of the work. The rest is preprocessing and cleanup, and both stages are where quality actually moves.
Isolate the subject. Every one of these models expects a clean foreground. Hunyuan3D and TripoSR both call rembg internally when the input has no alpha channel, and results are consistently better with a solid background than a busy one. For anything cluttered, a prompted mask from SAM 3 beats a generic matte:
pip install "rembg[gpu]"
rembg i photo.png subject.png
Square the framing and upscale if needed. Low resolution inputs produce mushy backs. This is the cheapest quality win available.
Generate. Pick from the table above, not from a leaderboard.
Cap the polygon count at generation time where the model supports it (--faces on TripoSG, --target-vertex-count on Stable Fast 3D). Decimating afterwards in Blender is fine but throws away detail the model already resolved.
Clean up. Merge by distance, delete loose geometry, recalculate normals, then retopologise or decimate to budget. This is unglamorous and unavoidable.
If you would rather not manage CUDA extensions across four repos, ComfyUI is the pragmatic host. Hunyuan3D 2 has both an official ComfyUI tutorial and community wrappers, and the background removal, upscaling, and image conditioning stages you need anyway are already nodes.
Where each one actually wins
TripoSG if you want the best MIT licensed geometry from a model that fits in 8GB and you have your own texturing stage. Geometry only is a feature when you already own the look.
TRELLIS.2-4B if you have 24GB and want one model that outputs PBR GLB with opacity and handles thin and open surfaces. MIT license, no strings. This is the current default for most people who qualify on hardware.
Stable Fast 3D if latency is the constraint. Half a second in the paper's H100 numbers, UV unwrapped, delit, with a quad remesher, and about 6GB at default settings. Nothing else in this list is close on speed per dollar of hardware. Just confirm you are under the revenue threshold.
Hunyuan3D 2.1 if you want the strongest open PBR pipeline and you are not in the EU, UK, or South Korea. Use the 2.0 mini or Turbo checkpoints if 29GB is out of reach.
SAM 3D Objects if the input is a real photograph with occlusion and clutter rather than a clean product shot. Meta reports at least a 5:1 win rate in human preference against other single image methods on real world objects, and the training data engine explains why: roughly 3.14 million mesh annotations across nearly 1 million real images rather than a pile of synthetic assets. It is also the only one here that gives you a mesh and a Gaussian splat from the same encoder.
TripoSR if you need something that runs anywhere, fast, MIT, and you can live with vertex colors. Two years on it is still the sane baseline.
Wonder3D for understanding the multi view approach, and for cases where normal map supervision genuinely helps. Not the model to build a pipeline on in 2026.
Roblox Cube only inside Roblox, or in research.
What to watch
Part aware generation is the next real unlock. A single fused mesh cannot be rigged, LODed, or reskinned per component without manual splitting, and CubePart shipping one mesh per schema element is a signal that the field has noticed. Native quad generation research is moving in parallel, which would remove the retopology step rather than automating it.
Watch the license drift too. Tencent's territorial exclusions and Stability's revenue threshold are both the kind of term that changes between minor versions, and it is worth re-reading the LICENSE file rather than the README on every upgrade. MIT releases like TRELLIS.2 put real pressure on that.
If you have more than one photo, stop using these models. Multi view photogrammetry via Meshroom, or a neural pipeline through Nerfstudio, will beat any single image reconstruction on accuracy, because they are measuring rather than guessing. And if the goal is an environment rather than an object, HunyuanWorld is a different problem with different tools. Single image reconstruction is for the case where one photo is genuinely all you have, which, for concept art and reference images, is most of the time.
Related Tools
ComfyUI
Node-based UI for powerful Stable Diffusion workflows
Hunyuan3D-2
Generates high-resolution textured 3D assets from images or text with separate shape and texture models.
InstantMesh
Fast single-image to 3D mesh generation using multi-view diffusion and LRM.
Rembg
AI-powered background removal tool for images.
Roblox Cube
Roblox's research foundation model that generates 3D shapes from text prompts for game assets.
SAM 3
Meta segmentation model that detects and tracks every instance of a concept from text or visual prompts.
SAM 3D Objects
Reconstructs 3D shape, texture, and layout of objects from a single cluttered real-world photo.
Stable Fast 3D
Turns a single image into a textured, UV-unwrapped 3D mesh in under a second.
TRELLIS
Large-scale 3D asset generation framework using structured latent representations.
TripoSG
Generates high-fidelity 3D meshes from single images with a 1.5B rectified flow transformer.
TripoSR
Fast single-image 3D reconstruction by Stability AI and Tripo in under 1 second.
Wonder3D
Single image to 3D mesh with cross-domain diffusion for consistent multi-view generation.
More Articles
The LLM Evaluation Stack: Ragas, LightEval, OpenCompass
A working guide to the 2026 LLM evaluation stack: Ragas for RAG metrics, LightEval and OpenCompass for benchmarks, DeepEval in CI, and tracing for online eval.
Instruction Image Editing in 2026: Kontext, Qwen, Step1X
A working comparison of FLUX.1 Kontext, Qwen-Image-Edit, Step1X-Edit, MagicQuill and SUPIR on license, VRAM, instruction fidelity, and 4-bit speed.
LLM Gateways in Production: LiteLLM vs Portkey vs Bifrost
A working comparison of LiteLLM, Portkey, and Bifrost on routing, caching, budgets, observability, and real latency overhead in production.