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.
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.
| **source** — `a cute chunky retro robot toy standing upright, rounded metal body, simple friendly face, studio product photograph on a plain white background` | **mesh** — 15.2 MB `.glb`, generated in 30 s, seed 42 |
| **source** — `an ornate ceramic teapot with a curved spout and handle, glazed blue and white porcelain, studio product photograph` | **mesh** — 37.6 MB `.glb`, generated in 18 s, seed 42 |
img2mesh_textured)The same robot run through the full chain — TripoSG shape, then the paint stage — instead of shape alone.
| **`img2mesh`** — 15.2 MB, 845k faces, **18 s** | **`img2mesh_textured`** — 27.6 MB with a baked base-colour texture, **+24 min** for the paint stage |
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.
| 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)
img2mesh output is untextured; texturing is a separate paint stage.
img2mesh_textured chains 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.| 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) |
VAST-AI/TripoSG (MIT)split/TripoSG/transformer/diffusion_pytorch_model.safetensors 5.8 GBsplit/TripoSG-scribble/transformer/diffusion_pytorch_model.safetensors 3.4 GBsplit/TripoSG/image_encoder_dinov2/model.safetensors 1.2 GBsplit/TripoSG/vae/diffusion_pytorch_model.safetensors 971 MBsplit/TripoSG-scribble/image_encoder_dinov2/model.safetensors 609 MBsplit/TripoSG-scribble/vae/diffusion_pytorch_model.safetensors 485 MBsplit/TripoSG-scribble/text_encoder/model.safetensors 247 MBsplit/RMBG-1.4/model.safetensors 176 MBHave the files? Submit a torrent.
Submit a torrentHave the complete files and permission to share them? Replace the example folder path. The script checks the files, makes a torrent and submits its magnet and checksums. Keep your torrent client seeding. Get your community key from your settings, and read the script before running it.
curl -fsSL https://pirateface.co/package.sh | bash -s -- --repo ChrisColeTech/TripoSG ./model-folderVAST-AI/TripoSG