Instructions to use mlx-community/tripo_splat_mlx with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use mlx-community/tripo_splat_mlx with MLX:
# Download the model from the Hub pip install huggingface_hub[hf_xet] huggingface-cli download --local-dir tripo_splat_mlx mlx-community/tripo_splat_mlx
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
| license: other | |
| license_name: mixed-see-license-section | |
| tags: | |
| - mlx | |
| - triposplat | |
| - 3d-gaussian-splatting | |
| - image-to-3d | |
| - apple-silicon | |
| # TripoSplat MLX | |
| MLX-native implementation of [TripoSplat](https://github.com/VAST-AI-Research/TripoSplat) for Apple Silicon. | |
| Part of **TripoFlux MLX** β a full MLX / CoreML accelerated text-to-3D pipeline | |
| (**FLUX.2-klein-9B β BiRefNet β TripoSplat β .ply / .splat / .spz**) with an R3F web UI | |
| featuring a [Looking Glass](https://lookingglassfactory.com/) holographic WebXR preview. | |
| ## Demo | |
| [](https://www.bilibili.com/video/BV1bFge6qEK2) | |
| πΊ [Bilibili video: Looking Glass (LKG) WebXR holographic preview demo](https://www.bilibili.com/video/BV1bFge6qEK2) | |
| This repository contains MLX ports of the TripoSplat submodules: | |
| - **`mlx_models/dinov3_mlx.py`** β DinoV3 ViT-H/16+ image encoder | |
| - **`mlx_models/flux2vae_mlx.py`** β Flux2 VAE encoder | |
| - **`mlx_models/flow_mlx.py`** β LatentSeqMMFlowModel (24-block multimodal flow transformer) | |
| The original TripoSplat decoder (`OctreeGaussianDecoder`) remains on PyTorch MPS due to its complex dynamic sampling logic. | |
| ## Weights | |
| | File | Size | Description | | |
| |------|------|-------------| | |
| | `dino_v3_vit_h.safetensors` | 1.6 GB | DinoV3 ViT-H/16+ image encoder | | |
| | `flux2-vae.safetensors` | 336 MB | Flux2 VAE encoder | | |
| | `triposplat_fp16.safetensors` | 741 MB | LatentSeqMMFlowModel (flow transformer) | | |
| | `triposplat_vae_decoder_fp16.safetensors` | 576 MB | TripoSplat VAE decoder | | |
| | `birefnet.safetensors` | 444 MB | BiRefNet background removal | | |
| ## License | |
| This is a **mixed-license repository**. The most restrictive artifact determines | |
| what the repository as a whole can be used for β with `flux2-vae.safetensors` | |
| included, the repo as a whole is **non-commercial only**. | |
| ### β Non-commercial β separate restriction | |
| | File | Upstream | License | Terms | | |
| |------|----------|---------|-------| | |
| | `flux2-vae.safetensors` | [black-forest-labs/FLUX.2-klein-9B](https://huggingface.co/black-forest-labs/FLUX.2-klein-9B) | **FLUX Non-Commercial License** | Weights are gated upstream. Commercial use of the weights or their outputs requires a paid license from Black Forest Labs. If you need a fully permissive stack, delete this file and load the VAE from the upstream gated repo at runtime after accepting its terms. | | |
| ### β οΈ Custom permissive license β attribution required on redistribution | |
| | File | Upstream | License | Terms | | |
| |------|----------|---------|-------| | |
| | `dino_v3_vit_h.safetensors` | [facebook/dinov3](https://github.com/facebookresearch/dinov3) | **DINOv3 License** | Commercial use **is allowed**, but any redistribution of copies or derivatives must include the DINOv3 License text. Upstream downloads are gated and unavailable in sanctioned jurisdictions. | | |
| ### β MIT β permissive core | |
| | File | Upstream | License | | |
| |------|----------|---------| | |
| | `triposplat_fp16.safetensors` | [VAST-AI/TripoSplat](https://huggingface.co/VAST-AI/TripoSplat) | MIT | | |
| | `triposplat_vae_decoder_fp16.safetensors` | [VAST-AI/TripoSplat](https://huggingface.co/VAST-AI/TripoSplat) | MIT | | |
| | `birefnet.safetensors` | [ZhengPeng7/BiRefNet](https://huggingface.co/ZhengPeng7/BiRefNet) | MIT | | |
| | `mlx_models/*.py` | this repo (MLX port) | MIT | | |
| The MLX port code in `mlx_models/` is released under the | |
| [MIT License](https://opensource.org/licenses/MIT), same as the main project: | |
| [https://github.com/Jup33Q/tripoflux-mlx](https://github.com/Jup33Q/tripoflux-mlx). | |
| ## Usage | |
| ```python | |
| from mlx_models.dinov3_mlx import DinoV3ViT | |
| from mlx_models.flux2vae_mlx import Flux2VAEEncoder | |
| from mlx_models.flow_mlx import LatentSeqMMFlowModel | |
| # Load models | |
| dino = DinoV3ViT() | |
| dino.load_safetensors("dino_v3_vit_h.safetensors") | |
| vae = Flux2VAEEncoder() | |
| vae.load_safetensors("flux2-vae.safetensors") | |
| flow = LatentSeqMMFlowModel( | |
| q_token_length=8192, in_channels=16, cam_channels=5, out_channels=16, | |
| model_channels=1024, cond_channels=1280, cond2_channels=128, | |
| num_refiner_blocks=2, num_blocks=24, num_heads=16, mlp_ratio=4, | |
| qk_rms_norm=True, share_mod=True, use_shift_table=True, | |
| ) | |
| flow.load_safetensors("triposplat_fp16.safetensors") | |
| ``` | |
| ## Full Pipeline | |
| For the complete text-to-3D pipeline (FLUX.2-klein-9B β BiRefNet β TripoSplat β SPZ export), see the main project: | |
| [https://github.com/Jup33Q/tripoflux-mlx](https://github.com/Jup33Q/tripoflux-mlx) | |
| - R3F web UI with splat viewport, SSE progress streaming, and Looking Glass WebXR preview | |
| - SPZ-canonical exports (`.spz` / `.ply` / `.splat`) | |
| - TripoSplat sampler steps selectable (20 / 24 / 28) | |
| - Mirror on ModelScope: [Jup33Q/TripoSplat-MLX](https://modelscope.cn/models/Jup33Q/TripoSplat-MLX) | |