Nodes/BrainDead Nodes/BD Pixal3D Image to 3D
ComfyUI Node

BD Pixal3D Image to 3D

One image to a textured 3D asset — BD Pixal3D Image to 3D

By BizaNator·Created 8 months ago·Updated 3 days ago· 15
BD Pixal3D Image to 3D
  • pixal3d_input
  • mesh
  • voxelgrid
seed42
pipeline_type1024_cascade
max_tokens49152
ss_guidance_strength7.5
ss_guidance_rescale0.70
ss_sampling_steps25
ss_rescale_t5.0
shape_guidance_strength7.5
shape_guidance_rescale0.50
shape_sampling_steps25
shape_rescale_t3.0
tex_guidance_strength1.0
tex_guidance_rescale0.00
tex_sampling_steps25
tex_rescale_t3.0
model_pathTencentARC/Pixal3D

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) or 1536_cascade for 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 BakeBD 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.

Category🧠BrainDead/Pixal3D

Inputs (17)

NameTypeDefaultDescription
pixal3d_inputPIXAL3D_INPUT
seedINT420–2147483647Random seed for reproducibility
pipeline_typeCOMBO1024_cascadeGeneration pipeline. 1536_cascade gives higher resolution.
max_tokensINT4915216384–65536Max sparse structure tokens. Lower = less VRAM.
ss_guidance_strengthFLOAT7.51–20Sparse structure CFG guidance scale
ss_guidance_rescaleFLOAT0.700–1Sparse structure guidance rescale
ss_sampling_stepsINT251–50Sparse structure sampling steps
ss_rescale_tFLOAT5.00–10Sparse structure timestep rescale
shape_guidance_strengthFLOAT7.51–20Shape latent CFG guidance scale
shape_guidance_rescaleFLOAT0.500–1Shape latent guidance rescale
shape_sampling_stepsINT251–50Shape latent sampling steps
shape_rescale_tFLOAT3.00–10Shape latent timestep rescale
tex_guidance_strengthFLOAT1.00–20Texture latent CFG guidance scale
tex_guidance_rescaleFLOAT0.000–1Texture latent guidance rescale
tex_sampling_stepsINT251–50Texture latent sampling steps
tex_rescale_tFLOAT3.00–10Texture latent timestep rescale
model_pathoptSTRINGTencentARC/Pixal3DHuggingFace repo or local path for Pixal3D model weights

Outputs (2)

NameTypeDescription
meshTRIMESH
voxelgridVOXELGRID