TripoSG — image-to-3D mesh
1.5B rectified-flow image-to-mesh generator. ≈20–30 s per mesh on an RTX 5090, producing dense watertight geometry straight from a single photo.
What this repo is: the TripoSG and TripoSG-scribble pipelines plus the RMBG-1.4 background remover they need — weights only, not a retrain. The samples below were generated with this build, not copied from upstream.
Samples
Single image in, mesh out. Source images were rendered with Z-Image Turbo;
the meshes are Blender Workbench clay renders of the raw .glb output — no
cleanup, no retopology, no texturing.
Textured (img2mesh_textured)
The same robot run through the full chain — TripoSG shape, then the paint stage — instead of shape alone.
Turntable
Four views of the same mesh, 90° apart — the back is inferred, not copied.


The chest panel, hand hooks and boot flare survive on the front; the unseen back is plausibly closed rather than hollow or spiked. Fine surface text and sub-millimetre detail do not survive — this is a shape model.
Recommended settings
| Parameter | Production value | Meaning |
|---|---|---|
seed | any | Deterministic per seed |
| input | one RGB(A) image | Background is removed automatically via RMBG-1.4 |
| output | .glb | Watertight triangle mesh, no texture |
Supported modes: img2mesh, img2mesh_textured (texturing is a separate paint stage — see gotchas)
Notes and gotchas
- Give it one clean, centred subject on a plain background. The pipeline runs RMBG-1.4 first; a busy background costs you geometry, not just time.
- Mesh sizes vary hugely with subject complexity — 15 MB for the robot, 38 MB for the teapot at identical settings. Budget disk accordingly if you are generating in bulk.
img2meshoutput is untextured; texturing is a separate paint stage.img2mesh_texturedchains a paint model after the shape model and does produce a correctly textured mesh — but budget for it: on an 845k-face mesh the paint stage took ≈24 minutes (versus 18 s for the shape stage), and nearly all of that is a pure-Python UV hole-filling loop rather than GPU work. Plan the textured path as a batch job, not an interactive one.- Orientation is consistent: generated meshes come out facing +Y with the source image's front as the front, so a fixed camera works across batches.
- ≈10 GB VRAM resident at default settings.
Files
| Path | Size | Role |
|---|---|---|
split/TripoSG/transformer/ | 5.76 GB | main rectified-flow transformer |
split/TripoSG/vae/ | 971 MB | shape VAE |
split/TripoSG/image_encoder_dinov2/ | 1.22 GB | DINOv2 image encoder |
split/TripoSG-scribble/ | 4.7 GB | scribble-conditioned variant (transformer + VAE + CLIP text encoder) |
split/RMBG-1.4/ | 176 MB | background remover (run before meshing) |
Provenance
- Upstream base model:
VAST-AI/TripoSG(MIT) - This build: redistributed as a split component tree alongside the scribble variant and RMBG-1.4. Weights are not retrained here.
- License: MIT, per upstream.