--- 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.