Nodes/Pixal3D-ComfyUI/Pixal3D Image To 3D
ComfyUI Node

Pixal3D Image To 3D

Pixal3D Image To 3D

By Saganaki22·Created 3 months ago·Updated 2 months ago· 204
Pixal3D Image To 3D
  • model
  • image
  • manual_fov
  • pixal3d_result
  • rembg_image
seed42
pipeline_type1536_cascade
background_modeauto_remove
camera_modemoge
manual_camera_angle_x0.858
manual_distance2.00
mesh_scale1.00
extend_pixel0
camera_resolution512
steps12
guidance7.5
texture_guidance1.0
max_num_tokens49152
force_offloadfalse

This is the heart of the pack. Pixal3D Image To 3D takes a single image plus a loaded model handle and returns a textured 3D result - the mesh and texture data that Export GLB later turns into a file. It's Tencent ARC's Pixal3D running in ComfyUI: a May-2026 image-to-3D model built on the TRELLIS.2 backbone, MIT-licensed since late May, and the community's early take was that it's a step up from raw TRELLIS.2 for single-image geometry. The headline trick - "pixel-aligned" in the name - means it back-projects your image's pixel features directly into 3D space instead of just loosely injecting them via attention, which is why the front face comes out so close to the input.

How it works

Under the hood it runs a multi-stage pipeline: an image encoder (DINOv3) reads the image, a background step handles the cutout, a camera-fitting step (MoGe or manual) decides the view, then sparse-structure, shape, and texture sampling stages generate the geometry and paint it. Non-square images are padded to square before Pixal3D's square encoder, so a 9:16 or 16:9 image doesn't come out stretched.

You don't need to know any of that to use it, but it explains the three knobs that dominate the node.

The inputs that matter

  • model - the PIXAL3D_MODEL handle from Pixal3D Model Loader. The tooltip carries an easy-to-miss warning: if you change backend, VRAM, helper-model, or NAF settings on the loader, you have to re-run the loader to get a matching handle.
  • image - your subject. RGBA alpha is respected when background_mode is keep_alpha or auto_remove, which matters for the transparency workflows below.
  • pipeline_type - 1024_cascade (the normal path, lower VRAM) or 1536_cascade (the default; more detail, more VRAM, and can drop resolution if the token budget runs out). The README's low-VRAM guidance says 1024. Community reports back that up: a 4060 laptop with 6GB runs fine at 1024_cascade.
  • background_mode - auto_remove (default: uses RMBG-2.0 unless your image already has alpha), keep_alpha (prefers alpha, no background model needed), or none (skips removal; alpha is ignored by design). If you have a transparent PNG/WebP, keep_alpha skips the gated RMBG download entirely.
  • camera_mode - moge (default; MoGe estimates camera/FOV from the image) or manual (uses the manual camera values, and is overridden if a Pixal3D Camera Control manual_fov is connected). Manual mode is how you fix bad framing - and it's the only camera mode available if you turned MoGe off to save VRAM.
  • seed, steps, guidance - the sampler controls. Defaults (seed 42, steps 12, guidance 7.5, texture_guidance 1.0) match upstream Pixal3D. For a first run, change the seed and leave the rest alone.
  • max_num_tokens (default 49152) - caps high-resolution sparse tokens. Lower it to cut VRAM; the tooltip's honest about the cost, which is detail.
  • extend_pixel (default 0) - nudges the camera-fitting target when MoGe framing is slightly too tight or loose. A cheap fix before you give up on auto camera.

Outputs

Two of them:

  • pixal3d_result (PIXAL3D_RESULT) - wire this to Pixal3D Export GLB. It's the mesh + texture data, in-memory only.
  • rembg_image (IMAGE) - the image Pixal3D actually used after background preprocessing. This is the one beginners ignore and later regret ignoring: connect it to a Preview Image node and you can see whether auto-remove butchered your cutout before you burn five minutes generating from garbage.

What to expect

Realistic expectations save real time. The KB's verdict on the whole field applies: the front-facing geometry is genuinely impressive, but it's triangle-soup topology with a hallucinated backside (single-image models only see one view - "the backside is hallucinated" is a feature, not a bug), and it's not ready for rigging or animation. A static prop, a 3D print, or a base mesh? Great. A game-ready deformable asset? Plan on retopology.

Timing: community reports put it around 5–6 minutes per asset at 1024_cascade / 20 steps / 4096 texture on a 4070 Ti 12GB. It's a session-scale operation, not a sub-second TripoSR-style pass - treat it like a render, batch accordingly, and check rembg_image before you commit.

Troubleshooting

  • Missing head/feet, or half a head - a community-reported pattern on this node, usually tied to framing and background handling. Try manual camera mode to reframe, and check rembg_image to confirm the cutout is clean.
  • Nothing happens / no file - the node produces no file on its own; that's Export GLB's job. If you generated and have no output, you've forgotten the exporter.
  • VRAM OOM - 1024_cascade, max_num_tokens down, background_mode=keep_alpha with a transparent input, and manual camera (so MoGe doesn't need to load) is the README's lowest-VRAM recipe.
CategoryPixal3D

Inputs (17)

NameTypeDefaultDescription
modelPIXAL3D_MODELPixal3D model handle from Pixal3D Model Loader. Re-run the loader after changing backend, VRAM, helper-model, or NAF settings.
imageIMAGEInput subject image. RGBA alpha is respected when background_mode is keep_alpha or auto_remove.
seedINT420–18446744073709550000Random seed for all Pixal3D sampling stages.
pipeline_typeCOMBO1536_cascade1024_cascade is the normal path. 1536_cascade can improve detail but needs more VRAM and may lower resolution if token count is too high.
background_modeCOMBOauto_removeauto_remove uses Pixal3D/rembg unless alpha exists. keep_alpha prefers alpha. none skips background removal.
camera_modeCOMBOmogemoge estimates camera/FOV from the image. manual uses manual_camera_angle_x, manual_distance, and mesh_scale unless a Pixal3D Camera Control manual_fov input is connected.
manual_camera_angle_xFLOAT0.8580.1–3Horizontal field of view in radians for manual camera mode.
manual_distanceFLOAT2.000.1–20Camera distance for manual camera mode.
mesh_scaleFLOAT1.000.05–10Scale used for camera fitting. Usually keep 1.0.
extend_pixelINT0-512–512Offsets the camera fitting target. Useful if MoGe framing is slightly too tight or loose.
camera_resolutionINT512256–2048Resolution used for MoGe camera fitting math. 512 matches upstream defaults.
stepsINT121–100Sampling steps for sparse structure, shape, and texture stages. Upstream default is 12.
guidanceFLOAT7.50–20Guidance strength for sparse structure and shape sampling. Upstream default is 7.5.
texture_guidanceFLOAT1.00–20Guidance strength for texture sampling. Upstream default is 1.0.
max_num_tokensINT491524096–200000Caps high-resolution sparse tokens. Lower values reduce VRAM, but can reduce detail.
force_offloadBOOLEANfalseUnload the Pixal3D model from Comfy model management after generation.
manual_fovoptPIXAL3D_CAMERABundled manual camera values from Pixal3D Camera Control. Only used when camera_mode=manual. When connected, it overrides manual_camera_angle_x, manual_distance, and mesh_scale. Ignored when camera_mode=moge.

Outputs (2)

NameTypeDescription
pixal3d_resultPIXAL3D_RESULT
rembg_imageIMAGE