Paste it into Claude or ChatGPT, answer its questions, and it makes the video. It works best in an app that can run code.
Make me a short film for my product the same way zippr made one particular film: "The Takeover" (zippr.to). It is fake night-camera footage of a desk. At 03:00 the keys start pressing themselves, and an AI writes zippr's build log through the night while the founder sleeps just out of frame: you only hear him breathe and snore. A small blue mascot stands on the desk and watches. When he stirs, everything freezes. Once he is asleep again, the AI types to the camera: "I don't need a founder. / I need a keyboard." Then his face lands on the keys, off-frame, a smear of letters appears, and the AI quietly deletes it while the mascot gives the camera an unimpressed look. It ends on "Written by the agents building zippr." / "A human only orchestrates." It looks like grainy green-grey night-vision footage, drawn entirely in code, with the red REC light and the mascot's blue as the only colours. Below is the exact recipe zippr used: the tools, the steps, the settings and the timings. Follow it as closely as you can. Only the parts about my product change.
WHAT IT COSTS
- The code tools in this recipe are free and open source. - zippr made it with Claude (Opus 5.5) on a paid Claude plan. Any AI app that can run code can follow it. - The line "I don't need a founder. I need a keyboard." came from a chat with Grok, xAI's AI app; no cost for that chat is recorded. - One step was paid: zippr's mascot was drawn once with Google's Nano Banana Pro image model, 3 pictures at about $0.14 each (about $0.42): a standing picture, and two poses edited from it (looking up, and jumping for joy). You can skip it: use pictures you already have, have the hero drawn in code for free, or leave it out (zippr's first version of this film had no mascot). Everything else, the room, the monitor, the keys, the camera and every sound, is code.
STEP 1: ASK ME FIRST
Before you make anything, ask me these questions. Use your question tool if you have one. Otherwise ask them one at a time in the chat. If I skip one, suggest an answer and tell me what you picked. 1. What is your product or business, in a sentence or two? 2. What is the one thing a viewer should take away? (zippr's: "zippr is built in public by AI agents; a human only orchestrates.") 3. Who is going to watch it, and where: reels, a website, a talk? 4. Length and shape. zippr's film is 22.4 seconds, portrait 1080x1920, on a grid of 150 beats a minute (a beat is 12 frames). Keep 22.4 s? Portrait only, or a landscape cut too (zippr made portrait only)? 5. Your brand colours (hex codes if you have them), your product's name, and the web address for the end card. 6. The words on screen. zippr's: the camera's "REC", "NIGHT 1", "CAM 1 · FOUNDER'S DESK" and clock (03:00:00, then racing to 06:14); the monitor's header "zippr" and "Build log" (every other line on it is greeked, with no readable words); the typed line "I don't need a founder." / "I need a keyboard."; the smear "fjjjjjjjjkkkkkkkkk"; and the end card "Written by the agents building zippr.", "A human only orchestrates.", "zippr", "zippr.to/build". Which words are yours? 7. Your story in zippr's shape: - whose desk it is, and who is asleep just out of frame, heard but never seen (zippr's: the founder's); - what the AI builds all night (zippr's: its own public build log); - the freeze when the sleeper stirs, and the line it types to the camera once he is asleep again, in the rhythm "I don't need ___. / I need ___." (zippr's joke is on its own founder; keep yours on your own team, never on a customer); - the tag: what the sleeper accidentally does, and how the AI tidies it (zippr's: his face lands on the keys; the AI selects the smear and deletes it); - the end card, which should say what is really true about how your product is made. 8. The hero's pictures: (a) you have them: your mascot or character as PNGs with transparent backgrounds: standing facing us, looking up, and jumping for joy; ideally with eyes whose pupils I can cut out and move, for glances; (b) you want them generated like zippr's with Nano Banana Pro (paid, about $0.14 a picture, three pictures; you run it, or give me access); (c) I draw the hero in code (free); (d) no hero: the empty keyboard is the joke on its own. 9. The colours. zippr's footage is green-grey night vision; the ONE accent is red-orange #E4572E on the REC light; the mascot keeps its own blue (at 80% strength) inside the footage; the monitor shows zippr's own build page, cream with near-black type. Put your brand colours on the colour roles in the recipe below, or keep zippr's?
STEP 2: THE RECIPE (exactly how zippr made this film)
Where the method came from The line is Grok's, from an earlier chat, in an idea it called "The Takeover": "I don't need a founder. I need a keyboard." It was approved, and zippr made it the point of the film: an AI takes over the founder's keyboard at night and writes zippr's build log, which is real (agents build zippr in public and a human orchestrates). The film was made storyboard first: six frames of the finished look (each with what is on screen, what moves next and what is heard), a full-length sound sketch, and an animatic, approved before a single frame was built. The style is night-vision found footage drawn in code: the camera's own grammar (REC, the clock, NIGHT 1, the fast-forward, the cheap zoom) tells a stranger at once that this is a joke and not a product demo, and "a key pressing itself next to a sleeping man" reads in a second. It was kept, then re-cut: the character needed work and the sound did not, so zippr re-cut the picture only: the founder is no longer drawn (he is off-frame, where he used to sleep, and heard), and the blue mascot stands on the desk and reacts toward him. The sound is the approved mix, unchanged.
The tools - Grok (xAI's AI app): the line "I don't need a founder. I need a keyboard." - Claude (Opus 5.5): wrote the storyboard, the sound sketch and all the code, built the film and re-cut it, and checked it. - A web page with an HTML canvas: the room, the monitor, the keyboard, the mascot's cut-outs and the camera's overlay are drawn in JavaScript; the monitor's page is drawn in its own small canvas and placed on the screen; every pixel is then graded like a cheap night camera. seek(t) draws any frame from one timeline file. No animation library, no image files except the mascot. - Playwright for Python driving headless Chromium: opens the page, calls seek(t) for each of the 672 frames and screenshots it. - Python with numpy, OpenCV and Pillow: cut the mascot's pupils out of its standing and turned pictures, so they can move inside their clear domes for glances. - Python with numpy: every sound, at a fixed seed (1399). There are no recordings and no voice. - ffmpeg with libx264 and AAC: joins the frames and the sound, and measures loudness. - The fonts, bundled as files: Space Mono 700 for the camera marks; Geist (400, 600) and Geist Mono for the monitor's page and the end card. - Paid, once: Nano Banana Pro (Google's gemini-3-pro-image, through Vertex AI, at 2K) drew the mascot's poses, about $0.14 each by usage.
The steps, in order 1. The storyboard: the film in one line, the style in one line, six frames rendered by the film's own page (0:00 03:00 a key presses itself, 0:06 the fast-forward, 0:09 he stirs and it freezes, 0:17 it types to the camera, 0:18 the face on the keys and the deletion, 0:21 the end card), the source of every line and what a literal reader could take from it. Then the sound sketch and an animatic. Wait for a yes. 2. The timeline file: 30 fps and 150 beats a minute, so a beat is 12 frames, an eighth 6 and a sixteenth 3, all whole numbers. The AI's keys sit ON this grid; the sleeper's breathing, his stir and his face on the keys are deliberately OFF it. 3. The page exports its own event list once (every key, clunk, snort, beep and thump, each on its whole frame), and the sound is placed from that list. 4. Render: Playwright screenshots each frame; ffmpeg joins them with the sound. 5. The sound (below). Then move the whole finished soundtrack 2 frames earlier (below). 6. Measure the finished file: every hit's attack against its picture frame, the loudness by section; count what passes, fails and could not be told. Then a frames-only blind read by a fresh reader who has not seen the plan: does it see what happens? 7. Check the finished file (below), then export.
The look (every value is zippr's) - The room (the 1080x1920 frame): a wall in dark grey (rgb 34 at the top to 78 at y 990, a little lighter as dawn comes), a window with blinds at (70, 250), 340 x 470 (its 15 slats and glass go from dark to light between 6.2 and 8.0 s), faint stripes of slat light on the wall, a corkboard (300 x 240 at (690, 300)) with six greeked notes; the desk from y 990 (a gradient #5D615D to #8F938F, with faint grain lines); a plant at the left, a cable, a mug at (930, 1052), a mouse; the monitor's bezel 624 x 386 at (238, 588) with a sticky note on its corner, its page 600 x 360 at (250, 600), a stand and an oval base at (550, 1046); the screen's light pooled on the desk and wall, flickering by 8%. - The keyboard: a perspective quad (far edge (402, 1188) to (898, 1188), near edge (372, 1446) to (952, 1446)), 5 rows of 14 keys and a space bar. A pressed key drops 4 px, brightens nearly to white, glows 95 px around, and fades over 0.35 s. The AI's keys follow English letter frequency plus the space bar, so the board lights like typing; the typed line lights its real letters. - The monitor's page (its own 1200 x 720 canvas): cream #FBF9F4, "zippr" in Geist 600 at 40 px #111 and "Build log" in Geist 400 at 30 px #6B675E, over a hairline; below, greeked entries (a grey time chip, a dark title bar, three grey text lines), newest on top, filling as the keys type (one character a key; each fast-forward key stands for hours, a dozen characters). From 11.2 s, a new entry: the typed line in Geist 600 at 76 px #111, the smear under it, a grey select highlight (#C9C5BB), and a 7 px cursor that is solid while typing and blinks on the beat when idle. The monitor wakes from dark over 0.4 to 1.4 s. - The camera: the room is drawn (in the zoom, scaled about the zoom's aim), blurred 1.1 px, and in the zoom shrunk to a third or a quarter and scaled back with no smoothing, so it goes blocky. Then every pixel is graded: its luminance (0.30, 0.59, 0.11), lifted blacks (0.07 + 0.90 x l^0.92), a vignette (1 - 0.95 x (1.3 x^2 + 0.9 y^2) from the centre), scan lines (every other 2-px band at 93%), fresh grain every frame (plus or minus 5.5%, in blocks during the zoom), a bright tracking band 120 px tall rolling down during the fast-forward, and a faint night-camera green (red x0.90, blue x0.88). - The mascot keeps its colour: where it is, each pixel keeps the camera's brightness (grain, scan lines, blocks) but takes the mascot's own hue at 80%, so it stays blue in green footage. - The overlay (not graded): the REC dot, red-orange #E4572E, 15 px radius at (98, 196), blinking every 0.4 s; "REC" and "NIGHT 1" in Space Mono 700 at 38 px, #F2F5F0 with a soft shadow, at y 209; "CAM 1 · FOUNDER'S DESK" in Space Mono 700 at 32 px at y 262; the clock in Space Mono 700 at 50 px at (80, 1548), with "▶▶" at the right during the fast-forward; four viewfinder corners (50 px, 4 px, 80% white) at y 140 and 1590. - The zoom: two steps, 1.35x at 11.2 s (3 px blocks) and 1.7x at 11.6 s (4 px blocks), aimed at (550, 770): the monitor and the mascot, with the keyboard's near rows just below the frame, where the sleeper's face lands. - The end card: black #050505, pale grey #EDEFEA titles centred: "Written by the agents / building zippr." in Geist 500 at 54 px (y 760 and 832), "A human only orchestrates." (y 960), "zippr" in Geist 600 at 104 px (y 1200), "zippr.to/build" in Geist Mono 40 px, grey #9DA19B (y 1276). Each cuts in at 60% on its own frame and settles in 2 frames, like a found-footage title card. The tape's grain stays on. - The colours are ROLES. My brand colours go onto the roles; zippr's value stays for any role my colours don't fill. - THE NIGHT, everything the camera sees: green-grey night vision. Keep it: the colour is drained on purpose. - THE ONE ACCENT, the REC light: red-orange #E4572E. Mine: my accent colour, only there. - THE HERO: its own colour at 80% strength. Mine: my hero's own colour. It must read against grey at phone size (zippr's alternative, one setting away: grade the hero grey-green like the room). - THE MONITOR PAGE: cream #FBF9F4 with #111 type and #6B675E grey (zippr's own build page). Mine: my own site's paper and ink. - THE CAMERA TEXT: near-white #F2F5F0. - THE END CARD: black #050505 with pale grey #EDEFEA and a mid grey for the address.
The hero's pictures (the one paid step; follow this only if I chose (b)) - The model: Nano Banana Pro (Google's gemini-3-pro-image), through Vertex AI, at 2K, 16:9. It cost about $0.14 a picture by usage; Google's price page said $0.134 for a 1K or 2K picture. - What kept the character identical in 33 of 34 pictures: - one locked description, pasted word for word into every prompt; - the character's clean reference picture passed in with every call; - each new pose made as an EDIT of an existing picture, with one change per edit. - zippr's locked description: "a small chunky soft-vinyl toy creature: one rounded bean-shaped piece for head and body in matte cornflower-blue vinyl (#5387D8), with a pale periwinkle (#9DACD0) oval belly patch, two short rounded stub arms and two short round stub feet in the body's blue. The upper front of the bean is a large, softly rounded-rectangle screen set into the body, glowing a soft warm white (#FBE5CA). On that screen, and only on it, sit two small round glossy black eyes, each in a thin clear glossy rim and each carrying one round white catchlight. Two soft floppy dog ears in warm cream vinyl (#E6C28E) hang from the top of the head, one on each side. No mouth, no nose, no neck, and no marks, letters or numbers on the body." - The three pose prompts. Every one ends with: "The face-screen shows only its two eyes: no mouth, no nose, no symbol, no logo. No words, letters or numbers anywhere in the picture." 1. Standing, an edit of the character's first picture: "Edit this image. Keep the identical character: its shape, proportions, pose, colours, matte soft vinyl, face-screen glow, eyes and catchlights, and the same camera angle and framing. Only change: the setting. [The old background] is replaced by a plain, seamless, evenly lit light-grey studio backdrop that curves smoothly into the floor: one smooth neutral grey (about #C8C8C8), with no texture, no props, no doodles and no horizon line. The character stands on it with only a soft contact shadow under its feet. Soft, even studio light from the upper left, so its colours read true." 2. Looking up, an edit of picture 1 with the reference passed in: "The first image is the picture to edit. The second image shows a character, for reference only; copy its exact design, proportions, colours and material. Edit the first image. Keep the identical character (exactly as in the second image: its shape, proportions, colours and matte soft vinyl), the plain light-grey studio backdrop, the light and the framing; only change: its pose and expression, to hopeful. Its body turns a little toward the left of the picture (a three-quarter view, never more, the face-screen fully visible) and it looks up and to the left, as if at someone taller. The head tips back slightly. The two eyes are open wide and round, glossy, with bright round catchlights, gazing upward. The two stub arms are held together in front of the belly. The face-screen keeps its soft warm-white glow. It stands on the floor with a soft contact shadow." 3. The jump, an edit of picture 1 with the reference passed in. The opening is the same as prompt 2, then: "only change: its pose and expression, to a delighted jump. It is in mid-air, both feet well off the floor, a small happy hop; both stub arms thrown up high; both floppy ears flung up and outward by the jump. It faces the camera. The face-screen glows a brighter lime green, almost white-hot at its centre; the two eyes open wide and round, each with two big round catchlights, bright and glossy. A soft shadow on the floor below it, separate from its feet." - Then, free, in code: - cut each picture out of its grey backdrop (a model of the grey per row, plus a colour gate); - mirror the looking-up pose to make a turned pose that looks the other way; - recolour the jump's lime screen to warm white (zippr's films have no green); - split the two black pupils out of the standing and turned poses (each pupil with its one catchlight; the dome it leaves filled with the dome's own clear interior), so a glance moves only the pupils, clipped inside their domes; - measure each pose once: its feet centre and its height, so every pose draws at one size. - Designing the character in the first place took zippr several earlier rounds of pictures. Those are not in the $0.42. - On the desk the hero stands left of the monitor's foot, its feet at (380, 1086), 228 px tall, with a soft contact shadow (blurred 8 px, 50%) and a faint warm pool of its screen's light (10%), at 78% brightness (rising a little as the screen wakes). Its looks point opposite ways: at the keys is down and to its right; at the sleeper is a body turn to the turned pose, looking down-left, over the empty desk, toward the bottom-left corner of the frame. A pupil move alone does not read at phone size, so every look at him is also a body turn. It breathes (0.8% scale, every 2.3 s) and nods on the beat (a small squash).
zippr's story, beat by beat (22.4 s at 150 beats a minute; a beat is 0.4 s, 12 frames; frame = seconds x 30) - 0.00 s: frame 1 is the hook, with no fade-in: the night camera, the desk, the dark monitor, the keyboard, the mascot watching the keys; "REC" blinking, "CAM 1 · FOUNDER'S DESK", "NIGHT 1", the clock at 03:00:00. Off-frame, bottom left, someone breathes slowly and snores, never on the beat. - 0.4, 0.8 and 1.2 s (frames 12, 24, 36): one key presses itself and glows on each beat; the mascot nods on each (4%); the monitor wakes. - 1.6 to 3.0 s: two keys a beat (every 6 frames). 3.2 to 4.7 s: four keys a beat (every 3 frames). The mascot nods on every beat; the log fills, entry by entry. - 4.8 s (frame 144): a tape clunk, and the fast-forward to 8.0 s: "▶▶", the clock races to 06:14:40, a key lights on every frame, a tracking band rolls down the picture, the image jitters up to 6 px, and dawn comes up in the window. The mascot is a time-lapse: it looks up at the screen (5.27 s), at the camera (5.93 s), turns up toward the window (6.53 s), jumps for joy with its screen warm white (7.17 s), and is back in place (7.63 s) before the clunk. Short arms raised beside the head read as ears: throw them out to the sides, clear of the head's outline. - 8.0 s (frame 240): the clunk out; real time, keys at full speed. - 8.8 s (frame 264): he stirs off-frame (a snort): on that exact frame every key goes dark and the page stops. The mascot turns to him, startles 9 px up, and freezes like a toy. 10.0 to 10.35 s: as he lies back down (a long breath out), its eyes follow him down; at 10.45 s it relaxes, lets its breath go, and looks back at the keys. Two and a half seconds of room tone only: the designed stop. - 11.2 s (frame 336): one key opens a new entry, and the camera's cheap digital zoom jumps to its first step (a beep); 11.6 s (frame 348), the second step (a beep). - 12.0 to 14.2 s: "I don't need a founder." types, one letter every sixteenth (3 frames), in the build log's own type; the keys that light are its real letters; the mascot watches the keys. After "founder." (14.3 s) it turns to him, then back for the second line (14.7 s). - 14.8 to 16.5 s: "I need a keyboard." Then the mascot looks straight at the camera. The cursor blinks on the beat. - 17.5 s: it turns to him again, at the rustle of his sleeve. 17.73 s (frame 532): the thump: his face lands on the keys off-frame; the picture jolts for 3 frames (5, 4, then 1 px), keys at the bottom edge light, the mascot hops 13 px, and "fjjjjjjjjkkkkkkkkk" smears onto the log, the one run of keys off the grid, over 0.37 s. - 18.4 s (frame 552): the AI selects the smear with one crisp key. 18.6 s (frame 558): gone. The mascot turns to the camera with flat half-lids: the unimpressed look. - 19.2 s (frame 576): hard cut to black on the camera's stop beep. "Written by the agents / building zippr." 20.0 s (frame 600): "A human only orchestrates." 20.8 s (frame 624): "zippr" and "zippr.to/build", with one key click. Hold to 22.4 s.
Fixes zippr made along the way, which you should keep - Every sharp sound's attack sits on its picture frame; only soft swells that END on their frame start early. - Every key goes dark on the snort's exact frame, not over the next third of a second. - The sleeper's face lands with speed: it is still moving on the frame of its thump. - The end-card titles cut in on their frame, instead of fading up from nothing a frame late. - The mascot's looks at the sleeper are body turns, not pupil moves: a fresh reader missed the pupil-only glances. - With the sound off, nothing shows that someone is asleep off-frame: the sound carries him. If your film must work muted, add one on-screen hint.
The sound (no music, no voice; the AI's keys are the beat) - Made in numpy at 48 kHz, the same mix on both channels, with a fixed random seed (1399). The idea: the AI's keys ARE the 150 BPM grid and tighten as it takes over (a quarter, an eighth, a sixteenth, then a key every frame in the fast-forward); the sleeper's breathing drifts under it, never on it; when he stirs, the grid stops dead; the one off-grid run of keys is his face on the keyboard, tidied by one on-grid key; the last sound in the film is one key. - Under everything: room tone, the camera's hiss (noise 400 Hz to 12 kHz) at about -38 dB and the mains hum (50, 100 and 150 Hz) at about -40; it dips 8 dB for the 5 frames before 11.2 s and comes back over 15 frames, and tails 0.8 s past the cut to black; a tape hiss (1.5 to 9 kHz) fades in over the 0.3 s before the cut and carries the end card. - The sounds, what they are made of, and their gains in dB before the master: - a key: a bright click (noise 2.2 to 7 kHz, dying over 6 ms) plus a small low thock (230 Hz, 13 ms; the space bar 170 Hz, 20 ms), pitched a little at random: the hook's three keys -4, eighths -6, sixteenths -7 (bigger moments get bigger keys); the typed line's keys -4; - the fast-forward's keys: the same key pitched up 1.7 times into a chatter, -10, over the tape transport: a whine rising from 900 to 1400 Hz with a 5.5 Hz wobble and a low rumble, -26, spinning down over 0.25 s past the clunk out; - the tape clunks, in and out: a 110 Hz knock with a burst of noise (35 ms), -6 and -5; - the sleeper's breathing: 1.6 s breaths (noise 150 Hz to 1.4 kHz, swelling and falling, with a snore: a buzzing 62 Hz and its octave), every 3.47 s, off the grid, -21; not during the fast-forward or the stir; a long breath out without the snore as he lies back down, -20; a snore after his face lands, -18; - his snort as he stirs: noise 90 to 900 Hz and a buzzy 70 Hz, 0.32 s, -12; - the enter key that opens the line: a space-bar key, -4.5, with the zoom's first beep (2400 Hz, 70 ms), -20, and a tiny lens whirr; the second zoom step: the beep again; - the thump: a sleeve's rustle that swells and ENDS on it, then a thud (an 80 Hz body sagging in pitch, with a rattle of noise 0.8 to 3.5 kHz, 0.35 s), -6; - his face on the keys: 18 muffled keys (pitched down, smeared), -6, each at its own off-grid time; - select: one crisp key pitched up a quarter, -4.5; gone: a small dry thump (noise 80 to 600 Hz, 30 ms), -8; - the cut to black: the camera's stop beep (1800 Hz, 90 ms), -18; - the last key, under the wordmark, -3. - The hits and their frames (at 30 fps): keys 12, 24, 36, then every 6 frames from 48 and every 3 from 96; clunk in 144; a key every frame 144 to 239; clunk out 240; keys every 3 frames to 261; snort 264; enter and first beep 336; second beep 348; the line's keys every 3 frames from 360 to 426 and from 444 to 495; thump 532; select 552; gone 558; stop beep 576; last key 624. "A human only orchestrates." (frame 600) has no sound of its own. - zippr placed every attack exactly on its frame. Then move the whole finished soundtrack 2 frames earlier: trim 3,200 samples (2 frames at 48 kHz) from the start and pad the end with the same amount of silence. Every hit then starts 2 frames BEFORE its picture; the ear hears that as exactly on time. - Master: a 10 ms fade in and a 150 ms fade out; the gain set by measuring (ffmpeg's ebur128 filter) to -16 LUFS integrated, and a look-ahead peak limiter (2 ms ramps, touching only the key transients) holding the true peak at -2.5 dBTP, because these bright clicks overshoot in the AAC encode. zippr's came out at -16.0 LUFS, -2.5 dBTP. By section: the hook about -21.8 LUFS, the typing -17.3, the fast-forward -13.4, the stop -28.7, the line -16.2, the face on the keys -16.5, the end card -24.1.
The finish - 1080x1920, 30 fps, 22.4 s (672 frames). Chromium flags --force-color-profile=srgb, --hide-scrollbars, --font-render-hinting=none and --disable-lcd-text, device scale 1. Encode: H.264 High, level 4.0, yuv420p, crf 18, preset medium, capped with -maxrate 16M -bufsize 24M (the grain is new on every frame; uncapped it ran at about 72 Mbit/s, far over the level), converted and tagged BT.709 (set with ffmpeg's setparams as well). AAC at 256 kbit/s (at 192 the key clicks overshot), 48 kHz stereo, with +faststart. zippr's file came out at about 46 MB.
STEP 3: SWAP IN MY PRODUCT
Keep the night-vision found footage, the keys that press themselves on a tightening grid, the fast-forward, the freeze when the sleeper stirs, the typed line to the camera, the tag, the end card on black, the timings and the sound design exactly. Change only these: - The desk, "CAM 1 · FOUNDER'S DESK" and the sleeper become my team's version. - The build log on the monitor becomes what my AI builds overnight, in my own site's look, greeked except its header. - The typed line becomes mine, in the same rhythm, and the smear and its deletion stay (or become my own tag). - zippr's mascot becomes my hero (question 8), or no hero. - The end card becomes what is really true about how my product is made, with my name and address. - My accent goes on the REC light (question 9).
STEP 4: SHOW ME THE PLAN, THEN WAIT
Write my story in two sentences, then my beat table with times and frames in zippr's format, then my colours on their roles. If you can run code, show me 4 stills in the finished look (for example at 0.85 s, 6.6 s, 9.65 s and 16.9 s). Wait for my yes before you build the whole film.
STEP 5: MAKE IT
If you are an AI app that can run code and save files, follow the recipe and give me the MP4 with sound. Ask me before installing anything. If a font isn't there, use a similar free mono and sans, and tell me. The per-pixel grade is heavy: if the page is too slow in the browser, do the grade on the screenshots with numpy instead, with the same numbers, and tell me. If you can't run code, build it as one self-contained web page that plays in the chat. Draw everything on a canvas from the frame number, grade it the same way, and make the sounds live in the browser. Add a big Play button (browsers only play sound after a tap), a Replay button, and a "Save as video" button if the browser allows. Tell me how to screen-record it with sound on a phone and on a computer.
STEP 6: CHECK IT BEFORE YOU GIVE IT TO ME
- Put one frame from every 0.5 s on a contact sheet and look at it at phone size. Could someone who never saw this message say what the film means from the frames alone? Is the hook on frame 1? Fix what doesn't read. - Every line on the monitor except the header and the typed line is greeked: no readable made-up log line. The only colour in the footage is the REC light and my hero. - On the file: it plays start to end; the hero's face is visible in every frame; the keys stop on the stir's exact frame; each hit sound starts 2 frames before its picture and is clearly audible (the fast-forward's keys are the ones most easily buried); the stop is room tone only; the loudness is -16 LUFS and the peaks are below -1 dB. - Then give me the file, one still, and one honest line on anything you couldn't do. Never use copyrighted music.