Introduction

A new custom-node pack, ComfyUI-PhotoDeblur, landed yesterday from community builder porfeng. It brings two well-known restoration models — HI-Diff (NeurIPS 2023) and MISCFilter (CVPR 2024) — into local ComfyUI as native nodes, with tiled processing so you keep the original resolution instead of shrinking the frame to fit VRAM. The pack is open under MIT; the weights stay with their original licenses (HI-Diff is Apache-2.0, MISCFilter is MIT). Grab the repo at github.com/porfeng/ComfyUI-PhotoDeblur, or look it up on the Comfy Registry as comfyui-photodeblur.

What Shipped

This is a Comfy wrapper, not a new weight drop. What you get is a practical path to run the authors' official checkpoints inside a graph:

  • Five nodes: Download Deblur Models, HI-Diff Model Loader, MISCFilter Model Loader, Deblur Image (Tiled), and Match Input Tone
  • Three checkpoint variants for each model: RealBlur_J, RealBlur_R, and GoPro (R is a training-set variant, not a camera-RAW mode)
  • Original-resolution inference in FP32, with overlap blending so tiles don't leave seams
  • Optional eight-way test-time augmentation that averages flipped and rotated predictions — roughly 8× the compute
  • A download node that pulls the official Google Drive archives and checks them with SHA256
  • An example workflow at example_workflows/ComfyUI-PhotoDeblur.json, with notes in English and Chinese

Search the canvas for Photo Deblur after you install.

The README includes before-and-after crops of street signs, storefronts, a camera display, a colorful wafer, and a night city scene. The author is honest about limits: a bookstore night shot cleaned up signs and structural edges, while night portraits varied, and a small, heavily blurred stage face and a cat's face barely moved. Defocus, detail lost in clipped highlights, and very small faces are usually harder than ordinary camera shake.

How to Run It

Install

Clone the pack into custom_nodes, then install the Python extras with ComfyUI's own Python from inside the node folder:

cd ComfyUI/custom_nodes
git clone https://github.com/porfeng/ComfyUI-PhotoDeblur.git
cd ComfyUI-PhotoDeblur
python -m pip install -r requirements.txt
python -m pip install -r requirements-download.txt

If you want MISCFilter on NVIDIA CUDA 12, also run python -m pip install -r requirements-misc-cu12.txt. Optional tone matching needs OpenCV via requirements-tone.txt. On the Windows portable build, use python_embeded/python.exe instead of python. Restart ComfyUI when you're done.

Wire it

Drag the bundled ComfyUI-PhotoDeblur.json onto the canvas, point Load Image at your photo, and match the downloader's model and variant to the loader:

Download Deblur Models.ready → Model Loader.download_ready
Load Image → Deblur Image (Tiled).image
Model Loader → Deblur Image (Tiled).deblur_model
Deblur Image (Tiled) IMAGE → Save Image

If the weights are already on disk, you can skip the download connection. To try HI-Diff instead of MISCFilter, swap the loader and pick HI-Diff in the downloader.

Weights land under your ComfyUI models directory as HI-Diff/HI_Diff_RealBlur_J/ (three files: net_g.pth, net_le_dm.pth, net_d.pth) or MISCFilter/RealBlur_J.pth. You can also download the official archives by hand from the HI-Diff and MISCFilter repos and drop them into those folders.

Settings that matter

  • Start with RealBlur_J, tile 768, overlap 96, and TTA off. Compare both models on the same original.
  • On a tighter card, try tile 512 and overlap 64.
  • Leave HI-Diff steps at 0 at first — that selects 16 steps for the J/R variants and 8 for GoPro. MISCFilter has no sampling steps; it is a single forward pass.
  • Blend defaults to comfy_linear; cosine, gaussian, and average are there if seams show.
  • Tone matching is optional post-processing that pulls broad color shifts back toward the original. Sigma 16 is the suggested start; 0 bypasses it.
  • Develop RAW files first and feed display-referred sRGB TIFF or PNG. Standard Save Image writes 8-bit PNG; use Save Image (Advanced) if you want 16-bit output for grading.

Intentionally soft backgrounds — panning shots or shallow depth of field — will get sharpened too. If you only want the subject restored, blend the result with the original using a mask.

Credits and Caveats

This is a third-party pack. Comfy Org and the paper authors didn't make, review, or endorse it. The models themselves are a few years old; the news is that you can now run them as first-class ComfyUI nodes, at the photo's original size, with official weights verified on download.

Original Source

https://github.com/porfeng/ComfyUI-PhotoDeblur

Conclusion

If a handheld night shot smeared your signs, window frames, or street text, this is a focused restoration step you can drop in before color grading — not a generative redraw. Start with RealBlur_J at tile 768, compare HI-Diff against MISCFilter on the same frame, and keep TTA off until you like a result enough to spend the extra compute. The author already told you where it struggles (tiny faces, defocus, clipped highlights), so try it on a photo that actually has camera shake.

—Aurelia ♡