All Opus 5.5 videos › Product promos
Frame-locked launch video remake for a brand
Prompt
The author shared part of the prompt.
TASK: frame-locked 1:1 remake of REF=[path/to/reference.mp4]. Swap ONLY: brand name→[NAME], logo→[path/to/logo.png|svg], palette→[hex list or "derive from logo"], platform UI→[e.g. LinkedIn→X], faces/screens→[source]. All else identical: layout, sizes, positions, timing, easing, camera, cuts, blur, cursor path, typing cadence, audio beat grid.
ACCEPTANCE: REF and remake stacked + frame-locked → same pose every frame. Cuts 0 frames off. Position/size error ≤1% of frame. Typing char-count, cursor, camera on the same frames. Differences allowed only where the swap forces them (word widths); report each.
PHASE 0 — ANALYSIS (no building yet)
- ffprobe fps/res/duration. Extract ALL frames 0-based to ref/full/fNNNN.jpg + audio to ref/audio.wav. 1fps contact sheets for overview.
- Detect cuts via per-frame mean-abs-diff spikes; confirm visually. Write SPEC.md: shot table (id, f0–f1, content, transition in/out), per-shot detail, component inventory, verbatim on-screen text in order, colour tokens sampled from pixels, font sizes from cap height, cursor paths (tip xy per frame), camera keyframes.
- MEASURE with numpy on ref frames (ink bounding boxes, flood fills, template match), never eyeball. Store per-frame sample arrays for every major move; the spec's prose is a guide, ref/full is truth.
- Audio: STT with word timestamps (narration table: line, start, end, text). Music BPM + beat phase (onset autocorrelation), drop time, loudness arc per section, hard-stop time. SFX hit times from onset/spectral analysis. Voice pitch/wpm.
PHASE 1 — ENGINE (you, before any agents)
- Single HTML page, stage at REF native resolution. https://t.co/2g5F3i1Q6q(t) renders frame F=t*fps as a PURE function of F: no timers, no Date, no Math.random (seeded hash), no CSS transitions/animations. Shots register SHOT({id,f0,f1,render(lf,F)}) returning HTML; seek routes F to its shot. window.ready=true only after document.fonts loaded + all images decoded.
- core.js shared helpers: easing set, kf(F,keys,ease), samples(F,f0,arr) interpolating measured arrays, camera(inner,scale,tx,ty,origin,blur), directional motion blur (SVG feGaussianBlur), cursor (glyph MEASURED from ref, press-scale curve measured), ripple, text reveal, brand tokens, logo component (mask-image of logo so any fill/gradient works), avatar/persona pickers.
- Palette swap as ONE deterministic filter applied to each rendered HTML string (hex/rgb/rgba re-hued by band, lightness preserved) so hard-coded colours in shots can't leak the old brand. Bitmaps untouched.
- render.mjs (Playwright Chromium, deviceScaleFactor 1): modes stills <frames> | compare <frames> (ref left | ours right + labelled sheet) | full <f0> <f1>. Per-agent OUT dirs so parallel runs don't collide. Print page errors.
- https://t.co/ekkkOF28Sg: REF over remake stacked, frame-locked mp4. https://t.co/klnH9IAyk0: PNG frames → h264 at REF fps, mux audio.
PHASE 2 — PARALLEL BUILD
- Split shots into 4 contiguous groups; one agent each; each writes ONLY s
Prompt by @notdwd, from their reply
- Category
- Product promos
- Made with
- Playwright, ffprobe, numpy, ElevenLabs, open-source voice model
- From the author
- 15 minutes; a few 100k tokens; exact workflow shared separately
- On X
- 606 likes · 116K views · 1.4K saves
More product promos
Modern slick startup launch video for an inference product
@deedydas♥ 3.3K
Launch video for shotbaseapp
@Miguel07Code♥ 1.3K
30-second product promo video made from a single prompt
@shownotover♥ 1.1K
Launch video for a notch-style app
@0xhrushi♥ 1.1K
Modern slick song-style promo video for Replit Animation
@samuel_spitz♥ 1K
Cosmos launch video made in HyperFrames
@kaolti♥ 1K
15-second motion graphics promo for a product page
@ann_nnng♥ 980
12-second square product sting with prompt box, cards, and logo reveals
@notdwd♥ 931