¹Tsinghua University (BNRist) ²Tencent ARC Lab ³Victoria University of Wellington
*Project lead ✉Corresponding author
Pixal3D generates high-fidelity 3D assets from a single image. Unlike previous methods that loosely inject image features via attention, Pixal3D explicitly lifts pixel features into 3D through back-projection, establishing direct pixel-to-3D correspondences. This enables near-reconstruction-level fidelity with detailed geometry and PBR textures.
✨ News
May 2026: Release training code and data preparation toolkit. 🔧
May 2026: Release the improved version based on Trellis.2 backbone. 💪
May 2026: Release inference code and online demo. 🤗
Apr 2026: Our paper is accepted to SIGGRAPH 2026! 🎉
📌 Branches
Branch
Description
main
Latest version — improved implementation based on Trellis.2 backbone with better performance.
paper
Paper version — original implementation based on Direct3D-S2, corresponding to results reported in our SIGGRAPH 2026 paper.
If you want to reproduce the results in our paper, please switch to the paper branch.
🎮 Try It Online
You can try Pixal3D directly in your browser without any installation via our Hugging Face Gradio demo:
By default, the pipeline resolution is 1536 (standard mode) or 1024 (low-VRAM mode). You can override this with --resolution:
bash
1# Force 1536 even in low-VRAM mode2python inference.py --image assets/images/0_img.png --output ./output.glb --low_vram --resolution 153634# Force 1024 in standard mode5python inference.py --image assets/images/0_img.png --output ./output.glb --resolution 1024
Tip: If you don't have flash_attn installed, you can use PyTorch's built-in SDPA backend instead:
We provide a Gradio web demo for Pixal3D, which allows you to generate 3D meshes from images interactively.
python app.py
Low-VRAM mode is also available for the web demo. The frontend default resolution will automatically switch to 1024 in low-VRAM mode (1536 otherwise), but can be changed manually in the UI.
bash
1python app.py --low_vram
2# or via environment variable:3LOW_VRAM=1 python app.py
🔧 Training
We provide the full training codebase for reproducing Pixal3D from scratch.
Data Preparation
Prepare view-aligned O-Voxel data and rendered condition images by following the data toolkit instructions:
Pixal3D is trained as a three-stage cascade, each progressively increasing resolution:
Stage
Model
Resolutions
Config Prefix
1
Sparse Structure
32 → 64
ss_flow_img_dit_*_proj_finetune
2
Shape
256 → 512 → 1024
slat_flow_img2shape_*_proj_finetune
3
Texture
256 → 512 → 1024
slat_flow_imgshape2tex_*_proj_finetune
All stages use pixel-aligned projection conditioning and view-aligned latents (2 views by default). Within each stage, start from the lowest resolution and progressively fine-tune to higher resolutions by setting finetune_ckpt in the config.
--data_dir is a JSON string describing the dataset layout. Different stages require different keys:
Stage
Required keys
Sparse Structure
base, ss_latent, render_cond
Shape
base, shape_latent, render_cond
Texture
base, shape_latent, pbr_latent, render_cond
Example: Training All Three Stages
Below we show the full training sequence using ObjaverseXL as an example. Each higher-resolution step requires updating finetune_ckpt in its config JSON to point to the previous checkpoint.
We thank the community for building extensions and deployment guides for Pixal3D!
Pixal3D-ComfyUI — ComfyUI integration with deployment guides for Windows, WSL, and more.
🤗 Acknowledgements
This project is heavily built upon Trellis.2 and Direct3D-S2. We sincerely thank the authors for their outstanding work on scalable 3D generation , which serves as the foundation of our codebase and model architecture.
We also thank the following repos for their great contributions:
If you find this work useful, please consider citing:
bibtex
1@article{li2026pixal3d,
2 title={Pixal3D: Pixel-Aligned 3D Generation from Images},
3 author={Li, Dong-Yang and Zhao, Wang and Chen, Yuxin and Hu, Wenbo and Guo, Meng-Hao and Zhang, Fang-Lue and Shan, Ying and Hu, Shi-Min},
4 journal={arXiv preprint arXiv:2605.10922},
5 year={2026}
6}
📜 License
This project is released under the MIT License. The third-party components included in this project remain licensed under their respective original terms; see NOTICE for the full list of dependencies and their licenses.