Log in
WorkflowBy HypernaturalVersion 2, updated

Shot-for-shot remake

hn/workflow-shot-for-shot-remake

Re-shoot an existing spot shot for shot with new actors or products: cut it into shots, recast the stills, swap the products, render each changed shot from pinned frames, fix the spoken lines, then grain, upscale and splice the new shots into the original cut over its own audio. Reach for it for a remake, one variant per new actor, a product swap in a finished ad, or 'copy this commercial frame by frame'.

SKILL.md

The person brings a finished spot, the new actor or actors (character sheets), any product to swap in (product photos), and how many variants. You deliver, per variant, the changed shots and the full cut with the original soundtrack under it, round after round, in the layout agreed with the person and recorded with the job's notes (rounds, deliverable folders and the client note are the core skill's).

Only the shots that show the replaced person or product are remade. Every other frame stays original footage, and the original audio plays over the whole cut. Each variant (one per new actor) gets its own folder of stills and renders.

Steps

  1. Cut the source into shots. Load ffprobe-inspect-media for the frame rate and frame count, then ffmpeg-scene-cuts at its short-spot threshold (Which threshold for which job), every hit confirmed on the sheet. Export each shot's first and last stills and an exact-frame clip, and record the shot table where you keep the job's notes: first and last frame, who and what is in it, whether it changes. Gate: the person confirms the table and the shots to remake.
  2. Understand each changing shot. gemini-shot-recreation-brief watches the clip with sound at 24 fps: camera, timed beats, sound. Correct it with your own direction where it is wrong (it mirrors left and right, and it called every slow push-in "locked off"). Keep the direction per shot as text in the job folder; it feeds every prompt later. Transcribe the spot (elevenlabs-speech-to-text) for line times.
  3. Recast the stills (guide-recast-a-person). The default here is nano-banana-swap-actor-keep-wardrobe: 2K, 3 seeds per frame, a separate call for any frame with its own expression note (a side-eye, a smirk). When a shot's original take is usable as it is, h3-max-recast keeps that performance exactly and replaces steps 3 to 6 for the shot. Gate: a review_choose per shot, all in the same turn, each take an option holding its first and last stills. Every take stays where it landed.
  4. Correct the picks, one fix per pass (guide-edit-a-frame-before-animating): nano-banana-targeted-fix with the original frame, or a crop of it or of the matching frame, as the reference. Small print and logos go to guide-keep-small-details (nano-banana-rerender-small-print with python-crop-and-paste-back). Gate: review the corrected stills.
  5. Swap the products where they must read (guide-keep-small-details, nano-banana-swap-held-product): a pre-hazed product photo for the design, a crop of the source prop for angle and grip.
  6. Render the first-frame-only shots (guide-animate-a-shot, guide-choose-a-video-model). If the person hasn't seen the shots move yet, draft them on h3-max-image-to-video first: it is fast and cheap, and a draft approves composition and timing, not motion. The finals go on kling-v3-image-to-video, first frame pinned, the actor and product as references, 3 seeds; H3 Max mottles skin and hair up close, so no close-up ships on it. Write the brief as "act in real time, then hold" for the model's floor, and spell out counts and amounts. As each take lands (tasks with until: "any"), trim it to the shot's length plus 0.5 s (ffmpeg-frame-exact-trim); when a take idles before acting, start the trim later. Measure with python-check-pinned-frames and python-measure-layout-drift. Gate: a review_choose per shot, all in the same turn: the original clip as original, every take an option, the numbers in its facts.
  7. Shots that need a pinned last frame: an end pose the model keeps skipping, a small branded object that must hold, physics like a paper burst. Follow guide-keep-small-details, The gated sequence (first frame with nano-banana-swap-actor-keep-wardrobe on Pro, last frame derived from it, the two compared, then seedance-2-5-image-to-video with both ends pinned), a review after each step. Render at 1080p natively where the detail matters: 720p plus topaz-upscale came back soft on shot 09.
  8. Fix the spoken lines (guide-lipsync-video). Isolate the voice (elevenlabs-voice-isolation), cut the line to start on the shot's first frame and go silent after its last word, picking the cut by ear from a ladder of trims a few hundredths of a second apart (ffmpeg-cut-audio-window). Then, by the note:
    • the still must speak the line: h3-max-lipsync-a-still (worked on a 3/4 face);
    • a new, stronger performance: seedance-2-5-dialogue with a clip-length recording and the line timed in the prompt, so the take needs no re-cut;
    • a good take whose mouth is off: heygen-v3-resync-existing-take. Gate: a review with sound, the original line as original.
  9. Finish and splice (guide-prepare-renders-for-delivery). For "plastic, shiny skin" on a good take, grain first (ffmpeg-grain-for-plastic-skin, size 2, strength from a ladder of 100% crops, python-measure-detail against the source). Upscale before trimming. ffmpeg-splice-into-source-cut puts each pick into the original timeline at its exact frame count over the original audio; frames without a replacement stay original. Then deliver the round's deliverables (core skill): the cut and the changed shots, each with a no-audio copy, plus small review copies if asked.

Choices this workflow makes

  • Kling v3 with only the first frame pinned is the default final: this spot's motion is simple (sips, glances, a lean), and Kling is the dependable, low-to-mid priced model that keeps close-up detail. Seedance takes only the physics shots. Pin a last frame only for the cases in step 7, and only with frames derived from each other.
  • Seedance image-to-video, not reference-to-video, for the physics shots: with the frames already pinned, the people stay consistent without references.
  • Trim, never speed up. Models spread the action over the whole clip and idle at the start; skip the idle opening and cut the tail.
  • On a client note, the cheapest fix first: a re-trim, grain in post, a re-render with new direction, a rebuilt pinned frame, or the original footage back. A shot too far from the reference went back to the original footage in rev2.
  • On a dialogue shot, HeyGen v3 was picked over VEED v2 and over the H3 lip sync on a 3/4 close-up, because it keeps the take's skin and light.

Dead ends

  • A second full-frame edit, or a 4K render scaled down, to fix a logo: both smooth the grain and redraw background faces (the manager lost his moustache). Re-render the logo in a 6× crop and paste back only the changed pixels.
  • The source's last frame as a reference for the derived last frame: the original actress and props came back. Text edits only.
  • A pinned last frame without the push-in, or with its logo matched at another scale: the clip lost the push-in and the logo slid across the prop.
  • H3 Max with both frames pinned from two independently swapped stills: the hair morphed mid-shot. Any two pinned frames must be continuous (hair, cuffs, props, eyes).
  • Seedance reference-to-video with every character sheet on the paper-burst shot: opened slightly zoomed and shifted, no better than image-to-video. Raw SSIM said it redrew the scene (0.5); layout drift showed it kept the layout (0.96–0.98).
  • Seedance with a short, untimed reference of the line: an angrier read, but re-paced (late start, about 10% long), and putting the real audio back left the lips drifting.
  • Reference-to-video without a first frame (Seedance r2v, plain H3 r2v, Omni Flash, Wan r2v): they redraw the opening (0.2–0.5 against the pinned frame).
  • Veo 3.1 (the look). Wan 3.0 on fal: the best paper physics, but 24 fps padded to 30 fps with a dup-then-skip cadence (judder 0.78 against the source's 0.05).
  • A raw, studio-lit product photo as the prop reference: a pasted-in look. Hazing after the swap turned the prop grey. Warping the product photo on by hand never blended.
  • Sync 3 on a 3/4 face: the output was nearly identical to the input.
  • Choosing the line's cut point from STT or loudness minima: both were about 0.1 s off.

Worked example

acme_office_spot.mp4, a 20 s Acme Co. drinks commercial: 1920×1080, 24 fps, 484 frames, 12 shots. Nora appears in 6 (01, 03, 07, 08, 09, 10), remade for two new actresses, B and C. Two rounds.

ShotContentrev1 routeR1 note → rev2
01sips, side-eye (25 frames)Kling, first frame only; the A in "ACME" lost its crossbar and needed a print fixslow motion → re-rendered with a timed single-blink brief, trimmed to start 0–24 frames in
03the manager leans in with his line (33 frames)Kling, then H3 Max lip sync on the isolated line, silent from 3.21 splastic skin, angrier read → grain strength 10, then a Seedance dialogue take: for B cut so its line starts where the original's does, for C re-synced with HeyGen v3
07a spill; she lifts the tumblerKling with a beat-by-beat lift (pinning the end forced the lift but read badly)far from the reference → original footage
08profile sipKling; the sip spelled out as "a third of the way, base below her chin"—
09wide office chaos, paper burst (78 frames)Seedance i2v both ends pinned, 720p → Topazsoft, logo illegible → pinned frames rebuilt (push-in about 6%), Seedance 1080p
10close-up sip, a breath, eyes to cameraKling; the breath and "the tumbler stays in frame, logo visible" spelled outslower, calmer → re-rendered with one breath, papers settling "like feathers"

The exploration cost about $280 at list prices for both actresses with every rejected take, over half of it Seedance ($100 on an abandoned 1080p batch). At the settled routes, one actress's six shots cost $10–20.

FAQs

Re-shoot an existing spot shot for shot with new actors or products: cut it into shots, recast the stills, swap the products, render each changed shot from pinned frames, fix the spoken lines, then grain, upscale and splice the new shots into the original cut over its own audio. Reach for it for a remake, one variant per new actor, a product swap in a finished ad, or 'copy this commercial frame by frame'.

Install Hypernatural Desktop, a free Mac app, and connect it to Claude Code, Codex or Claude Desktop. Then describe the video you want and your agent finds the workflow itself, or paste this page's link (https://hypernatural.ai/skill/hn/workflow-shot-for-shot-remake) and it installs hn/workflow-shot-for-shot-remake and follows it.

Nothing. The workflow is free and runs with tools on your own Mac.

It calls 35 smaller skills for its steps, including Animate a shot, Recast a person and Keep small details. Each one is listed on this page, and your agent loads them as the job needs them.

Yes. Ask your agent to adjust it for your job, or to save its own version. You can publish your version under your own handle so anyone can install it.

Go make something cool.

Install the app, open your agent, describe the video. That's the whole onboarding.

Sticker HypernaturalSticker BannerSticker TVBoy