Restyle footage and keep the motion
Restyle a clip or change one element while the camera move, timing and layout stay locked: a shoot-out, a style frame, two finals and a measured check.
- Playbook
Run it in ScenarioGemini Omni 1.1 Flash Edit FLUX.3 Edit Video Luma Ray 3.2 Edit Seedance 2.5
See it made
One 5-second tracking shot of a Vireo Athletics runner on a wet night track, restyled twice: into a hand-drawn ink look for a campaign film, then with only the shoe color changed. Camera, stride and layout stay locked, and a measurement proves it.

Watch the video: https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/c4c814bd8d3c5a5d05b0846faba3e899fe5b743e9f50401ac9c997e4d423b102.mp4
The brief
| Field | Brief |
|---|---|
| Goal | Two new versions of one clip: a hand-drawn ink restyle, and the same shot with a new shoe colorway |
| Source | 5 seconds, 24 fps, 120 frames, a side tracking shot that pans with the runner, no sound |
| Format | 16:9, 720p, 24 fps, the same 120 frames as the source |
| Fixed | Camera move and speed, runner position, pose and every foot strike, shoe design, floodlight, stands and lane lines, clip length |
| May vary | Rendering (ink look); the shoe upper color only (colorway) |
| Accept when | The measured pan stays within 3% of frame width of the source at every frame; strides land on the same frames; the shoe keeps its laces, sole and heel mark; nothing new appears |
The source is a generated clip: a first frame from GPT Image 2.5 Sunburst with the Vireo shoe and athlete references, animated with Minimax H3. Its pan moves the background across more than a quarter of the frame, so any camera drift shows.
Approach
- 1Keep-listcamera, stride, layout, shoe
- 2Shoot-outthree models, low resolution
- 3Style frameframe 0 restyled
- 4FinalsGemini Omni 1.1 Flash Edit, Seedance 2.5
- 5Measurepan curve, side by side
Edit models differ in how hard they hold the source: some keep the layout and add their own ideas, others rebuild the set, so choose on your own clip, at low resolution.
A full restyle needs a model that holds structure; a one-element change (a color, the light, one object) needs a model that changes as little as possible. See Edit video.
- Model used: Gemini Omni 1.1 Flash Edit for both finals: shoot-out winner, and it accepts a style frame in Reference Images. Seedance 2.5 in edit mode ran the colorway as a comparison.
- Alternative: FLUX.3 Edit Video kept the layout as well and was the fastest, but drew a torn-paper border around the frame. Luma Ray 3.2 Edit rebuilt the stands.
Steps
-
Make and prepare the source. This run generated it: a first frame with GPT Image 2.5 Sunburst, then Create > Videos, Minimax H3, First Frame, 5 s, 768P. Take 3 passed; takes 1 and 2 threw tall water crowns and left rings on the track. Keep only the seconds you need (edit models bill by input length) and remove the sound.
PromptSlow-motion tracking shot from a camera car, one continuous take. The runner runs forward to the right in slow motion with a long, even stride, and the camera travels to the right with her at the same speed, so she stays near the center of frame, whole from head to shoes, while the whole background moves past: over the 5 seconds the floodlight tower slides from the upper left out of frame at the left edge, new sections of the dark stands and trees enter from the right, and the white lane markings and the reflections on the wet track stream from right to left under her feet. The track is wet but has no puddles: at each foot strike only a fine mist of droplets flicks off the sole and falls straight back, no tall splashes, no water crowns, no rings. Her orange shoes keep exactly the same design in every frame: molten orange upper, white laces, translucent sole with a dark line. Sound of rain and soft footfalls, no music, no speech.Shellffmpeg -i take-3.mp4 -frames:v 120 -an -c:v libx264 -crf 16 source.mp4 -
Write the keep-list (Write a keep-list). One block, pasted word for word at the end of every prompt for this clip:
PromptMotion stays as smooth as the source. Keep exactly the same camera move, framing and speed at every moment, the runner's position, size and pose in every frame, every stride and foot strike at the same moment, the floodlight, stands and lane lines in the same places, and the same clip length. No new objects, no text. -
Run a three-model shoot-out (Run a same-input shoot-out). Same clip, same look prompt, lowest resolution: Gemini Omni 1.1 Flash Edit at 360p, Luma Ray 3.2 Edit at 540p, FLUX.3 Edit Video. Quote each run first (Quote before you run). All three returned within 3 minutes.
PromptRestyle the whole video as hand-drawn 2D animation for a sportswear campaign: confident black ink outlines with varying line weight, flat gouache color in two or three tones per shape, visible paper grain, the night sky as a painted blue wash, the floodlight as a bright painted glow, rain and spray as white ink flecks. The runner keeps her face, dark ponytail, black top and black shorts; her shoes stay molten orange with white laces and a pale translucent sole with a dark line.Then the keep-list.

Frame 90. Top: source, Gemini Omni 1.1 Flash Edit. Bottom: FLUX.3 Edit Video, Luma Ray 3.2 Edit. -
Judge the shoot-out on frames and on the camera. Luma replaced the stands, turned the track brown and added a floodlight: rejected. FLUX kept the layout but framed every frame in torn paper. Gemini applied the strongest look and kept the pan, but painted the track blue and washed the sky yellow around the floodlight, which a style frame can fix: Gemini wins. Numbers under Check the result.
-
Make a style frame (Approve the still first). Export frame 0 and restyle it with GPT Image 2.5 Sunburst, naming what the shoot-out got wrong: track color, floodlight, border. It takes 33 seconds and a fraction of a video take's price (Repair at the cheapest stage).
Shellffmpeg -i source.mp4 -frames:v 1 frame-0.pngPromptRe-render this exact frame as a still from a hand-drawn 2D animation for a sportswear campaign. Use the image as a layout reference: keep the camera angle, the framing, the runner's position, size and pose, the stands, the tree line, the lane lines and the floodlight exactly where they are. Change only the rendering: confident black ink outlines with varying line weight, flat gouache color in two or three tones per shape, visible paper grain, the night sky as a painted deep blue wash. Keep the colors of the scene: the track stays dark wet charcoal grey with pale reflections, not blue; the floodlight stays one small bright white painted glow in the upper left corner, with no beam and no yellow wash; the stands stay dark grey. The runner keeps her face, dark ponytail, black top and black shorts; her shoes stay molten orange with white laces and a pale translucent sole with a dark line, and the small VIREO on the heel. Rain and spray are small white ink flecks. The drawing fills the whole frame edge to edge: no border, no paper edge, no frame. No text other than the heel mark, no new objects.
Source frame 0 and the style frame. -
Run final A: the ink look. Create > Videos, Model > Edit tab > Gemini Omni 1.1 Flash Edit. Load the source as the video and the style frame in Reference Images. Resolution 720p. Take 1 (1 minute 55 seconds) still drew a paper border and turned the floodlight into a blank sign, so take 2 says "full bleed" and describes the lamp bank. Take 2, 1 minute 43 seconds:
PromptRestyle the whole video as hand-drawn 2D animation for a sportswear campaign that matches the reference image: confident black ink outlines with varying line weight, flat gouache color in two or three tones per shape, a fine grain texture inside the image, the night sky as a painted deep blue wash, rain and spray as small white ink flecks. Full bleed: the picture runs to every edge of the frame, with no paper border, no torn edge and no white margin. Keep the colors of the scene: the track stays dark wet charcoal grey with pale reflections, not blue; the floodlight stays a bank of bright white lamps on a tall dark pole in the upper left, as in the source, with no beam and no yellow wash; the stands stay dark grey. The runner keeps her face, dark ponytail, black top and black shorts; her shoes stay molten orange with white laces and a pale translucent sole with a dark line.Then the keep-list.
-
Run final B: change one thing (Edit one thing). Same model, the source as the video, no reference image, Resolution 720p. 1 minute 36 seconds. As a comparison, the same prompt ran on Seedance 2.5 with the clip in Reference Videos, Duration Auto (follows the source clip) and Generate Audio off, starting with "Edit @video1.".
PromptChange only the color of the runner's shoes: the uppers become deep cobalt blue instead of orange. The white laces, the pale translucent sole with its dark line, the shape of the shoe and the small VIREO on the heel stay exactly as they are. Everything else stays exactly as in the source: the runner, her face, hair and clothes, every stride, the camera move, the wet track, the stands, the floodlight, the light and the rain. No new objects, no text. -
Measure the camera, then pair the clips (Check by measurement). Measure the horizontal shift between consecutive frames on two background strips beside the runner, add the steps, and compare the curve with the source's. Then bring every clip to one size and length, and stack them:
Python# per pair of consecutive frames (OpenCV, grayscale, background strip) (dx, dy), response = cv2.phaseCorrelate(prev_strip, next_strip, hann) pan += dx / width * 100 # cumulative pan, % of frame widthShellffmpeg -i final.mp4 -vf "scale=640:360,fps=24" -frames:v 120 -an final-640.mp4 ffmpeg -i source-640.mp4 -i final-640.mp4 -filter_complex hstack -an side-by-side.mp4
With the Scenario MCP: model_run on model_google-omni-1-1-flash-edit with video, referenceImages: [style frame] and resolution: "720p"; final B drops referenceImages.
For the Seedance comparison, model_bytedance-seedance-2-5 with referenceVideos: [clip], duration: -1 (follow the source), resolution: "720p", generateAudio: false. The model schema says editing is inferred from the prompt, which is why the prompt opens with "Edit @video1.".
Check the result
the pan curve follows the source within 3% of frame width at every frame; at matching frame times the runner stands in the same place and pose; the shoe keeps its laces, translucent sole and heel mark; the picture runs to every edge; nothing appears that the prompt did not ask for.
a border or paper edge frames the picture; the pan runs ahead or behind; the stands, track or lights are rebuilt; the shoe changes design; the clip comes back shorter than the source.
| Shoot-out | Gemini, 360p | FLUX.3 | Luma, 540p |
|---|---|---|---|
| Ink look | full | full | full |
| Pan at the last frame (source 27.3%) | 26.4% | 26.9% | 26.3% |
| Largest pan gap during the clip | 0.99% | 1.47% | 2.04% |
| Scene | track painted blue, yellow sky wash | torn-paper border on every frame | stands replaced, brown track, extra floodlight |
| Finals | Source | A, ink, Gemini | B, cobalt, Gemini | B, cobalt, Seedance |
|---|---|---|---|---|
| Frames | 120 | 120 | 120 | 113 |
| Pan at the last frame | 27.3% | 25.8% | 27.5% | not measured |
| Largest pan gap during the clip | 2.07% | 0.50% | ||
| Frame where half the pan is reached | 61 | 66 | 60 |

Both Gemini finals pass. The ink look's camera runs a little slow in the middle (largest gap 2.07% of frame width, about 26 pixels at 1280) and the runner still hits the source poses at frames 70 and 119. The colorway is nearly frame-exact. The Seedance colorway came back 7 frames short, so its strides drift against the source: runner-up.



Take 1 had the style frame and still added a border: "no border" was not enough once the look said "paper grain". Take 2 moved the grain inside the image and said "full bleed".

Watch the video: https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/ebffce1ffa27ac5a86fd95fc54e5abd7eb02450a8d2e0b58c5c1d6d12eab4bdc.mp4
1Two ink takes of frame 92. The brief fixes a full-bleed picture and the floodlight in its place. Which take passes?
Answer: A. Take B frames the picture in a paper border and loses the floodlight's lamps, two things the brief fixes. Take A came from the prompt that asked for full bleed and described the lamp bank.
2In the shoot-out, one model ends its pan close to the source but replaces the stands, turns the track brown and adds a floodlight. What do you do?
Answer: A. A rebuilt set fails the keep-list even when the camera matches. A run on another model costs less than a repair.
Make it repeatable
- Restyle a whole sequence (Package it as a workflow or skill). In the Node Editor: a Video node with the shots, a Loop over them (its Input List port), an Image Generator on GPT Image 2.5 Sunburst for each style frame, a Video Generator on Gemini Omni 1.1 Flash Edit, and an Approval after the first shot.
- Keep one style frame per look and reuse it as the reference for every shot's frame (Lock a style anchor).
- Split the prompt into inputs: the look, the keep-list, and the "Edit @video1." prefix for Seedance.
- Keep the paired clips for reviews and edits, and note the price per shot (Keep a cost receipt).
Runs and time
| Step | Model | Runs | Kept | Wait |
|---|---|---|---|---|
| Source first frame, 2048x1152 | GPT Image 2.5 Sunburst | 1 | 1 | 45 s |
| Source clip, 5 s, 768P | Minimax H3 | 3 | 1 (take 3) | 2 min 36 s to 3 min 13 s |
| Source drafts | Seedance 2.5 | 2 | 0 | 1 min 23 s and 2 min 21 s |
| Shoot-out, 360p | Gemini Omni 1.1 Flash Edit | 1 | winner | 1 min 2 s |
| Shoot-out | FLUX.3 Edit Video | 1 | runner-up | 50 s |
| Shoot-out, 540p | Luma Ray 3.2 Edit | 1 | 0 | 2 min 55 s |
| Style frame, 1536x864 | GPT Image 2.5 Sunburst | 1 | 1 | 33 s |
| Final A, ink, 720p | Gemini Omni 1.1 Flash Edit | 2 | 1 (take 2) | 1 min 55 s and 1 min 43 s |
| Final B, cobalt, 720p | Gemini Omni 1.1 Flash Edit | 1 | 1 | 1 min 36 s |
| Final B, cobalt, 720p | Seedance 2.5 | 1 | runner-up | 2 min 43 s |
| Trim, measure, pair | ffmpeg, OpenCV | 0 | n/a | seconds |
About 10 minutes of waiting with the runs in parallel. The source takes and the shoot-out are most of the cost; once the model is chosen, a shot is one style frame and one final.
The price shows on the Generate button before you run.
Variations
- Product clip: a turntable packshot restyled as a pencil sketch or a seasonal set. Put the product's shape, label position and colors in the keep-list.
- Game footage: a gameplay capture or a grey previs restyled into the key-art look.
- Learning: a recorded demo restyled into the course's illustration style.
- One element only: a colorway, a season, the sky. Use the model that changed least in your shoot-out and name the single change. See Edit one thing.
- A new performer, same moves: see Swap the actor, keep the performance.
If it breaks
- A border or paper edge appears. Say "full bleed" and move texture words inside the image ("grain inside the image", not "paper grain").
- A color or a light changes with the look. Make a style frame that names the colors to keep, attach it, and add them to the prompt.
- The look barely changes. Move to the model with the strongest look in your shoot-out, and keep the style frame as the guide.
- The pan runs slow or fast. Use the model whose curve matched in the shoot-out; Luma had the largest gap here, 2.04% against 0.99% for Gemini.
- The clip comes back shorter. Reject it for a paired edit: the strides no longer land on the source frames.
- The set is rebuilt. Reject it; a run on another model costs less than a repair.

