Sitemap

Squeezing the most out of ProPainter in ComfyUI

4 min readMay 26, 2026

--

Press enter or click to view image in full size

ProPainter is a 2023 video inpainting model. By current standards it’s already outdated, but it’s still in active use — because it’s simple and remarkably fast: just a few nodes in ComfyUI, no prompts, no LoRAs, minimal setup. And unlike the newer Netflix VOID, which is locked to 672×384 resolution (I wrote about that), ProPainter handles practically any resolution. That said, it has one limitation that shows up in a professional pipeline even on simple tasks.

Press enter or click to view image in full size
A basic ProPainter workflow in ComfyUI

The problem

ProPainter was trained and is typically used on 8-bit Rec709 — essentially YouTube-grade footage. Professional plates are at least 16-bit, often in log gamma. The model wasn’t trained on that. In Nuke there’s a workaround — Alexander Pushkarev’s ProPainterNuke gizmo, which preserves 32-bit color end-to-end by routing frames via API. But it’s a per-shot setup with no batch processing, and my work is the opposite — automated cleanup across dozens of similar shots at a time. So the question I wanted to answer is whether ProPainter can handle log and 16-bit natively in ComfyUI, without the Nuke bridge.

The test matrix

Same shot, three variables:

  • Block A — Rec709 input, 8-bit MOV
  • Block B — Rec709 input, 16-bit PNG
  • Block C — Log input, 16-bit PNG

ProPainter computes optical flow across time — meaning it looks at neighboring frames to figure out how to fill the masked region — so shot length should affect quality. In each block I tested three lengths: 27, 45, and 75 frames.

Finding 1 — Systemic mush

As expected, regardless of bit-depth or format, ProPainter loses detail. This is architectural, not cosmetic. The model samples pixels from neighboring frames and blends them into the masked area. It doesn’t generate new texture; it copies and smooths existing texture. The result is the characteristic “mush” — which makes ProPainter unsuitable for restoring textured frames.

A typical case is restoring semi-transparent edges after removing tracking markers. VOID handles this beautifully too — but on my M4 it takes 30 minutes per test shot, while ProPainter does it in under a minute.

Press enter or click to view image in full size
Before and after ProPainter marker removal

Side-evidence: A 16-bit PNG sequence rendered to ProRes 4444 came out roughly 5% smaller than the 8-bit MOV version. The extra bit-depth was eaten as noise. The model is an aggressive denoiser whether you want it to be or not.

Finding 2 — Log space fixes color

With Rec709 input there’s also a noticeable gamma and saturation shift inside the patch — highlights get crushed pretty aggressively. And, surprisingly, none of this happens with log material. Grain even seems to survive to some degree.

Get Vadim Kasse’s stories in your inbox

Join Medium for free to get updates from this writer.

So for production use you can — and should — use ProPainter only in Log mode. Otherwise the output can’t be color-graded further.

Color shift comparison rec709 vs. log

Finding 3 — The sweet spot is 30 to 45 frames

The “more frames = more data” assumption didn’t hold.

  • 27 frames: Not enough temporal context. Parts of the image breathe, edges wobble.
  • 75 frames: Positional error accumulates. Render time grows. Quality doesn’t.
  • 45 frames: Stable edges, coherent fill, reasonable compute.
ProPainter temporal context comparison: 27 vs. 45 vs. 75 frames

Finding 4 — Horizontal drift

Across all blocks, patches inside the mask slide a few pixels horizontally over the sequence. The source is RAFT (optical flow). In 8-bit it locks onto compression artifacts; in flat log there are too few high-contrast reference points. No setting eliminates this — only tighter masks.

Mask edge texture drift increasing right-to-left

Verdict for the pipeline

Don’t use ProPainter for: removing large objects with fine detail or non-obvious structure. This is a technical janitor, not a modern generative AI.

Use it for: uniform surfaces and small technical elements — tracking markers, skin blemishes, wires. In Log, in 40–50 frame chunks.

A technical note for the nerds

On my M4, running ProPainter through ComfyUI with the VHS Video Combine node would consistently produce nothing — without throwing errors. The final file would just be missing from disk on every other run. Turns out the model works so fast that, roughly speaking, Video Combine (ffmpeg) doesn't have time to finalize the frames coming out of the model.

Fix: add a Rebatch Images node between ProPainter and Video Combine. It buffers incoming frames and only releases them as one complete batch. ffmpeg gets the full sequence in a single pass and closes the container cleanly.

#ProPainter #ComfyUI #VFX #VideoInpainting #AIForVFX #PostProduction #GenerativeAI #Compositing #VisualEffects #FilmTech

--

--