MoGe-2 Model (CRT AutoDL)
The camera that figures out your FOV
- moge_model
Pixal3D's pixel-aligned trick has a hidden dependency: to back-project a flat photo into 3D, the pipeline needs to know what camera took the photo - specifically the field of view. Guess wrong and the geometry comes out squat or stretched, like a fisheye still image being extruded. That's where MoGe comes in. Microsoft Research's monocular geometry estimator reads a single image and recovers depth and camera intrinsics, and MoGe-2 is the current version. This node is how you get it into the graph.
CRTAutoDLPixal3DMoGeModel downloads moge_2_vitl_normal_fp16.safetensors into ComfyUI/models/geometry_estimation/ on first run, then hands it to ComfyUI's native LoadMoGeModel node. No inputs, one output. MoGe outputs an affine-invariant point map rather than a plain depth map, which is richer geometry - and the part Pixal3D actually consumes is the camera FOV it derives from that.
The one output
moge_model - a MOGE_MODEL socket. In the Pixal3D workflow, wire it into the native MoGeGeometryToFOV node, and feed that FOV into Pixal3DConditioning's camera_angle_x input. The conditioning node's tooltip spells it out: wire a per-image FOV there to match the upstream default, instead of hardcoding a number. That single wire is the difference between a mesh that matches your photo's perspective and one that doesn't.
Install
Same as every node in this pack:
cd ComfyUI/custom_nodes
git clone https://github.com/PGCRT/CRT-Nodes
pip install -r requirements.txt
Restart ComfyUI, or install via Manager (search CRT-Nodes). This node delegates to comfy_extras.nodes_moge, so it needs a recent ComfyUI - update ComfyUI if LoadMoGeModel isn't in your node search.
Gotchas
- One-time download, ~a gigabyte-ish. The
CRT AutoDLprogress bar in the console is normal. The file lands inmodels/geometry_estimation/and ComfyUI's ownLoad MoGe Modelnode can reuse it, so you're not locked into this pack to use it. - The same file is shared with the SAM3D Body family.
CRTAutoDLSAM3BodyMoGeModelpoints at the same model key. Run either one once and the download is done for both - no double-fetching. - Keep it in the geometry side of the graph. This isn't a ControlNet depth preprocessor in the usual sense (though MoGe makes a great depth map too). In this pack it exists to feed camera FOV, so wire it where the conditioning needs it.
It's a small node with a narrow job, and that's the point. Every piece of the Pixal3D stack that needs a model file gets one of these AutoDL wrappers, so you can build the graph by dropping nodes without ever opening a HuggingFace page. MoGe is the piece that makes the perspective math honest - and thanks to this node, the only thing you have to remember is to drag the wire from moge_model to the FOV input.
Inputs (0)
No inputs
Outputs (1)
| Name | Type | Description |
|---|---|---|
| moge_model | MOGE_MODEL | — |