BD TRELLIS.2 Image to Shape
Geometry first, textures later
- conditioning
- shape_result
- mesh
TRELLIS.2 splits 3D generation into two deliberate stages: first the shape (geometry only, no paint), then the texture that skins it. BD TRELLIS.2 Image to Shape is the first stage - feed it conditioning from BD TRELLIS.2 Get Conditioning and it returns the raw untextured mesh plus a shape_result you hand to the texture stage. It's the node that turns your image into actual geometry, and it's where all the quality and VRAM levers live.
What it is
The sampler of the BrainDead TRELLIS2 flow. It takes TRELLIS2_CONDITIONING (which carries both the DinoV3 features and the embedded model config), runs the sparse-structure + shape-latent sampling stages, and outputs shape_result (the data the texture stage needs) plus mesh - a real, untextured TRIMESH you can preview or export on its own.
How it works
Two sampling stages run back-to-back, each with its own CFG and step controls:
ss_*- the sparse structure stage (defaultss_guidance_strength7.5,ss_sampling_steps12). This establishes the coarse volumetric layout - where the object actually is in space.shape_*- the shape latent stage (defaults 7.5 / 12). This refines the geometry from that structure.
Then the one knob people actually fight with: max_tokens (default 49152, range 16384–65536). This is the cascade token budget - the tooltip says it plainly: lower = less VRAM, default ~9GB. If you're on a 12GB card, 49152 is roughly your ceiling; dropping to 32768 buys headroom at some quality cost. On a 24GB card you can push toward the max for detail.
seed gives you reproducibility - set it once, get the same shape; change it to explore variations.
Outputs: shape_result → wire into BD TRELLIS.2 Shape to Textured Mesh for PBR materials; mesh → preview via a BD mesh preview node, decimate via BD Smart Decimate, or export untextured if that's all you need.
Where it fits
The honest expectations from the 3D-generation world apply: the geometry TRELLIS.2 returns is impressive but machine-made - fine for static props and game-asset starting points, and you should plan a decimate/repair pass (BD Smart Decimate, BD Mesh Repair) before it ships anywhere. The pack's own pipeline is: Get Conditioning → this node → Shape to Textured Mesh → BD OVoxel Bake (or sample the voxelgrid for vertex colors). If you only need a silhouette mesh and no texture, this node alone is the shortest path - just wire the mesh output to an exporter.
Gotchas
Same shared dependency as the other TRELLIS2 nodes: it imports trellis2 from the ComfyUI-TRELLIS2 pack, so install that sibling pack first. And remember the conditioning carries the model config - so the resolution you chose in Get Conditioning governs what this node runs, and the "fast shape + detailed texture" trick is: low resolution here, high resolution at the texture stage. Two conditioning nodes, split across the pipeline.
Installing it
ComfyUI Manager: search "BrainDead" → install. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/BizaNator/ComfyUI-BrainDead
cd ComfyUI-BrainDead
pip install -r requirements.txt
Also install ComfyUI-TRELLIS2. Restart, find this under 🧠BrainDead/TRELLIS2. Start with the defaults at max_tokens=49152, watch your VRAM meter, and if it OOMs, the token budget is the first thing to cut.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| conditioning | TRELLIS2_CONDITIONING | — | |
| seed | INT | 00–2147483647 | Random seed for reproducible generation |
| ss_guidance_strength | FLOAT | 7.51–20 | Sparse structure CFG scale |
| ss_sampling_steps | INT | 121–50 | Sparse structure sampling steps |
| shape_guidance_strength | FLOAT | 7.51–20 | Shape CFG scale |
| shape_sampling_steps | INT | 121–50 | Shape sampling steps |
| max_tokens | INT | 4915216384–65536 | Max tokens for cascade. Lower = less VRAM. Default 49152 (~9GB) |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| shape_result | TRELLIS2_SHAPE_RESULT | — |
| mesh | TRIMESH | — |