ComfyUI shipped version 0.37.0 on 21 September 2026, and the item drawing attention is MoGe 3, the third generation of Microsoft Research's monocular geometry model, running as a native node. Two checkpoints are mirrored in the Comfy-Org weights repo: ViT-L at 740,652,334 bytes (0.74 GB) and ViT-G at 2,501,605,198 bytes (2.50 GB).

The node itself is not the interesting part. MoGe 3 is the last missing piece of a 3D pipeline that ComfyUI has been assembling one release at a time since 9 September, and the assembly has happened quietly enough that it reads as three unrelated changelogs. Across v0.35.0, v0.36.0 and v0.37.0 the project added mesh import, a rebuilt Tripo integration, geometry estimation, Meshy 7.1 support and a billing guard on paid 3D runs. Individually those are line items. In sequence they are a working pipeline that did not exist three weeks ago.

There is also something you should know before you upgrade: the newest version is not v0.37.0. It is v0.37.1, tagged on 22 September, and it has no release notes.

What actually shipped in 0.37.0

The release carries 23 merged pull requests. The ones that change what you can build, rather than what you can fix, fall into four groups.

AreaChangePull request
3DMoGe 3 support, ViT-L and ViT-G checkpoints#16381
3DMeshy 7.1 partner node support#16412
3DTripo P2 refuses a paid run whose linked GLB or FBX output would be empty#16369
ImageTransparent background support for GPT Image 2#16366
ImageQwen-Image 2.1 support#16400
AudioCFG control on the YuE2 Generate Music node#16373
AudioMiniMax Music 3 noise fix under CUDA graphs#16428
PerformanceAuto-detect and enable --fast-disk on fast disks#16333
PerformanceQwen3, 3.5 and 3.8 cudagraphs and w4a8 gemv#15623

Two of these connect directly to models this publication has already covered. The Qwen-Image 2.1 node lands five days after Qwen-Image 2.1 shipped under a research license, which is the licensing question you need to settle before you wire it into paid client work. The YuE2 CFG control gives local guidance-scale adjustment to the open music model we measured against Suno v5.

The --fast-disk change is the one most users will feel without noticing. Previously it was an opt-in flag; the merged pull request describes auto-detection that skips RAM buffer and pin registration priming when the disk is fast enough, applied per model rather than globally. If you run a PCIe 4.0 NVMe or better, 0.37.0 turns this on for you.

The 3D pipeline took three releases to assemble

Here is the sequence, with the actual release timestamps from the GitHub API rather than the dates on aggregator posts.

VersionReleased (UTC)3D capability added
v0.35.02026-09-09 19:55File3DToMesh: parse GLB, glTF, OBJ and STL into the MESH pipeline
v0.36.02026-09-15 22:26Tripo migrated to the v3 API, Smart Segment node added
v0.37.02026-09-21 07:35MoGe 3 geometry, Meshy 7.1, Tripo P2 empty-output guard
v0.37.12026-09-22 19:12Hunyuan Image 3.5 nodes (no release notes published)

The v0.35.0 entry is the one that made the rest useful. Pull request #15919 describes File3DToMesh as the counterpart of MeshToFile3D, bridging Load3D file outputs into the MESH pipeline so that decimate, remesh, UV unwrap and bake become available to any asset you can load. The implementation detail list is unusually thorough for a single node: accessor denormalization, byteStride interleaving, sparse accessors, strip and fan triangulation, baked node transforms with winding flip on mirrored scales, EXT_mesh_gpu_instancing expansion, EXT_texture_webp, glTF 1.x rejection, OBJ sRGB to linear color conversion, and an STL binary fallback that tolerates trailing junk.

That is a real glTF importer, not a demo. Before it, ComfyUI could generate 3D through partner APIs but could not meaningfully process a mesh it did not make. The Tripo v3 migration in v0.36.0 then rebuilt the paid generation path, adding a Smart Segment node and marking Text to Model, Image to Model and Texture model deprecated.

Four linked charcoal cubes engraved 0.35.0, 0.36.0, 0.37.0 and 0.37.1, the third highlighted orange
Each release added one piece of the 3D pipeline. Only the chain is the story.

What MoGe 3 gives you, and what it does not

Be precise about this, because the framing in most coverage is wrong. MoGe 3 is geometry estimation, not mesh generation. The paper, submitted 20 July 2026 by Lingyu Kong, Ruicheng Li, Ruicheng Wang, Sicheng Xu, Chengtang Yao, Jianfeng Xiang and Jiaolong Yang, describes the contribution as converting a coarse prediction into a sparse voxel representation and refining it with sparse convolutions, so that feature aggregation respects 3D spatial locality instead of mixing features across depth discontinuities. The problem it solves is over-smoothed geometry around thin or elongated structures.

What you get out of the node is a metric-scale point map from a single image. What you do not get is a watertight, UV-unwrapped, textured asset ready for a game engine. If you need that, you still need Tripo or Meshy, and those are paid API calls.

The checkpoint sizes, read from the Comfy-Org weights repo, explain why this is worth doing locally at all.

CheckpointBytesGBGiB
moge_1_vitl_fp16628,391,6520.630.59
moge_2_vitl_normal_fp16661,859,9240.660.62
moge_3_vitl_fp16740,652,3340.740.69
moge_3_vitg_fp162,501,605,1982.502.33

MoGe 3 ViT-L is 12% larger than the MoGe 2 checkpoint it replaces. That is close enough to free that there is no reason to stay on MoGe 2. ViT-G is 3.4 times the size of ViT-L, which is the only real decision in front of you: 0.69 GiB against 2.33 GiB of VRAM for the weights, on a model that runs alongside whatever diffusion stack you already have loaded. On a 12 GB card, start with ViT-L. The upstream microsoft/MoGe repository carries the reference implementation if you want to compare outputs outside ComfyUI.

Four charcoal bars engraved 0.63, 0.66, 0.74 and 2.50, the tall fourth bar dwarfing the first three
MoGe 3 ViT-L at 0.74 GB is barely larger than MoGe 2. ViT-G at 2.50 GB is the real decision.

The billing guard is the most practical change in the release

The change with the clearest financial effect on a working creator is the smallest one in the changelog. Pull request #16369 makes Tripo P2 nodes inspect the prompt graph before sending the paid request, and refuse to run when a downstream node is wired to a GLB or FBX output that the chosen quad setting leaves empty. It names the linked consumers in the error.

The behaviour it replaces: the request billed, then Save 3D failed with an AttributeError. You paid for a generation and got an exception. The pull request notes the graph lookup now lives in comfy_api_nodes.util as two reusable helpers, which means other partner nodes with conditionally empty outputs can adopt the same guard. Anyone running batch 3D jobs against a metered API has lost money to exactly this failure.

Two charcoal chutes engraved GLB and FBX blocked by a barrier arm engraved quad
The guard reads the graph before the paid request, not after the bill.

Building the photo-to-mesh workflow today

The pieces are all in 0.37.1. A working local-first path looks like this:

  1. Update to v0.37.1. The GitHub Releases page will show you 0.37.0 as the latest release, so pull the tag directly or update through the ComfyUI manager.
  2. Fetch moge_3_vitl_fp16.safetensors from the Comfy-Org geometry_estimation folder into your models directory. Start with ViT-L unless you have VRAM to spare.
  3. Feed a single image to the MoGe 3 node to get a metric-scale point map. This step is local and costs nothing per run.
  4. Use the point map as a reference or control signal, not as a finished asset. For an actual mesh, route to Tripo P2 or a Meshy 7.1 node.
  5. Bring the generated GLB back in through File3DToMesh, then decimate, remesh, UV unwrap and bake inside ComfyUI rather than round-tripping to Blender.
  6. Wire Save 3D last, and let the 0.37.0 guard tell you if your quad setting will produce an empty output before you pay for the run.

Step 5 is the one that changed. Round-tripping a generated mesh through a DCC application for cleanup was the break in every ComfyUI 3D workflow before v0.35.0.

Version 0.37.1 shipped without release notes

The v0.37.1 tag page returns HTTP 200, but the GitHub Releases API returns 404 for that tag, meaning no Release object was ever created. There are no notes to read. The compare view shows it is three commits ahead of v0.37.0: Tencent Hunyuan Image 3.5 text-to-image and edit nodes (#16462), a workflow-template bump to v0.11.68, and the version commit itself.

So the newest ComfyUI adds a new Tencent image model family, and the only way to learn that is to diff two tags. If you track releases by watching the Releases page, you have not seen it. Check the official changelog against the compare view when a point release appears with nothing attached.

A charcoal tag engraved 0.37.1 beside an empty recessed tray engraved 404
The tag exists, the release object does not. The API returns 404 and no notes render.

What to do next

Update to v0.37.1 rather than 0.37.0, and pull the MoGe 3 ViT-L checkpoint before ViT-G. If you run paid Tripo or Meshy jobs in batches, the empty-output guard alone justifies the upgrade this week. If you were waiting for ComfyUI to become a credible 3D environment, the answer is that it now handles import, processing and geometry estimation locally, while generation remains a metered API call. Plan your node graph around that split rather than around the assumption that any of this is free.

Frequently asked questions

Does MoGe 3 generate 3D models from images?

No. MoGe 3 performs monocular geometry estimation, producing a metric-scale point map from a single image. It does not output a watertight, textured mesh. For asset generation you still need a partner node such as Tripo P2 or Meshy 7.1, both of which are paid API calls.

Should I use the ViT-L or ViT-G MoGe 3 checkpoint?

ViT-L is 740,652,334 bytes (0.69 GiB) and ViT-G is 2,501,605,198 bytes (2.33 GiB), a 3.4x difference. On a 12 GB card running a diffusion model concurrently, start with ViT-L. Move to ViT-G only if thin-structure detail in your output is visibly insufficient.

Is it worth upgrading from MoGe 2 to MoGe 3?

The MoGe 3 ViT-L checkpoint is 12% larger than moge_2_vitl_normal_fp16. The stated improvement targets over-smoothed geometry around thin or elongated structures, which is the common failure mode in monocular depth work. At that size difference there is no practical reason to remain on MoGe 2.

Why does the ComfyUI Releases page not show v0.37.1?

The v0.37.1 tag exists and the tag page loads, but no GitHub Release object was created for it, so the Releases API returns 404 and no notes appear. The changes are visible only through the tag comparison view against v0.37.0.

What does the Tripo P2 empty-output guard actually prevent?

It checks the prompt graph before issuing the paid request and refuses to run when a downstream node is connected to a GLB or FBX output that the selected quad setting leaves empty. Previously the request was billed and then Save 3D raised an AttributeError, so you paid for a generation that could never complete.

Do I need to set the fast-disk flag manually in 0.37.0?

No. Version 0.37.0 auto-detects a fast disk and enables the behaviour per model, skipping RAM buffer and pin registration priming. The recommendation in the pull request is that PCIe 4.0 NVMe or better qualifies. A debug switch to disable it was added in the same release.