PartBloom

Structure First. Details Bloom.

PartBloom is an open-source agentic framework for single-image 3D generation. An LLM agent plans the object's functional parts and builds them as a coarse voxel proxy with explicit drawing tools. A diffusion model (TRELLIS) then refines the proxy and decodes every part from one shared latent, so each part comes out as its own detailed, textured mesh that fits the rest of the object. The agent stage is model-agnostic; results here use Claude Opus 5.5, GPT-6-Astra and Gemini-4-Argon.

Results

Comparison with Prior Methods

14 single-image inputs across vehicles, mecha, creatures, statues, furniture, architecture and dioramas. Click Load 3D to orbit any row. Switch between textured, parts and clay display, or pick which LLM drives PartBloom and Direct Blender. ⤢ opens the exploded view.

Parts

Native Part Decomposition

PartBloom generates parts natively. Each part is split by function and independent motion, and small fixed attachments stay with the part they belong to. For the two segmentation baselines, TRELLIS first generates a 3D asset from the input image; SegviGen or PartLLM then splits that asset into parts. We label these pipelines TRELLIS + SegviGen and TRELLIS + PartLLM (general granularity). Colors mark parts. To explore our parts in 3D, use Parts mode or the exploded view above.

Part decomposition comparison, rows 1 to 5 Part decomposition comparison, rows 6 to 10 Part decomposition comparison, rows 11 to 14

Rigging

Rig-Ready Assets

Each output part is a functional, independently moving piece, so the assets can be rigged and animated directly.

Covered Wagon: drive and steerPartBloom + Claude Opus 5.5
Mech Boar: run cyclePartBloom + GPT-6-Astra
Mecha: shield chargePartBloom + Claude Opus 5.5

Method

Framework Overview

PartBloom works in two stages: the LLM agent fixes the structure, then the diffusion model fills in the detail.

PartBloom pipeline Stage one: an LLM agent with Planner, Builder and Reviewer builds a part-level coarse voxel proxy from the input image, with up to two repair rounds. Stage two: TRELLIS refines the proxy with a support band and image-guided denoising, samples one shared structured latent, and decodes and textures each part. Input image STAGE 1 Structure first LLM agent · Claude / GPT / Gemini Planner Chooses parts by function and independent motion Builder Edits a shared 64³ voxel canvas, part by part polygon brush move clear Reviewer Compares proxy renders with the input image ≤ 2 repair rounds Output Part-labeled coarse voxel proxy Coarse proxy STAGE 2 Details bloom Diffusion model · TRELLIS 1 Support band Dilate the proxy surface; SS-VAE encode 2 Guided refinement Noise to t = 0.65, 12 image-guided steps 3 Shared SLat Transfer part labels; sample one latent 4 Per-part decoding Decode each part's slice of the latent 5 Texture baking Gaussian appearance → per-part GLB Output Detailed, textured part-level asset

Structure first

A Planner decides the parts. A Builder constructs each one on a shared voxel canvas with drawing tools. A Reviewer compares the proxy with the image and triggers repair rounds. The agent is model-agnostic — switching providers is a config change.

Details bloom

The proxy is encoded, partially noised, and refined with image guidance. Part labels move to the refined structure, one shared latent is sampled for the whole object, and each part is decoded from its own slice — so parts come out consistent with each other. Textures come from TRELLIS's own Gaussian decoder.

Citation

BibTeX

@misc{partbloom2026,
  title        = {PartBloom: Structure First. Details Bloom.},
  author       = {Anonymous},
  year         = {2026},
  howpublished = {\url{https://github.com/brain-labbb/PartBloom}}
}