ProPainter
Evaluate ProPainter for a specific video repair: check mask alignment, commercial-use restrictions, temporal defects and the final delivery file before accepting a result.
At a glance
- Input
- Existing video plus a mask that identifies the region to reconstruct. The implementation accepts one repeated mask or an ordered mask sequence.
- Output
- A reconstructed video file that must be reviewed in motion and checked separately for delivery integrity and audio.
- Access
- Source and pretrained assets are documented in the official repository. The reviewed S-Lab license limits the permitted use and requires a separate commercial decision.
- Who it fits
- Editors or researchers who can prepare masks, preserve run records and inspect temporal defects against a defined shot brief.
- When to choose something else
- Avoid it when commercial permission is unresolved, the workflow needs a click-and-go hosted editor, or no one can inspect the repaired sequence and final file.
- Cost and access conditions
- Allow for mask preparation, compute and frame-by-frame review. The documented memory controls need testing on your clip; this review provides no hardware minimum or commercial license quote.
Key Highlights
Repairs masked regions across video frames
The authors combine recurrent flow completion, propagation in image and feature domains, and a mask-guided sparse video Transformer. Treat that design as a method description, not a guarantee of an invisible edit.
Mask alignment is part of the result
The inspected script repeats one mask across the clip or reads a mask sequence in sorted order. Check frame order, dimensions and protected edges before changing model settings.
Public source does not mean unrestricted use
S-Lab License 1.0 permits noncommercial use subject to its conditions and directs commercial inquiries to the contributors. Resolve that boundary before a commercial trial.
About
On this page
ProPainter reconstructs masked regions in existing video, including areas where you want to remove an object. It is worth evaluating when you can prepare the footage and masks, check the license for your intended use, and inspect the repair in motion. It is not a guarantee of invisible editing. The useful question is whether it can repair your particular shot without damaging the parts you need to keep. Official project
This is a source-based evaluation, not a hands-on GPU review. We read the authors' documentation and implementation on September 10, 2026. The studio-shot example, run record and acceptance worksheet below are proposed editorial methods, not experiments we have performed or results reported by the researchers.
Reviewed source revisions: code e870e793.
Define the shot you need to repair
Consider an illustrative studio clip with a bag beside a chair. Removing the bag is only part of the job. The chair leg should keep its shape, the floor pattern should remain stable during the camera move, and the repaired region should not draw attention when the clip plays normally. A clean thumbnail is insufficient if the floor starts moving independently of the scene a second later.
Before installing anything, write a one-sentence edit specification: remove the bag, preserve the chair and floor, and retain the original framing. Then identify the difficult interval. It might be the moment the bag overlaps the chair or the camera reveals more of the floor. Include that interval in the trial rather than selecting only the easiest part of the clip.
Separate required conditions from preferences. An intact chair leg can be non-negotiable, while a small texture difference in an indistinct background may be acceptable for your project. Make that choice before comparing outputs. Otherwise, you may unknowingly lower your standard to suit whichever result the model produces.
Keep an untouched original and note where the edited clip will be used. An experimental study, a personal edit and a paid client delivery raise different practical and licensing questions. Technical feasibility does not answer the permission question, and a model's reputation does not establish that a specific repair is suitable for delivery.
Understand the model without mistaking research for a guarantee
ProPainter is an ICCV 2023 project from S-Lab at Nanyang Technological University. Its authors describe three principal components: recurrent flow completion, propagation in image and feature domains, and a mask-guided sparse video Transformer. The model combines information across frames rather than treating every repair as an unrelated still image. Method overview
The original paper places that design in the context of earlier video-inpainting research, including E2FGVI. That relationship does not make ProPainter a simple version update of E2FGVI, nor does an academic comparison establish a universal winner for today's editing tasks. We have not reproduced the paper's experiments. Original paper
For a reader choosing a workflow, the important distinction is between a research method and an end-to-end editing service. Downloadable code, a community node and a hosted interface can differ in setup, available controls, data handling and terms. This guide discusses the authors' implementation. Do not assume that a wrapper with the same product name exposes identical settings or grants the same rights.
Resolve licensing before spending time on a trial
The published S-Lab License 1.0 permits noncommercial use subject to its conditions and directs commercial-use enquiries to the contributors. Public access to the code is not unrestricted commercial permission. Read the current license for the code and models, and seek clarification from the rights holder if your intended use is not clearly covered. License terms
Keep three decisions separate in your notes: permission to edit the source footage, permission to use this model for the project, and permission to use any hosting service involved. An answer about one does not settle the others. In particular, a working online demo does not establish commercial-use rights, confidentiality or an unlimited allowance.
For the studio example, put the rights decision at the top of the run record. If the intended deliverable is commercial and you do not have the necessary permission, stop that use-case evaluation there. You can investigate another permitted workflow without claiming that the technical result would have been unsuitable. This is a rights boundary, not a quality judgment about the model.
Set up a small trial you can explain later
Start from the official repository, whose documented setup uses Python 3.8 and pretrained weights. That is the authors' starting point, not our certification that every current operating system, Python release or GPU environment will work. Its dependency file includes unpinned packages and version ranges, so retaining the actual installed versions matters for reproducibility.
Use an isolated environment and keep its setup notes with the trial. First try an official sample, then one representative shot of your own. This proposed sequence separates an environment problem from a difficult masking problem. If the sample cannot run, changing the bag mask will not explain the installation failure.
Create a run record before processing. Give it a unique name and include the input filename, the selected interval, frame dimensions, mask location, repository revision, weights, environment versions and exact arguments. After processing, add the output location, completion status and observations. Do not overwrite the previous run when changing a setting.
The record should answer a practical question a week later: what exactly changed between the acceptable result and the failed one? “Tried higher quality” does not answer it. A note identifying the modified control, the reason for modifying it and the defect you expected to address does.
Check mask alignment before tuning the model
The inference implementation accepts footage and masks. It repeats a single supplied mask across the sequence; when given a directory of masks, it reads them in sorted order. Inspect the implementation used by your chosen version before assuming a wrapper behaves the same way. Mask loading
For the bag example, inspect the mask against the first, middle and last frames, then inspect every interval where its outline or overlap changes. Check that the selected region follows the intended object and does not consume the chair leg. Decide separately whether the shadow belongs in the removal: leaving a conspicuous shadow could undermine the edit even if the bag disappears.
Verify frame-to-mask correspondence, dimensions and filename order. These checks are especially important when preparing image sequences. A mask that looks plausible by itself can still be aligned with the wrong frame. Save an overlay so you can distinguish an input-selection error from a reconstruction defect.
Change one variable at a time while diagnosing a failure. Enlarging the mask, reducing resolution and changing temporal settings together may produce a different image, but it will not tell you which change helped. Keep the original trial as your comparison and label each subsequent attempt with its specific purpose.
Treat memory controls as trade-offs, not quality presets
The inspected command-line defaults include the following values. They describe the implementation, not recommended settings for every clip.
| Control | Inspected default |
|---|---|
--mask_dilation | 4 |
--neighbor_length | 10 |
--ref_stride | 10 |
--subvideo_length | 80 |
--resize_ratio | 1.0 |
--fp16 | Off |
Check the argument definitions against your saved revision. The authors document memory-saving options involving precision, resolution and temporal context. Their example memory figures are not a universal minimum-GPU requirement or a speed promise. Memory-efficient inference
If memory is the immediate obstacle, reduce the trial's scope and record the changed condition. After it completes, review the result again rather than treating successful execution as success of the edit. A process can finish while leaving a repair that fails your protected-edge or motion checks.
Track setup, initial downloads, processing and manual cleanup separately. Those categories answer different planning questions. Setup may be reusable for later shots; masking and cleanup may recur. We do not provide a per-frame speed estimate because we have not measured this implementation on a specified machine and input.
Use a timestamped acceptance worksheet
The following worksheet is an original evaluation aid for this guide. It is not a validated benchmark or a numerical rating of ProPainter. Adapt the protected regions and delivery conditions to your own edit before running it.
| Check | Inspect in the studio example | Reject or revise when |
|---|---|---|
| Removal coverage | Bag outline and any shadow deliberately included in the edit | A recognizable remnant remains |
| Protected geometry | Chair legs and nearby floor boundaries | The repair bends or removes a feature you needed to retain |
| Texture in motion | Reconstructed floor throughout playback | The texture swims, pulses or changes abruptly |
| Difficult interval | Object overlap and camera movement | The repair becomes conspicuous at the critical moment |
| Delivery integrity | Framing, duration, playback and audio | The delivered file no longer matches the intended edit |
Watch the entire result at normal speed before inspecting individual frames. Then compare the difficult interval with the original and record any defect by timestamp and location. “Chair leg bends near the floor during the camera move” describes a problem another reviewer can find; “quality is seven out of ten” does not.
Ask another person to watch the same sequence without first pointing out your favorite frame. This is a proposed review step, not a claim that an independent reviewer has evaluated our example. Give that person the edit specification and protected regions so the feedback addresses the actual job rather than personal preference alone.
Use three outcomes: accept for this defined use, revise with a specific next test, or stop and choose another method. A revision should name the suspected cause and the evidence that would confirm improvement. If you cannot identify a plausible next test, another run with several arbitrary changes is unlikely to teach you much.
Diagnose failures in an order that preserves evidence
Start with the input and mask before interpreting a reconstruction problem. The table below proposes an investigation order; it does not claim that a symptom proves a particular cause.
| Observation | First check | Evidence to keep |
|---|---|---|
| The wrong region changes | Frame order and mask alignment | Original frame with its matching mask overlay |
| A narrow object remnant remains | Whether the mask covers the intended boundary | The changed boundary and the same timestamp before and after |
| A still frame looks clean but playback distracts | The entire repaired region during motion | A short sequence showing when the defect appears |
| A run stops before producing a usable output | The actual error and environment record | Error text, arguments and the last completed step |
| Results differ after an environment change | The same saved input and settings | Both environment records and both outputs |
Do not discard failed runs while troubleshooting. A failure can establish that a particular change did not address the defect or that a previously acceptable setting was sensitive to the environment. Without that record, you risk repeating the same experiment under a new filename.
The inspected output code writes video from reconstructed frames and does not add an audio-remux step. Check the final file's sound separately. Output-writing implementation More generally, review the actual delivery file after any subsequent edit or export, not only an intermediate preview.
Decide when further testing is no longer worthwhile
Set a practical limit before experimenting: the time available for setup, mask preparation, processing attempts and cleanup. This is your project budget, not a universal number of retries. If the difficult interval keeps failing and there is no clear next diagnostic change, stop rather than assuming a larger parameter search must eventually produce a usable result.
A tracked patch, a clean plate or a reshoot can be alternative workflows to investigate. Which is appropriate depends on the footage, available material, permissions and acceptable effort. We have not compared those methods experimentally against ProPainter, so this is a decision framework, not a superiority claim.
If you actually need to generate a new scene from a text prompt, you are solving a different problem from repairing existing footage. Use the AI model directory to investigate the relevant category without treating a listing as proof of suitability. For an inpainting task, preserve the original, masks, settings and reviewed output as separate files; the reconstruction is an edit, not evidence of what was originally behind the object.
The finished evaluation should give you a defensible decision for one defined shot: the use is permitted, the critical interval was examined, protected regions remain acceptable, and the delivered file meets the specification. If any of those conditions remains unresolved, record it explicitly and withhold acceptance rather than hiding it behind an attractive example frame.
Use Cases
A bounded object-removal trial
Use a representative clip and mask, define which nearby geometry must remain unchanged, then inspect the difficult interval in motion. This is an evaluation workflow, not a promise that every removal will pass.
Video repair with a delivery check
Evaluate a damaged or unwanted region only when you can compare protected edges, temporal stability, framing, duration and the final file. Check audio separately because the inspected writer does not remux it.
Pros & Cons
Pros
- The documented method uses information across frames instead of treating each repair as an unrelated still image.
- The official implementation exposes the mask and memory-related controls needed for a recorded trial.
- A single repeated mask and a per-frame mask sequence are both supported, so mask preparation can match the shot.
Cons
- Commercial use is not granted by default under the reviewed S-Lab license.
- The documented Python 3.8 setup and incompletely pinned dependencies are not a current-platform compatibility guarantee.
- A completed run can still fail on mask boundaries, protected geometry, temporal stability or the final audio handoff.
Technical Details
Architecture
Dual-domain propagation and sparse video Transformer
License
S-Lab License 1.0
Code and models: noncommercial use under the S-Lab conditions. Contact the contributors for commercial use. Footage and hosting-service permissions remain separate. License source
Available Platforms
Frequently Asked Questions
Related Models
Gemini Omni Flash
Gemini Omni Flash is Google DeepMind's groundbreaking multimodal AI model that generates physics-aware video with synchronized audio from any combination of text, images, video, and audio inputs. Announced at Google I/O 2026, it represents a paradigm shift from traditional text-to-video models by enabling conversational, iterative video editing — users can refine scenes through natural language without regenerating from scratch. The model maintains character consistency and scene memory across multiple editing rounds, preserves identity and voice throughout sequences, and understands real-world physics including gravity, collisions, and material properties. Omni Flash supports cinematic camera controls (dolly zoom, over-shoulder shots, tracking), accurate text rendering with word-by-word animation, multi-input synthesis (combining videos, images, audio, and storyboards), and style transfer across artistic mediums including anime, claymation, and watercolor. Built on Gemini's training data, it carries significantly more world knowledge than standalone video models like Veo, enabling it to visualize complex concepts from quantum computing to historical events without exhaustive prompting. Available through the Gemini app, Google Flow, and Google AI Studio, it produces clips up to 10 seconds with invisible SynthID watermarking for content authenticity.
Seedance 2.5
Seedance 2.5 generates and edits video using text and audiovisual references. Assess shot continuity, product identity and the limits of your chosen service before delivery.
Quick Info
Dual-domain propagation and sparse video Transformer