File size: 1,550 Bytes
9d0329b
820f6f8
 
 
 
9d0329b
 
 
820f6f8
 
 
9d0329b
 
820f6f8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
---
title: FlexPart
emoji: 🧩
colorFrom: red
colorTo: blue
sdk: gradio
sdk_version: 6.30.0
app_file: app.py
short_description: Image-to-3D part-level generation with variable granularity
python_version: "3.12"
startup_duration_timeout: 30m
---

# 🧩 FlexPart — Image-to-3D Part Generation

**A Unified Framework for Image-to-3D Part Generation via Variable Granularity**
([paper](https://huggingface.co/papers/2610.31671) · [code](https://github.com/Gucci233/FlexPart) · [weights](https://huggingface.co/gucci233/FlexPart))

Upload an object image, click once on each part you want, and FlexPart generates a
3D mesh for every clicked part — composed into a single colored GLB, with each part
also downloadable individually.

## How it works

1. **Upload** an object image (or pick a pre-annotated example). The background is
   removed automatically with [BriaRMBG-1.4](https://huggingface.co/briaai/RMBG-1.4).
2. **Click** on the image — every click marks one part (up to 32). The point is used
   as a geometric prompt that steers part-level diffusion.
3. **Generate** — FlexPart runs part-level 3D rectified-flow diffusion
   ([TripoSG](https://huggingface.co/VAST-AI/TripoSG) VAE + DINOv2 image conditioning)
   and extracts one mesh per part via hierarchical octree marching cubes, then
   composes the parts with a per-part color palette.

## Credits

- Inference code adapted from the official [Gucci233/FlexPart](https://github.com/Gucci233/FlexPart)
  repository (MIT license). Example images are the authors' own demo assets.