Instructions to use ChrisColeTech/TripoSG with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use ChrisColeTech/TripoSG with Diffusers:
pip install -U diffusers transformers accelerate
import torch from diffusers import DiffusionPipeline # switch to "mps" for apple devices pipe = DiffusionPipeline.from_pretrained("ChrisColeTech/TripoSG", dtype=torch.bfloat16, device_map="cuda") prompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k" image = pipe(prompt).images[0] - Notebooks
- Google Colab
- Kaggle
import torch
from diffusers import DiffusionPipeline
# switch to "mps" for apple devices
pipe = DiffusionPipeline.from_pretrained("ChrisColeTech/TripoSG", dtype=torch.bfloat16, device_map="cuda")
prompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k"
image = pipe(prompt).images[0]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.
![]() | ![]() |
| **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 |
Textured (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 |
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.
- Downloads last month
- -
Model tree for ChrisColeTech/TripoSG
Base model
VAST-AI/TripoSG





