Nodes/ComfyUI-Pixal3D/Pixal3D: Image to Mesh
ComfyUI Node

Pixal3D: Image to Mesh

Pixal3D pixel-aligned image-to-3D. Outputs a textured trimesh (PBR) plus the preprocessed image, the camera params actually used (helpful for retrying with manual overrides), and the absolute path of the auto-saved GLB. Chain the path directly into `Preview3D` to skip the explicit Trellis2ExportTrimesh step. Empty string if save_to_output_dir=False.

By dreamrec·Created 3 months ago·Updated 3 months ago· 21
Pixal3D: Image to Mesh
  • image
  • mask
  • pipeline_ready
  • mesh
  • preprocessed_image
  • camera_angle_x
  • distance
  • glb_path
pipeline_type1024_cascade
seed42
low_vramfalse
max_num_tokens49152
mesh_scale1.0
image_resolution512
camera_angle_x_override0.000
distance_override0.00
ss_guidance_strength7.5
ss_sampling_steps12
ss_guidance_rescale0.70
ss_rescale_t5.0
shape_guidance_strength7.5
shape_sampling_steps12
shape_guidance_rescale0.50
shape_rescale_t3.0
tex_guidance_strength1.0
tex_sampling_steps12
tex_guidance_rescale0.00
tex_rescale_t3.0
decimation_target200000
texture_size2048
remeshtrue
background_colorgray
keep_warmtrue
save_to_output_dirtrue
output_filename_prefixpixal3d
save_objfalse
CategoryPixal3D

Inputs (31)

NameTypeDefaultDescription
imageIMAGEInput image (RGB). Single image; first batch entry is used.
pipeline_typeCOMBO1024_cascade1024_cascade is recommended; 1536_cascade is heavier and may overflow VRAM.
seedINT420–2147483647
maskoptMASKForeground mask (white=object). If provided, BiRefNet is skipped.
pipeline_readyoptPIXAL3D_PIPELINE_READY
low_vramoptBOOLEANfalseOnly used if pipeline_ready is not connected.
max_num_tokensoptINT4915216384–131072HR token budget. Lower = less VRAM, smaller mesh. 49152 ~= 9GB activations.
mesh_scaleoptFLOAT1.00.1–5
image_resolutionoptINT512256–2048
camera_angle_x_overrideoptFLOAT0.0000–3.140 = auto (MoGe-2). Set both override fields > 0 to skip MoGe.
distance_overrideoptFLOAT0.000–50
ss_guidance_strengthoptFLOAT7.51–20
ss_sampling_stepsoptINT121–50
ss_guidance_rescaleoptFLOAT0.700–1
ss_rescale_toptFLOAT5.00–10
shape_guidance_strengthoptFLOAT7.51–20
shape_sampling_stepsoptINT121–50
shape_guidance_rescaleoptFLOAT0.500–1
shape_rescale_toptFLOAT3.00–10
tex_guidance_strengthoptFLOAT1.01–20
tex_sampling_stepsoptINT121–50
tex_guidance_rescaleoptFLOAT0.000–1
tex_rescale_toptFLOAT3.00–10
decimation_targetoptINT2000005000–1000000
texture_sizeoptINT2048256–4096
remeshoptBOOLEANtrue
background_coloroptCOMBOgrayColor composited behind the foreground mask. Default 'gray' (128,128,128) prevents dark-silhouette bleed that bakes thin black lines into the PBR texture; 'black' matches Pixal3D inference.py defaults but causes those artifacts; 'white' for light-on-dark subjects.
keep_warmoptBOOLEANtrueTrue: keep the loaded Pixal3D pipeline in VRAM after this run (~14 GB) so the NEXT call is fast (~3 min instead of ~7-10 min cold-load). False: auto-free the pipeline at the end of THIS call. Use False if you're done with Pixal3D for a while and need that VRAM back for other nodes.
save_to_output_diroptBOOLEANtrueWhen True, auto-save the GLB to ComfyUI/output/<prefix>_<unix_ns>_<seed>.glb. Disable for chained workflows that export downstream via another node — leaves the mesh in memory only.
output_filename_prefixoptSTRINGpixal3dPrefix for the auto-saved GLB filename. Final name: <prefix>_<unix_ns>_<seed>.glb. Ignored if save_to_output_dir=False.
save_objoptBOOLEANfalseAlso export an OBJ (+ .mtl + texture PNGs) alongside the GLB. OBJ is base-color-only (the format has no standard metallic/roughness slots) — keep the GLB as the canonical PBR artifact and use the OBJ for DCC tools that prefer it (Blender, ZBrush, Marmoset). Ignored if save_to_output_dir=False.

Outputs (5)

NameTypeDescription
meshTRIMESH
preprocessed_imageIMAGE
camera_angle_xFLOAT
distanceFLOAT
glb_pathSTRING