Open-source Image-to-3D Generation Platform
Transform single images into high-quality 3D assets using state-of-the-art AI models.
Features • Quick Start • Models • Usage • Roadmap • Contributing
Watch the full demo on YouTube
This is an early release (v0.1.0). While functional, expect:
Future development and new features will be prioritized based on community interest.
If you like the project, please ⭐ star it and contribute!
The number of stars and contributions help us understand the need for improvements and guide our efforts.
| Feature | Description |
|---|---|
| 🎨 Multiple AI Models | TRELLIS 2 (4B params), TRELLIS, PartPacker and more to come |
| 🎮 Game-Ready Pipeline | Topology optimization, UV unwrapping, LOD generation |
| 🖨️ Print-Ready Pipeline | Manifold repair, watertight validation |
| ⚡ Serverless GPU | Auto-scaling on Modal with A10G/A100/L40S |
| 🎯 PBR Materials | Metallic, roughness, opacity maps (TRELLIS 2) |
| 🧩 Part-Level Output | Reassemblable parts with PartPacker |
| 🖥️ Modern Web UI | React + TypeScript frontend with 3D viewer |
Meshii is not another AI orchestration tool - it's a specialized production pipeline that solves the complete image-to-3D workflow for game developers and 3D artists.
✅ Production-Ready Pipelines: Game-ready (topology optimization, UV unwrapping, LOD) and print-ready (manifold repair, watertight) workflows built-in
✅ Serverless GPU: Zero hardware investment - use A10G/A100/L40S GPUs for $0.03-$0.10 per generation with $30 free credits
✅ Complete Application: Modern web UI with 3D viewer, job management, and API - not just a workflow builder
✅ Multi-Model Intelligence: Automatically select between TRELLIS 2 (4B params, PBR materials), TRELLIS (fast), and PartPacker (reassemblable parts)
✅ Open Source: MIT license, self-hosted on Modal, extend with your own models and pipelines
Before starting, you'll need:
pip install modal
modal setup # Follow the authentication flow
# Clone the repository
git clone https://github.com/sciences44/meshii.git
cd meshii
# Run the interactive setup
python setup.py
The setup wizard will guide you through:
# Clone the repository
git clone https://github.com/sciences44/meshii.git
cd meshii
# Create virtual environment
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
# Install Python dependencies
pip install -r requirements.txt
# Copy and configure environment
cp .env.example .env
# Edit .env and add your HF_TOKEN
# Add HuggingFace token to Modal
modal secret create huggingface-secret HF_TOKEN="hf_your_token_here"
# Download model weights (takes 10-20 minutes)
modal run backend/modal_app.py::download_models
# Deploy to Modal
modal deploy backend/modal_app.py
# Note the URL: https://YOUR_USERNAME--meshii-fastapi-app.modal.run
# Update .env with your Modal URL
# VITE_API_URL=https://YOUR_USERNAME--meshii-fastapi-app.modal.run
# Setup frontend
cd frontend
npm install
npm run dev
# In another terminal: Start local post-processing server (optional)
# Required for mesh optimization (decimation, tris-to-quads, etc.)
cd backend
uvicorn local_postprocess:app --host 0.0.0.0 --port 8001
Open http://localhost:5173 and generate your first 3D model!
Note: The local post-processing server (port 8001) is optional but required if you want to use advanced mesh optimization features like decimation, topology optimization, or tris-to-quads conversion.
| Model | Parameters | GPU | Time | Best For |
|---|---|---|---|---|
| TRELLIS 2 | 4B | A10G/A100 | 15-60s | High-quality PBR meshes |
| TRELLIS | 342M-2B | A100-40GB | 10-20s | Fast generation |
| PartPacker | - | L40S | 15-30s | Part-level meshes |
The easiest way to use Meshii:
# Full setup wizard
python setup.py setup
# Check prerequisites
python setup.py check
# Deploy to Modal
python setup.py deploy
# Download model weights
python setup.py download
# Run Modal in dev mode (hot reload)
python setup.py serve
# Start frontend only
python setup.py frontend
# Start local post-processing server (optional)
cd backend && uvicorn local_postprocess:app --host 0.0.0.0 --port 8001
Post-Processing Server: This optional local server handles advanced mesh optimization (decimation, tris-to-quads, topology fixes). It runs on
localhost:8001and uses pymeshlab for processing. Only needed if you want to use these features.
import httpx
import os
# Get your Modal API URL from environment or use your deployment URL
API_URL = os.getenv("VITE_API_URL", "https://YOUR_USERNAME--meshii-fastapi-app.modal.run")
with open("input.png", "rb") as f:
response = httpx.post(
f"{API_URL}/generate",
files={"image": f},
data={
"model": "trellis2",
"pipeline_type": "1024_cascade",
},
)
result = response.json()
# Download GLB from result['assets'][0]['url']
┌─────────────────┐ ┌─────────────────────────────────────────┐
│ Frontend │ │ Modal (GPU Cloud) │
│ (React/Vite) │ │ │
│ │◄────────┤ FastAPI Web App │
│ localhost:5173 │ HTTPS │ ↳ /api/v1/generate │
│ │ ──────► │ ↳ /api/v1/jobs │
│ │ │ ↳ /api/v1/download │
└─────────────────┘ │ │
│ GPU Inference Classes: │
│ ├─ Trellis2Inference (A10G/A100) │
│ ├─ TrellisInference (A100) │
│ └─ PartPackerInference (L40S) │
│ │
│ Modal Volumes: │
│ ├─ /models (HuggingFace weights) │
│ └─ /results (Generated GLB files) │
└─────────────────────────────────────────┘
meshii/
├── setup.py # CLI setup tool
├── backend/
│ ├── modal_app.py # Modal deployment & GPU inference
│ ├── config/ # Configuration management (Pydantic)
│ ├── strategies/ # Model inference strategies
│ ├── processors/ # Post-processing pipelines
│ ├── factories/ # Factory pattern for models
│ └── api/ # FastAPI routes
├── frontend/ # React + TypeScript UI
│ ├── src/components/ # UI components
│ ├── src/store/ # Zustand state management
│ └── src/hooks/ # Custom React hooks
└── configs/ # YAML presets
├── trellis2_*.yaml # TRELLIS 2 presets
├── game_ready.yaml # Game optimization
└── print_ready.yaml # 3D printing optimization
Modal charges based on GPU usage:
| Model | GPU | Cost/Run | Runs/$10 |
|---|---|---|---|
| TRELLIS 2 | A10G | ~$0.03 | ~300 |
| TRELLIS 2 | A100-80GB | ~$0.10 | ~100 |
| TRELLIS | A100-40GB | ~$0.05 | ~200 |
| PartPacker | L40S | ~$0.04 | ~250 |
Free tier: Modal gives you $30 free credits, enough for ~300-1000 generations!
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
git checkout -b feature/amazing-featurepytest tests/git commit -m 'Add amazing feature'git push origin feature/amazing-feature# Run Modal with hot reload
modal serve backend/modal_app.py
# Run frontend with hot reload
cd frontend && npm run dev
This project is licensed under the MIT License - see LICENSE file.
The AI models used have their own licenses:
Please review and accept these licenses on HuggingFace before use.
Made with ❤️ by Sciences 44
2 commits
Python
68.8%
TypeScript
29.1%
CSS
1.9%
Open-source Image-to-3D Generation Platform
Transform single images into high-quality 3D assets using state-of-the-art AI models.
Features • Quick Start • Models • Usage • Roadmap • Contributing
Watch the full demo on YouTube
This is an early release (v0.1.0). While functional, expect:
Future development and new features will be prioritized based on community interest.
If you like the project, please ⭐ star it and contribute!
The number of stars and contributions help us understand the need for improvements and guide our efforts.
| Feature | Description |
|---|---|
| 🎨 Multiple AI Models | TRELLIS 2 (4B params), TRELLIS, PartPacker and more to come |
| 🎮 Game-Ready Pipeline | Topology optimization, UV unwrapping, LOD generation |
| 🖨️ Print-Ready Pipeline | Manifold repair, watertight validation |
| ⚡ Serverless GPU | Auto-scaling on Modal with A10G/A100/L40S |
| 🎯 PBR Materials | Metallic, roughness, opacity maps (TRELLIS 2) |
| 🧩 Part-Level Output | Reassemblable parts with PartPacker |
| 🖥️ Modern Web UI | React + TypeScript frontend with 3D viewer |
Meshii is not another AI orchestration tool - it's a specialized production pipeline that solves the complete image-to-3D workflow for game developers and 3D artists.
✅ Production-Ready Pipelines: Game-ready (topology optimization, UV unwrapping, LOD) and print-ready (manifold repair, watertight) workflows built-in
✅ Serverless GPU: Zero hardware investment - use A10G/A100/L40S GPUs for $0.03-$0.10 per generation with $30 free credits
✅ Complete Application: Modern web UI with 3D viewer, job management, and API - not just a workflow builder
✅ Multi-Model Intelligence: Automatically select between TRELLIS 2 (4B params, PBR materials), TRELLIS (fast), and PartPacker (reassemblable parts)
✅ Open Source: MIT license, self-hosted on Modal, extend with your own models and pipelines
Before starting, you'll need:
pip install modal
modal setup # Follow the authentication flow
# Clone the repository
git clone https://github.com/sciences44/meshii.git
cd meshii
# Run the interactive setup
python setup.py
The setup wizard will guide you through:
# Clone the repository
git clone https://github.com/sciences44/meshii.git
cd meshii
# Create virtual environment
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
# Install Python dependencies
pip install -r requirements.txt
# Copy and configure environment
cp .env.example .env
# Edit .env and add your HF_TOKEN
# Add HuggingFace token to Modal
modal secret create huggingface-secret HF_TOKEN="hf_your_token_here"
# Download model weights (takes 10-20 minutes)
modal run backend/modal_app.py::download_models
# Deploy to Modal
modal deploy backend/modal_app.py
# Note the URL: https://YOUR_USERNAME--meshii-fastapi-app.modal.run
# Update .env with your Modal URL
# VITE_API_URL=https://YOUR_USERNAME--meshii-fastapi-app.modal.run
# Setup frontend
cd frontend
npm install
npm run dev
# In another terminal: Start local post-processing server (optional)
# Required for mesh optimization (decimation, tris-to-quads, etc.)
cd backend
uvicorn local_postprocess:app --host 0.0.0.0 --port 8001
Open http://localhost:5173 and generate your first 3D model!
Note: The local post-processing server (port 8001) is optional but required if you want to use advanced mesh optimization features like decimation, topology optimization, or tris-to-quads conversion.
| Model | Parameters | GPU | Time | Best For |
|---|---|---|---|---|
| TRELLIS 2 | 4B | A10G/A100 | 15-60s | High-quality PBR meshes |
| TRELLIS | 342M-2B | A100-40GB | 10-20s | Fast generation |
| PartPacker | - | L40S | 15-30s | Part-level meshes |
The easiest way to use Meshii:
# Full setup wizard
python setup.py setup
# Check prerequisites
python setup.py check
# Deploy to Modal
python setup.py deploy
# Download model weights
python setup.py download
# Run Modal in dev mode (hot reload)
python setup.py serve
# Start frontend only
python setup.py frontend
# Start local post-processing server (optional)
cd backend && uvicorn local_postprocess:app --host 0.0.0.0 --port 8001
Post-Processing Server: This optional local server handles advanced mesh optimization (decimation, tris-to-quads, topology fixes). It runs on
localhost:8001and uses pymeshlab for processing. Only needed if you want to use these features.
import httpx
import os
# Get your Modal API URL from environment or use your deployment URL
API_URL = os.getenv("VITE_API_URL", "https://YOUR_USERNAME--meshii-fastapi-app.modal.run")
with open("input.png", "rb") as f:
response = httpx.post(
f"{API_URL}/generate",
files={"image": f},
data={
"model": "trellis2",
"pipeline_type": "1024_cascade",
},
)
result = response.json()
# Download GLB from result['assets'][0]['url']
┌─────────────────┐ ┌─────────────────────────────────────────┐
│ Frontend │ │ Modal (GPU Cloud) │
│ (React/Vite) │ │ │
│ │◄────────┤ FastAPI Web App │
│ localhost:5173 │ HTTPS │ ↳ /api/v1/generate │
│ │ ──────► │ ↳ /api/v1/jobs │
│ │ │ ↳ /api/v1/download │
└─────────────────┘ │ │
│ GPU Inference Classes: │
│ ├─ Trellis2Inference (A10G/A100) │
│ ├─ TrellisInference (A100) │
│ └─ PartPackerInference (L40S) │
│ │
│ Modal Volumes: │
│ ├─ /models (HuggingFace weights) │
│ └─ /results (Generated GLB files) │
└─────────────────────────────────────────┘
meshii/
├── setup.py # CLI setup tool
├── backend/
│ ├── modal_app.py # Modal deployment & GPU inference
│ ├── config/ # Configuration management (Pydantic)
│ ├── strategies/ # Model inference strategies
│ ├── processors/ # Post-processing pipelines
│ ├── factories/ # Factory pattern for models
│ └── api/ # FastAPI routes
├── frontend/ # React + TypeScript UI
│ ├── src/components/ # UI components
│ ├── src/store/ # Zustand state management
│ └── src/hooks/ # Custom React hooks
└── configs/ # YAML presets
├── trellis2_*.yaml # TRELLIS 2 presets
├── game_ready.yaml # Game optimization
└── print_ready.yaml # 3D printing optimization
Modal charges based on GPU usage:
| Model | GPU | Cost/Run | Runs/$10 |
|---|---|---|---|
| TRELLIS 2 | A10G | ~$0.03 | ~300 |
| TRELLIS 2 | A100-80GB | ~$0.10 | ~100 |
| TRELLIS | A100-40GB | ~$0.05 | ~200 |
| PartPacker | L40S | ~$0.04 | ~250 |
Free tier: Modal gives you $30 free credits, enough for ~300-1000 generations!
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
git checkout -b feature/amazing-featurepytest tests/git commit -m 'Add amazing feature'git push origin feature/amazing-feature# Run Modal with hot reload
modal serve backend/modal_app.py
# Run frontend with hot reload
cd frontend && npm run dev
This project is licensed under the MIT License - see LICENSE file.
The AI models used have their own licenses:
Please review and accept these licenses on HuggingFace before use.
Made with ❤️ by Sciences 44
2 commits
Python
68.8%
TypeScript
29.1%
CSS
1.9%