Vendor the viewer JavaScript into javascript/ and drop the comfy-3d-viewers dependency. The viewers were previously copied into web/ at every startup by prestartup_script.py, which made the served frontend depend on a second package resolving at runtime. Bundles are vendored as .mjs so ComfyUI's **/*.js auto-import glob skips them: they are iframe-only and must never enter the shared main browser realm. Only the widget entry points stay .js. Also replace comfy_env.copy_files with a local helper. Its two extra features (frame-derived source dir, silent no-op on a missing source) were unused here, and the asset seeding now resolves the input directory through folder_paths.get_input_directory() so it follows ComfyUI Desktop and --input-directory instead of writing into the code tree. comfy-test.toml moves to the current schema: [test.workflows] cuda (there is no "gpu" key -- the accelerator is named by backend, and the old spelling parsed to an empty list, so CUDA runners silently ran the full unfiltered set), an explicit [test.platforms] platforms allowlist (per-platform booleans are no longer supported), and the javascript level.
Warning
Warning, uses experimental package
comfy-envto attempt a one click isolated install. Will download and use pixi package manager.
ComfyUI-Sharp
Installation
Three options, in order of speed → reliability:
- ComfyUI Manager (recommended) — search for
Sharpin the Manager and click Install from the highest version displayed. If that doesn't work, try nightly. - Manager via Git URL — in ComfyUI Manager: "Install via Git URL" with
https://github.com/PozzettiAndrea/ComfyUI-Sharp.git. - Manual (most reliable):
cd ComfyUI/custom_nodes git clone https://github.com/PozzettiAndrea/ComfyUI-Sharp.git cd ComfyUI-Sharp pip install -r requirements.txt --upgrade python install.py
Please report any problems you hit during installation or use of my nodes — open a Discussion or Issue. Very grateful for your help! 🙏
ComfyUI wrapper for SHARP by Apple - monocular 3D Gaussian Splatting in under 1 second.
3 Example workflows.
Workflow 1: standard/user input focal length.

https://github.com/user-attachments/assets/479fb066-4d40-4d7c-a8d4-d1224fc22efa
Workflow 2: focal length extraction from exif data.
https://github.com/user-attachments/assets/b0c3e196-aa93-4380-8f8b-9c19b833b818
Workflow 3: Panorama gaussians
https://github.com/user-attachments/assets/f31e6db6-eb3f-4d4a-9d01-089fe9f37326
Note: for PLY inference this model is good on its own, but for the Gaussian Viewer node, you're going to need to install this node as well! https://github.com/PozzettiAndrea/ComfyUI-GeometryPack
Model auto-downloads on first run. For offline use, place sharp_2572gikvuh.pt in ComfyUI/models/sharp/.
Nodes
- Load SHARP Model - (down)Load the SHARP model
- SHARP Predict - Generate 3D Gaussians from a single image
- Load Image with EXIF - Load image and auto-extract focal length from EXIF (35mm equivalent)
Images with EXIF data get focal length auto-calculated when using the Load Image with EXIF node.
Community
Questions or feature requests? Open a Discussion on GitHub.
Join the Comfy3D Discord for help, updates, and chat about 3D workflows in ComfyUI.
Credits
Thanks to Apple for releasing SHARP as open source.
