Propainter_Loader
The ProPainter stack that pre-fills your masked video
- model
Video inpainting has a trick that image inpainting doesn't need: before you regenerate anything, you can propagate the visible pixels along the motion of the video to fill in behind the removed object. That's the whole job of ProPainter, the non-diffusion half of this pack - and Propainter_Loader is the node that gets its three pieces onto the GPU. If DiffuEraser_Loader is the diffusion side's assembly line, this is the optical-flow side's.
Three checkpoints, all pulled from the same dropdown source (ComfyUI/models/DiffuEraser), all .pth files downloaded from the ProPainter v0.1.0 release:
- fix_raft -
raft-things.pth. RAFT-opt, the optical flow network that estimates how pixels move between frames. - flow -
recurrent_flow_completion.pth. The recurrent network that completes the flow fields inside the masked region, which is what lets it infer "these pixels were moving like this, so fill them like this." - propainter -
ProPainter.pth. The actual transformer-based inpainting generator that produces the filled frames. - device - a plain dropdown (cpu/cuda/mps). On a machine with a GPU this should already default sensibly; set it to
cudaif you're on Linux or Windows and it isn't picking it up.
The dropdowns list every file in models/DiffuEraser, so you don't need a special subfolder - but the README's convention is to drop all three .pth files in a propainter subfolder so the diffusion weights don't get mixed in with the flow weights. Either way, the node insists you pick all three: the code literally raises "need load all models" if any of them is left on "none". No guessing, no silent half-loaded state.
Output: a single model output of the custom Propainter_Loader type, wired into exactly one place - the model input of Propainter_Sampler.
Why this exists at all: diffusion is good at inventing plausible pixels but slow and prone to temporal flicker, so you don't want it doing the whole job from noise. ProPainter gives it a strong, temporally-consistent first guess - the "priori" - and the diffusion pass only needs to refine the edges and details it can't get right. The README even says outright that for many jobs ProPainter's output alone is enough (at a max edge of 960px, upscale afterwards), which is why the pack ships both paths. This loader is the cheap, deterministic, reliable half - worth internalizing if you want to skip the diffusion step entirely.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| propainter | COMBO | 1 options: none | |
| flow | COMBO | 1 options: none | |
| fix_raft | COMBO | 1 options: none | |
| device | COMBO | 3 options: cpu, cuda, mps |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| model | Propainter_Loader | — |