Nodes/Reference-Based Video Colorization/ColorMNet Image Colorization (New)
ComfyUI Node

ColorMNet Image Colorization (New)

ColorMNet Image

By jonstreeter·Created 10 months ago·Updated 9 months ago· 25
ColorMNet Image Colorization (New)
  • image
  • reference_image
  • colorized_image
  • performance_report
target_width768
target_height432
use_fp16true
use_torch_compilefalse

ColorMNet Image is the still-photo sibling of the ColorMNet video node - same memory-based colorization model, minus the temporal machinery. You hand it one grayscale image and one color reference, and it transfers the reference's palette onto your photo in a single pass. No diffusion, no prompt, no ControlNet. If your end goal is a colorized old family photo or a historical still, this is the node you want, and it's the one the pack's Workflows/ColorMNet_Image_Workflow.json demo is built around.

It's a deliberately stripped-down version of the video node. Where ColorMNetVideo gives you memory_mode, six feature_encoder choices, and text guidance, this one keeps just the essentials: the image to colorize, the reference, output resolution, and FP16. Since there's no temporal dimension, all the memory-mode machinery (that's what "memory-based" refers to in the paper - propagating color information across frames) is irrelevant here. The model's DINOv2-style encoder still does the heavy lifting; you just can't swap it.

The inputs

  • image - your grayscale (or already-color, if you're just re-paletting) image, [H, W, 3].
  • reference_image - the color image whose palette you want. This is 90% of the result quality, so pick deliberately: a reference that's semantically similar to your subject and carries the mood you're after. For a portrait, another portrait with the skin tones you want; for a landscape, a landscape with the season you want.
  • target_width / target_height - output resolution, snapped to multiples of 32. The 768x432 default is fine for a first pass; push it higher for the final render.
  • use_fp16 - on by default, faster with negligible quality cost. Leave it.
  • use_torch_compile - here's the pack's least useful knob. Just as with the video version, the code logs that ColorMNet is already running optimized CUDA kernels, so torch.compile contributes almost nothing but a slow first run. Leave it off.

Outputs are colorized_image (IMAGE) and performance_report (STRING). The report is mostly useful here as a sanity check on timing - for a single frame you're not benchmarking anything.

Install and gotchas

Same pack, same story. ComfyUI Manager → search "Deep Exemplar Video Colorization", or:

cd ComfyUI/custom_nodes/
git clone https://github.com/jonstreeter/ComfyUI-Reference-Based-Video-Colorization.git
cd ComfyUI-Reference-Based-Video-Colorization/
pip install -r requirements.txt

The ~500MB ColorMNet checkpoint auto-downloads on first run of any ColorMNet node, so your first execution will look hung while it pulls the model. The two git-based CUDA extensions auto-install on node load; if that compile fails on Windows (you'll need VS Build Tools with the C++ workload), the node still runs, just slower. And if you hit No module named 'model.network' on startup, you're on a stale revision - update the pack, that import bug is fixed in current code.

Worth repeating since it's easy to miss in a single-image context: the ColorMNet weights are CC BY-NC-SA 4.0, which means non-commercial. Personal restoration and hobby work, great. Selling colorized photo services built on this model, not so great. The classic one-light-aside for this node: if the result looks flat, it's almost always the reference, not the model - swap the reference before you touch any other input.

CategoryColorMNet/Image

Inputs (6)

NameTypeDefaultDescription
imageIMAGEGrayscale or color image to be colorized [H, W, 3]
reference_imageIMAGEColor reference image that provides the color palette
target_widthINT76864–2048Output width - must be multiple of 32 (will be adjusted automatically)
target_heightINT43264–2048Output height - must be multiple of 32 (will be adjusted automatically)
use_fp16BOOLEANtrueUse half-precision (FP16) for faster processing with lower VRAM usage (minimal quality impact)
use_torch_compileBOOLEANfalseEnable torch.compile optimization for 10-15% speedup (increases first-run compilation time)

Outputs (2)

NameTypeDescription
colorized_imageIMAGE
performance_reportSTRING