ComfyUI v0.37.0: Qwen-Image 2.1 and MoGe 3 Support

ComfyUI Wikinews

ComfyUI v0.37.0 adds native Qwen-Image 2.1 support with three official templates, MoGe 3 geometry estimation, faster Qwen3.8 text encoders and automatic fast disk loading.

ComfyUI v0.37.0 is available. It brings Qwen-Image 2.1 into core with three official templates, adds MoGe 3 fine-detail geometry estimation, speeds up the Qwen3.5 and Qwen3.8 text encoders with speculative decoding, enables fast disk loading automatically on fast NVMe drives, and raises the default size of the Empty Latent Image node to 1024.
MoGe 3 point map refinement

MoGe 3 refines a coarse point map on a sparse voxel shell, keeping thin structures that image-space decoders blur (comparison from Comfy-Org/ComfyUI#16381).

Qwen-Image 2.1 in Core

Qwen-Image 2.1 landed in core through Comfy-Org/ComfyUI#16400 (CORE-423) and ships as a native implementation: the 7B single-stream diffusion transformer lives in comfy/ldm/qwen_image21, with the Qwen3-VL-8B text encoder read from its last hidden state and the reference image slots spliced in by the DiT itself.

Two new nodes carry the editing side of the model:

  • Text Encode Qwen Image 2.1 (TextEncodeQwenImage21, category model/conditioning/qwen image) takes a dynamic list of reference images instead of a fixed input, resizes them with the resolution widget (default 1024, multiples of 32, 0 keeps each reference at its own size) and splices them into the sequence as VAE latents. It outputs positive and negative conditioning plus an empty latent sized to the first reference image, which is what keeps an edit aligned.
  • Qwen Image 2.1 Cache (QwenImage21Cache) sets where the prefix KV cache lives and how it is stored: device is auto, gpu, cpu or off, and dtype is default, int8 or int4. cpu prefetches the cache from RAM behind compute, while off recomputes the prefix every step, which is slower but rules the cache out when debugging.

Three official templates ship with the release: text to image, image edit and background removal. All three require v0.37.0 or newer.

Qwen Image 2.1 image edit output

Output of the official Qwen Image 2.1 image edit template, from the workflow_templates repository.

The repacked weights are published as Comfy-Org/Qwen-Image-2.1.

MoGe 3: Fine-Detail Geometry Estimation

MoGe 3 is the third generation of Microsoft Research's monocular geometry model, released under the paper MoGe-3: Fine-Detail Monocular Geometry Estimation with Self-Guided Sparse Volumetric Refinement. Instead of decoding a point map directly in image space, it lifts the coarse prediction onto a sparse voxel shell and runs a sparse 3D UNet over it, which is what keeps thin structures and depth discontinuities sharp.

Core support arrived in Comfy-Org/ComfyUI#16381 (CORE-443) for both checkpoints, ViT-L and ViT-G. The ComfyUI port builds the refiner on the FlexGEMM sparse kernels the project already ships for Trellis 2 (comfy/ldm/trellis2/flexgemm.py), so nothing extra has to be installed on a normal CUDA setup.

Teaser from the MoGe 3 project page.

The official template utility_moge3_geometry_estimation takes one image and outputs a depth map and a surface normal map. It loads moge_3_vitg_fp16.safetensors by default, and the ViT-L file is selectable in the same dropdown. The new refine_steps widget on Run MoGe Inference and Run MoGe Panorama Inference controls the MoGe-3 refiner directly: default 3, up to 8, and 0 disables it. It has no effect on MoGe 1 or MoGe 2 checkpoints, which the nodes still load.

MoGe 3 template input

The template runs from a single image (input asset from the workflow_templates repository).

The template expects the repacked weights from Comfy-Org/MoGe:

📂 ComfyUI/
└── 📂 models/
    └── 📂 geometry_estimation/
        ├── moge_1_vitl_fp16.safetensors
        ├── moge_2_vitl_normal_fp16.safetensors
        ├── moge_3_vitg_fp16.safetensors
        └── moge_3_vitl_fp16.safetensors

The same node family keeps the earlier tooling: panorama inference that splits an equirectangular image into twelve perspective views and merges the depth back, point map to mesh conversion, and a FoV readout for camera matching.

Faster Qwen Text Encoders

Comfy-Org/ComfyUI#15623 (CORE-390) is a decode-speed pass over the Qwen3.5 and Qwen3.8 text encoders, which matter for Qwen-Image prompt rewriting and for the text generation nodes:

  • Speculative decoding: the checkpoint's multi-token prediction head drafts 2 to 5 tokens and one batched verify pass accepts them. The draft head runs as a captured CUDA graph and the verify pass runs under the memory compiler.
  • FixedKVBias: a full-capacity attention cache with a device-side write position, so decode steps stay graph-replayable across llama.py and qwen35.py.
  • Fused DeltaNet decode kernels from comfy-kitchen, with an eager fallback, plus repetition and presence penalties applied through a fixed-size vocab mask instead of a per-step allocation.

The Text Generate node exposes this through a new mtp widget with auto, off and 2 to 5 options. auto adapts the draft depth, and the pinned values fix it. It has no effect on checkpoints without MTP weights, and the tooltip notes that sampled output stays correctly distributed but differs from non-MTP output for the same seed. The same release adds W4A8 GEMV support for these encoders, which pairs with the int8 and W4A8 repacks Comfy-Org publishes.

Fast Disk and Memory

v0.37.0 upgrades to comfy-aimdo 0.5.5, which includes a native C implementation of Windows fast disk detection. ComfyUI now detects a fast disk on its own and enables disk-backed dynamic loading and offload automatically, per model, when the drive is PCIe 4 NVMe or better: weights skip the RAM buffer and the pin registration priming step. Mixed setups get RAM priority for the slower drives, so a model library split between an NVMe and a spinning disk keeps using cache where it helps. --fast-disk still forces the behavior and the new --disable-fast-disk turns it off, overriding --fast-disk.

Two more memory changes ship in the same release. The text encoder is now kept on the GPU whenever dynamic VRAM is enabled instead of being moved back and forth, and the peak VRAM of Wan models drops when comfy-kitchen attention is in use.

Other Changes

  • Empty Latent Image now defaults to 1024 x 1024 instead of 512 x 512, so a fresh node matches modern model training resolutions.
  • MiniMax Music 3 no longer renders noise when the ComfyUI compiler graphs are enabled: the autoregressive text encoder now uses pinned decode buffers like YuE2 and the generic generate path.
  • ACE-Step VAE decode no longer crashes on GPUs that do not run bf16.
  • The YuE2 Generate Music node gained a CFG control, and SheetSage2 position embedding precision was matched to upstream.
  • Node names and categories were cleaned up across the graph.
  • Partner nodes: Meshy 7.1, transparent backgrounds for GPT Image 2, a guard so a Tripo P2 run is refused when its linked GLB or FBX output would be empty, and an Idempotency-Key on partner-proxy calls so retries are not billed twice.
  • comfyui-frontend-package bumped to 1.53.6, workflow templates to v0.11.66, embedded docs to 0.5.12 and comfy-kitchen to 0.2.35.

Getting v0.37.0

Update ComfyUI through the Manager or your launcher of choice. The Qwen-Image 2.1 and MoGe 3 nodes and their templates require v0.37.0 or newer, while Desktop and Cloud builds follow the stable releases.

Comments

Sign in with GitHub to join the discussion.

Loading comments…
ComfyUI v0.37.0: Qwen-Image 2.1 and MoGe 3 Support | ComfyUI Wiki