▣ VFX · Video Object-Removal · void-inpaint
The Vanishing Act — erase a moving subject from a clip
Photo object-removal is a solved trick. Video is the hard version: the subject moves, the camera drifts, and the hole you punch has to fill consistently across every frame or it flickers and ghosts. void-inpaint does it in one call — describe what to remove, describe the clean background, and SAM-3 tracks + masks the subject while a temporally-coherent diffusion pass reconstructs what was behind them. A man walks a sidewalk; in the result, he was simply never there.
The gate is non-negotiable. Video inpainting can leave a blurry hole or a ghost-trail if the clip is wrong for it. We extracted frames from the result and verified: the subject is fully gone, the brick wall + tree + sign + hydrant are plausibly reconstructed, and there's no severe flicker or smear across the pan. Only a clean, magical removal ships — and this one passed.
The reveal BEFORE | AFTER · the man, erased
Left: the original CC0 clip. Right: the void-inpaint result — same frame, the man gone, the sidewalk empty, the background intact.
Source & result the input and the clean vanished plate, side by side
Input — one man, one wall (CC0)
A single clear subject (green jacket) walks right-to-left along a sidewalk in front of a plain red brick wall, with a gentle camera follow. Exactly the shape of problem video inpainting handles best.
Result — the empty plate
The man is erased; the wall, tree, "NO PARKING" sign, fire hydrant and bollards are all reconstructed and stable through the pan. A ghost street that was never empty.
Source clip: "Man Walking on a Sidewalk" by
Annushka Ahuja on Pexels (
pexels.com/video/…-8085542),
@annushka-ahuja. Used under the
Pexels License (free for commercial use, no attribution required — credited here anyway). Downscaled to 720p; the re-hosted copy is the licensed original.
How it was made locate → mask → erase → recompose → gate
void-inpaint params (real call)
mask_prompt: "the man in the green jacket walking"
prompt: "empty city sidewalk in front of a red brick wall, daytime, no people"
negative_prompt: "person, man, human, figure, silhouette, blur, ghost, smear"
enable_pass2_refinement: true · num_inference_steps: 30 · num_frames: 194
1 — locate marlin-video(video_url) → "A man in a green jacket walks … in front of a red brick wall …" (confirms 1 subject + static bg; writes the prompts)
2 — mask void-inpaint runs SAM-3 internally on mask_prompt → per-frame subject mask (19s)
3 — erase pass-1 inference + warped-noise + pass-2 refinement → background reconstructed behind the mask
4 — recompose ffmpeg → clean plate + a hstack BEFORE | AFTER split for the reveal
5 — GATE extract frames · verify subject gone, bg plausible, no flicker → PASS — shipped
The gate what we checked on the rendered frames
✓ SUBJECT ERASED · BACKGROUND RECONSTRUCTED · NO SEVERE FLICKER
| subject (man) present in result | none — fully erased |
| background reconstruction (wall / tree / sign / hydrant) | plausible & stable |
| ghost / smear / blurry hole | none observed |
| temporal flicker across the camera pan | coherent, no pulsing |
| frames verified | n = 6 (start · mid · end · 3 consecutive) |
| void-inpaint render time | ~294 s (incl. SAM-3 mask + pass-2) |
When it works — and the honest limits pick the clip for the model
This is the most important thing on the page. Video inpainting is magic for one shape of problem: a clear subject on a forgiving background. Push it outside that envelope and it ghosts. We chose this clip because it sits squarely in the "works" column — and that's the real lesson.
✓ One clear foreground subject
A single person / skateboarder / prop. The SAM-3 mask locks on cleanly. A crowd or overlapping subjects confuse it.
✓ Static or slow-panning camera
Tripod, locked-off, or a gentle follow (like this clip). Fast handheld + whip-pans + big parallax make the fill drift.
✓ Simple, low-frequency background
A brick wall, sky, road, plain floor — easy to reconstruct. Dense foliage, text, repeating signage show seams.
✓ Short clips, modest subject size
3–8s, subject occupies a modest part of the frame. Long clips drift; a subject filling 60%+ leaves too little real background to borrow.
✗ Removal, not replacement
void-inpaint erases and reconstructs — it does not swap in a new object. To replace, clean the plate here, then composite a separately-generated element on top.
✗ Busy scenes / fast motion
A handheld pan through a crowded plaza will smear. Rule of thumb: if a human editor couldn't clone-stamp it in a few frames, don't expect the model to.
Reproduce this the playbook is open
Built from the remove-object-from-video playbook — point it at a short, static-camera, single-subject clip; it locates the subject with marlin-video, erases it with void-inpaint (SAM-3 auto-mask), recomposes the before/after with ffmpeg, and gates on frame-verified removal before it hands you the download.