BD Pixal3D Image to 3D
One image to a textured 3D asset — BD Pixal3D Image to 3D
- pixal3d_input
- mesh
- voxelgrid
Image-to-3D in ComfyUI is usually a war of dependencies - compiled CUDA extensions, python-version roulette, an afternoon lost to "it won't import." BD Pixal3D Image to 3D is the BrainDead pack's attempt to make that experience one node instead. It wraps Pixal3D, TencentARC's pixel-aligned 3D generation model - released locally-runnable in 2026, built on the TRELLIS2 lineage - and runs the whole thing in a single node: feed it a prepared PIXAL3D_INPUT and it returns a mesh and a voxelgrid, ready for the pack's bake pipeline.
The model itself is interesting in a way that explains why the pack built around it. Where earlier image-to-3D models loosely inject image features through attention, Pixal3D explicitly back-projects pixel features into 3D, establishing direct pixel-to-3D correspondence. The pitch is near-reconstruction-level fidelity with detailed geometry and PBR textures - which, in the honest framing the KB hammers home, means an impressive surface with the usual generated-mesh caveats underneath. Static props and renders? Great. Something that has to deform or rig? You're still doing a retopo pass.
How it works
Pixal3D runs a three-stage cascade: sparse structure → shape latent → texture latent. The node exposes each stage's sampling knobs, which is a lot of knobs - but the defaults are sensible and you mostly won't touch them. The ones worth knowing:
pipeline_type-1024_cascade(default, recommended) or1536_cascadefor higher geometry and texture resolution.max_tokens(default 49152) - sparse-structure token budget. Lower it to save VRAM; the tooltip is honest about it.seed(default 42) - reproducibility. Change it when you want variation.- The
ss_*,shape_*,tex_*guidance/steps/rescale groups - CFG scale, sampling steps, and timestep rescale per pipeline stage. Leave them alone until you have a specific artifact to chase.
model_path (default TencentARC/Pixal3D) is the HF repo or local path for weights.
Outputs are the two things the whole pack is designed around: mesh - untextured Z-up geometry, feed into BD CuMesh Simplify or BD Blender Decimate - and voxelgrid, the TRELLIS2 VOXELGRID with full PBR voxel data, which feeds BD OVoxel Bake for a sharp-edge-preserving texture bake (or BD OVoxel Texture Bake for bake-only).
The real costs: disk and VRAM
This is the node where the pack's dependencies show up. First run downloads ~10GB of model weights (cached under $HF_HOME, shown as /srv/AI_Stuff/models/huggingface/ in the README), and requirements.txt pulls moge, utils3d (pinned git build), pipeline (pinned git), and natten - those support Pixal3D's preprocessing and its NAF upsampler. ComfyUI Manager installs them automatically; manually, it's the standard drill:
cd ComfyUI/custom_nodes
git clone https://github.com/BizaNator/ComfyUI-BrainDead
cd ComfyUI-BrainDead
pip install -r requirements.txt
The README flags that the pixal3d package itself can need a manual copy into your venv's site-packages - if the node errors on import, that's the first thing to check.
Gotchas worth knowing
First run is a 10GB download, not a hang - be patient. The mesh comes out lying down facing up (Z-up, "back-facing" by Unreal conventions), so follow BD Pixal3D Image to 3D with BD Orient Mesh and rotate_x=180 to stand it upright. And pair it with BD Pixal3D Preprocess, which supplies the PIXAL3D_INPUT - camera FOV estimation included. The pipeline is: Preprocess → this node → BD OVoxel Bake → BD Orient Mesh → export. Set that chain up once, and the "image to game-ready 3D" dream is a single queue away - with the usual "generated topology is generated topology" asterisk attached.
Inputs (17)
| Name | Type | Default | Description |
|---|---|---|---|
| pixal3d_input | PIXAL3D_INPUT | — | |
| seed | INT | 420–2147483647 | Random seed for reproducibility |
| pipeline_type | COMBO | 1024_cascade | Generation pipeline. 1536_cascade gives higher resolution. |
| max_tokens | INT | 4915216384–65536 | Max sparse structure tokens. Lower = less VRAM. |
| ss_guidance_strength | FLOAT | 7.51–20 | Sparse structure CFG guidance scale |
| ss_guidance_rescale | FLOAT | 0.700–1 | Sparse structure guidance rescale |
| ss_sampling_steps | INT | 251–50 | Sparse structure sampling steps |
| ss_rescale_t | FLOAT | 5.00–10 | Sparse structure timestep rescale |
| shape_guidance_strength | FLOAT | 7.51–20 | Shape latent CFG guidance scale |
| shape_guidance_rescale | FLOAT | 0.500–1 | Shape latent guidance rescale |
| shape_sampling_steps | INT | 251–50 | Shape latent sampling steps |
| shape_rescale_t | FLOAT | 3.00–10 | Shape latent timestep rescale |
| tex_guidance_strength | FLOAT | 1.00–20 | Texture latent CFG guidance scale |
| tex_guidance_rescale | FLOAT | 0.000–1 | Texture latent guidance rescale |
| tex_sampling_steps | INT | 251–50 | Texture latent sampling steps |
| tex_rescale_t | FLOAT | 3.00–10 | Texture latent timestep rescale |
| model_pathopt | STRING | TencentARC/Pixal3D | HuggingFace repo or local path for Pixal3D model weights |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| mesh | TRIMESH | — |
| voxelgrid | VOXELGRID | — |