https://github.com/fishwowater/minimal3dstudio
A minimal version of 3D studio, especially designed for 3D generative tasks.
https://github.com/fishwowater/minimal3dstudio
3d-generation 3d-printing 3daigc electron image-to-3d replicate text-to-3d tripo vibe-coding
Last synced: 25 days ago
JSON representation
A minimal version of 3D studio, especially designed for 3D generative tasks.
- Host: GitHub
- URL: https://github.com/fishwowater/minimal3dstudio
- Owner: FishWoWater
- License: apache-2.0
- Created: 2025-07-04T12:15:25.000Z (3 months ago)
- Default Branch: minimal
- Last Pushed: 2025-07-19T06:36:53.000Z (3 months ago)
- Last Synced: 2025-07-21T03:02:06.414Z (3 months ago)
- Topics: 3d-generation, 3d-printing, 3daigc, electron, image-to-3d, replicate, text-to-3d, tripo, vibe-coding
- Language: TypeScript
- Homepage:
- Size: 42.9 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Minimal 3D Studio
**English** | [δΈζ](README_zh.md)
A minimal cross-platform(Win/Mac/Web) application for 3D model generation. Built with React, TypeScript, Three.js, and Electron. **Support Tripo and Replicate as the API providers.**

## API Providers
### Tripo
[Tripo](https://www.tripo3d.ai) is one of the best 3DAIGC providers. You can get 600 free API credits (separated from web credits) upon registration on Tripo so it worths a try! Beyond 600 credits, each image generation costs around $0.05, each model generation costs around $0.2.### Replicate
Current [Replicate](https://replicate.com) API builts upon [Flux-Schnell](https://replicate.com/black-forest-labs/flux-schnell) for text2image and [TRELLIS](https://replicate.com/firtoz/trellis) for image2model. Replicate is pay-as-you-go, which costs about $0.003 per text2image generation and $0.04 per image2model generation.## Features
### π¨ TextTo3d & ImageTo3D
- **Text-to-Image**: Generate images from text prompts
- **Image-to-3D**: Convert 2D images into 3D models### βοΈ **Replicate Advanced Parameters**
- **Texture Size**: texture resolution, [512, 2048]
- **Simplify Ratio**: decimation ratio for the final geometry (0.9 - 0.99, largest value means fewer faces)### βοΈ **Tripo Advanced Parameters**
> check out the [Tripo Pricing Page](https://platform.tripo3d.ai/docs/billing) for the credits required.
- **Generate Texture**: Generate textured mesh or raw mesh
- **PBR Texture**: Generate PBR texture
- **HD Texture**: High-Quality texture
- **Generate In Parts**: Generate Part-Level Geometries (conflicts with texture generation)
- **Low Poly**: Generate the model in a low-poly style
- **Quad Topology**: Generate the geometry as a quad mesh instead of a triangle mesh
- **Face Limit**: Limitation on the number of faces of generated geometry## Quick Start
### Prerequisites
- Node.js 16 or higher & npm
- Tripo3D API key (get one at [platform.tripo3d.ai](https://platform.tripo3d.ai))
- Replicate API key (get one at [Replicate API](https://replicate.com/account/api-tokens))### Installation
1. **Clone the repository**
```bash
git clone https://github.com/your-username/minimal_3d_studio.git
cd minimal_3d_studio
```
2. **Install dependencies**
```bash
npm install
```
3. **Configure API Key**
- In development, use environment variables to configure your API key `cp .env.example .env`.
- For production, check out the settings panel.
4. **Start development server**
```bash
npm start
```
5. **Open the application**
- Web: http://localhost:3000
- Desktop: `npm run electron-dev`## Development Scripts
```bash
# Start web development server
npm start
# Start Electron development mode
npm run electron-dev
# Build for production
npm run build
# Package as desktop app (for distribution)
npm run electron-pack
# Package as desktop app (development - no code signing)
npm run electron-pack-dev
```## Project Structure
```
minimal_3d_studio/
βββ public/
β βββ electron.js # Electron main process
βββ src/
β βββ components/ # React components
β β βββ Header.tsx
β β βββ ImageViewport.tsx
β β βββ ModelViewport.tsx
β β βββ Model3D.tsx
β β βββ ControlPanel.tsx
β βββ services/
β β βββ api.ts # Tripo3D API integration
β βββ types/
β β βββ api.ts # TypeScript definitions
β βββ App.tsx # Main application component
β βββ App.css # Styling (matches prototype)
β βββ index.tsx # Application entry point
βββ docs/ # Documentation and assets
βββ package.json # Dependencies and scripts
```## Deployment
### Web Deployment
```bash
npm run build
# Deploy the build/ folder to your web server
```### Desktop App Packaging
#### For Development (No Code Signing)
```bash
# Current platform
npm run electron-pack-dev
# Specific platforms
npm run electron-pack-dev -- --mac
npm run electron-pack-dev -- --win
npm run electron-pack-dev -- --linux
```### TODO
- [ ] Support other API providers like Replicate/Hunyuan
- [ ] Support local API backend with [3DAIGC-Backend](https://github.com/FishWoWater/3DAIGC-API), and develop a more comprehensive 3D studio (including rigging/segmentation etc.).## License
This project is licensed under the Apache2.0 License - see the [LICENSE](LICENSE) file for details.
## Acknowledgments
- [Tripo3D](https://platform.tripo3d.ai) for the powerful 3D generation API
- [React Three Fiber](https://github.com/pmndrs/react-three-fiber) for 3D rendering
- [Lucide](https://lucide.dev) for beautiful icons
- Cursor + Claude4