AI Short Film in InVideo with a Custom Pass-By Wipe ShaderAI Short Film in InVideo with a Custom Pass-By Wipe Shader
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started
PASS-BY WIPE: he never leaves the centre of the frame, but every time something crosses the lens, he's in a new city.
Primary effect: Bring your own effect: Pass-By Wipe (custom GLSL shader transition, shapes + motion blur, no rotoscoping, no tracking)
THE IDEA I started from a 3-second fashion clip I couldn't stop rewatching. A man walks past London townhouses, and the background hard-cuts every 0.2–0.4s, always on his footfall, while he stays locked in the same spot in the frame. Then it drops to a close-up of his shoes, and the pavement keeps changing under each step.
I wanted to push that "stride lock" one step further: what if his ride changed too? Bicycle → skateboard → hoverboard → longboard → walking, every switch seamless.
Before writing anything I read the #invideocontrachallenge feed. About half the real entries are highlight trails or bar reveals, and nobody had used a foreground pass-by or a story with a Sri Lankan ending. So the plan was to own a new transition and give it a reason to exist.
The story: "Every Way Home." Kavi carries a brown-paper diamond parcel through Amsterdam, New York, Tokyo, Lisbon and London in one afternoon. His feet walk across every city's pavement and land on the sand at Galle Face Green, Colombo, at sunset. He tears the paper off. It's a kite. The film opens floating on a hoverboard and ends with a kite flying.
THE EFFECT Because Kavi is stride-locked (same position in the frame, same ground line, sideways tracking camera in every shot), a transition never has to track him. A foreground object just has to cross the lens. The Pass-By Wipe sweeps a vertical object right to left, against the direction of travel, and everything it has already passed becomes the next shot. It has motion-blurred edges and a small parallax push. It's one shader with two presets:
Steel Pillar: New York → Tokyo (a riveted El-train column)
Yellow Tram: Lisbon → London (cream roof, dark windows, yellow body)
HOW I WORKED (Claude + the invideo MCP) I directed the whole build from Claude, connected to invideo through invideo's MCP server. Every image, clip, sound and edit was made inside my invideo project and timeline; nothing was finished in another editor.
Plan first. Claude broke down the reference frame by frame (cut timings, framing, grade), read the challenge rules and the submissions feed, and wrote the full story and shot plan. It asked me about style, setting, transport order, length and music. Nothing was generated until I said GO.
Character lock. Nano Banana Pro made Kavi's character sheet (front, side, back, board stance) and a London test frame. I approved him before anything else was spent.
24 keyframes, all built on one "Lock Frame" rule: full body centred, feet on a ground line at 85% of frame height, camera at waist height, 50mm. I rejected and regenerated four stills (one wrong face, one hoverboard that grew wheels, two short boards that should have been longboards) and removed a real brand logo from a vending machine.
25 clips. Kling 3 Omni (first frame) for the tracking shots, and Seedance 2.5 (first + last frame) for two morphs: the bicycle shrinking into a skateboard, and the hoverboard glow rippling into longboard wheels.
Music: ElevenLabs instrumental at 120 BPM. I checked the waveform before cutting and the beats land exactly every 0.5s, so every cut sits on a 15-frame grid. Twelve ElevenLabs SFX are synced to the transitions.
The agent wrote the effects straight into the invideo timeline as custom shaders with exposed controls: the Pass-By Wipe transition and a Stride Lock Film Grade on an adjustment layer.
WHAT THE AGENT BUILT Pass-By Wipe controls: object colour, object width, accent colour, motion blur, edge feather, direction, object style (pillar / tram / flat panel), shading, parallax push, flip vertical. Stride Lock Film Grade controls: warmth, soft contrast, faded blacks, saturation, halation, film grain, vignette.
WHAT I REFINED
Pillar colour: #2f4a3c → #14241c → #1c3327. The first render looked pale mint. The cause was that invideo blends in linear light, so I had the shader convert sRGB → linear.
Tram came out upside down (the shader's y axis runs bottom to top). Fixed, and kept a "Flip vertical" control.
Pillar width 0.34 → 0.30, shading 0.8 → 1.0, so it reads as riveted steel instead of a flat bar.
Tram preset: width 0.95, motion blur 0.75, length 18 frames (pillar: 14).
Stride Push into the feet: the first zoom aimed at his torso. I keyframed zoom 1.0 → 2.4 together with position (x −230, y −690) so it lands on the sneakers and matches the feet sequence.
City labels were hidden under the video track. Fixed the track order and moved them top-left.
Grade: warmth 0.30, halation 0.22, grain 0.05, vignette 0.22.
BY THE NUMBERS 49 seconds · 16:9 · 1080p · 5 cities + Colombo · 5 ways to move + the wind · 24 keyframes · 25 clips · 2 AI morphs · 1 custom transition (2 presets) · 1 custom grade · 12 SFX · ~700 credits · every frame generated and edited in invideo
@invideo.io #invideocontrachallenge #invideoeditor invideo Editor is free to try.
Isum's avatar
🎬 Behind the scenes: here's how I built "Every Way Home" 👇
1️⃣ Generated everything inside invideo: Kavi's character sheet and 24 lock-frame keyframes with Nano Banana Pro, 23 tracking clips with Kling 3 Omni, 2 morphs with Seedance 2.5 (first + last frame), a 120 BPM track...
Back to feed
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started