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.
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)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | Input image (RGB). Single image; first batch entry is used. | |
| pipeline_type | COMBO | 1024_cascade | 1024_cascade is recommended; 1536_cascade is heavier and may overflow VRAM. |
| seed | INT | 420–2147483647 | — |
| maskopt | MASK | Foreground mask (white=object). If provided, BiRefNet is skipped. | |
| pipeline_readyopt | PIXAL3D_PIPELINE_READY | — | |
| low_vramopt | BOOLEAN | false | Only used if pipeline_ready is not connected. |
| max_num_tokensopt | INT | 4915216384–131072 | HR token budget. Lower = less VRAM, smaller mesh. 49152 ~= 9GB activations. |
| mesh_scaleopt | FLOAT | 1.00.1–5 | — |
| image_resolutionopt | INT | 512256–2048 | — |
| camera_angle_x_overrideopt | FLOAT | 0.0000–3.14 | 0 = auto (MoGe-2). Set both override fields > 0 to skip MoGe. |
| distance_overrideopt | FLOAT | 0.000–50 | — |
| ss_guidance_strengthopt | FLOAT | 7.51–20 | — |
| ss_sampling_stepsopt | INT | 121–50 | — |
| ss_guidance_rescaleopt | FLOAT | 0.700–1 | — |
| ss_rescale_topt | FLOAT | 5.00–10 | — |
| shape_guidance_strengthopt | FLOAT | 7.51–20 | — |
| shape_sampling_stepsopt | INT | 121–50 | — |
| shape_guidance_rescaleopt | FLOAT | 0.500–1 | — |
| shape_rescale_topt | FLOAT | 3.00–10 | — |
| tex_guidance_strengthopt | FLOAT | 1.01–20 | — |
| tex_sampling_stepsopt | INT | 121–50 | — |
| tex_guidance_rescaleopt | FLOAT | 0.000–1 | — |
| tex_rescale_topt | FLOAT | 3.00–10 | — |
| decimation_targetopt | INT | 2000005000–1000000 | — |
| texture_sizeopt | INT | 2048256–4096 | — |
| remeshopt | BOOLEAN | true | — |
| background_coloropt | COMBO | gray | Color 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_warmopt | BOOLEAN | true | True: 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_diropt | BOOLEAN | true | When 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_prefixopt | STRING | pixal3d | Prefix for the auto-saved GLB filename. Final name: <prefix>_<unix_ns>_<seed>.glb. Ignored if save_to_output_dir=False. |
| save_objopt | BOOLEAN | false | Also 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)
| Name | Type | Description |
|---|---|---|
| mesh | TRIMESH | — |
| preprocessed_image | IMAGE | — |
| camera_angle_x | FLOAT | — |
| distance | FLOAT | — |
| glb_path | STRING | — |