▣ 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.

capability
void-inpaint (+ marlin-video)
input
CC0 clip · 1 subject · static-ish bg
output
vanished plate + before|after
gate
frame-verified · subject gone
render
~294s · 720p · 8s clip
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.
⬇ before-after.mp4 7.7 MB · 1920×540 · 8s ⬇ vanished.mp4 6.9 MB · 1280×720 · the clean plate ⬇ source-clip.mp4 3.8 MB · CC0 input

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 resultnone — fully erased
background reconstruction (wall / tree / sign / hydrant)plausible & stable
ghost / smear / blurry holenone observed
temporal flicker across the camera pancoherent, no pulsing
frames verifiedn = 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.