image-to-3d3d-generationopen-source-modelsgame-assetsmodel-licensing

Single Image to 3D Model: The 2026 Open Source Pipeline

Max P

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

ModelApproachTexture outputMin VRAM reportedLicenseCommercial game asset?
TripoSG 1.5BRectified flow over SDF latentsNone, geometry only8GBMITYes
TripoSRTriplane NeRF, feed forwardVertex colors, optional baked texture~6GBMITYes
Stable Fast 3DFeed forward + UV unwrapDelit albedo plus material params~6GBStability AI CommunityUnder 1M USD revenue
Hunyuan3D 2.1Vecset diffusion + paint modelFull PBR (albedo, metallic, roughness)10GB shape / 29GB bothTencent Hunyuan 3D 2.1 CommunityYes, with carve outs
TRELLIS.2-4BO-Voxel structured latentsPBR incl. opacity24GBMITYes
SAM 3D ObjectsTwo stage flow transformerTextured mesh or Gaussian splatNot publishedSAM LicenseYes, with use restrictions
Roblox CubeAutoregressive shape tokens, text inputNone16GB, 24GB fast pathCUBE3D Research-Only RAIL-MSNo
Wonder3DCross domain multi view diffusionBaked from NeuS/Instant-NSRNot publishedMITYes

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

ModelReported VRAMReported speed
TripoSR~6GB defaultUnder 0.5s on an A100
Stable Fast 3D~6GB default0.5s, measured on an H100 in the SF3D paper
TripoSG 1.5B8GB+ CUDA GPUNot published
Hunyuan3D 2.06GB shape, 16GB shape + textureTurbo checkpoints via FlashVDM, no figure in the repo
Hunyuan3D 2.110GB shape, 21GB texture, 29GB bothNot published
TRELLIS (v1) image-large16GBNot published
TRELLIS.2-4B24GB3s / 17s / 60s at 512, 1024, 1536 cubed on H100
Roblox Cube16GB, 24GB with fast inferenceNot 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

More Articles