Teammates at Work
A cinematic AI teammate launch film that uses color-coded workspaces and floating task cards to show delegation.
By @perplexity_ai for PerplexitySource onlineOriginal post ↗
Copies get_blueprint("REF-5320") for Claude. Connect Claude
Why it works
The title resolves before the first spoken word at 2.62 s, then an internal hard cut at f96 converts graphic curiosity into a filmed work scene. Five hard scene cuts and a 9.20 s median shot give the narrator room to explain actual handoffs, while the dark fourth shot at f975 resets the image before the brighter feedback scene at f1289.
Blueprint
15 plates that take the film apart, from its format to a recipe you can run. Claude reads the same plates over MCP.
Plate 01
The format in one breath
A narrated launch film passes work between sparse, color-coded studio tableaux. Floating task cards show each handoff; a dark abstract interlude widens the claim before human scenes return and a short end card closes it.
Why it works (inferred): The title appears within the first second, while speech starts at 2.62 s. Five hard scene cuts separate functions without rushing the median 9.20 s shot. The near-black fourth shot resets contrast before shot 5 brightens at the measured boundary.
Plate 02
Format card
| Platform · aspect · length | X · 16:9 · 71 s · source 1280×720 · 30 fps |
| Pace | 7 measured shots · 5 hard scene cuts · 9.20 s median |
| Script | Narration-led · about 97 spoken words; 149 wpm while talking; phrase-led cuts, secondary beat grid |
| Voice | Calm, low-register product narrator; clear work verbs |
| On screen | Title and work scenes, dark capability interlude, closing brand card |
| Type | Four measured cap-height levels; large editorial title, compact UI copy; animate by card state |
| Sound | Tonal bed, restrained UI cues; 136 BPM detected weakly, cuts do not follow beat; reference −13.9 LUFS |
| Structure | 7 beats · capability breadth in beat 4 · payoff in beat 7 |
Tools you'll need: a camera shoot · Remotion for motion graphics · ElevenLabs or a recorded voice · Remotion or any video editor · Claude alone: no
Frame sheets
Frame by frame
Stills taken at measured moments, each labelled with its time. Claude gets the same sheets over MCP.
Plate 03
The hook, frame by frame (first 3 seconds)
| Time | Picture | On-screen text | Words and sound | What it does |
|---|---|---|---|---|
| 0–0.5 s | Ribbed warm field; highlights, then glossy shapes enter | Title begins to resolve | Bed opens; no speech | Texture and motion earn the first look |
| 0.5–2 s | Shapes orbit an open centre | Two-line announcement | First voice word at 2.62 s | Name the idea before explaining it |
| 2–3 s | Camera drives into title | Title fills the centre | Opening sentence begins | Sets up the hard switch at f96 |
Hook formula (inferred): tactile surface + colorful moving objects + Introducing {{FEATURE}}.
Why it holds (inferred): The center stays clear enough to read while peripheral objects move. The rapidly enlarging title sets a visual question that the first work tableau answers.
Plate 04
Structure (beat sheet)
| # | Time (s) | Shots | Beat | What happens | Technique |
|---|---|---|---|---|---|
| 1 | 0–16.93 | 1 | Announcement and task | Graphic title gives way to a worker assigning work | Internal cut, task cards, focus changes |
| 2 | 16.93–26.13 | 2 | Handoff | Another worker receives progress and passes it onward | Cool set, lateral entry, progressive UI |
| 3 | 26.13–32.50 | 3 | Context | A desk worker shows inherited knowledge and a ready deliverable | Pull out, card focus change |
| 4 | 32.50–42.97 | 4 | Breadth | Abstract role cards cycle through capabilities | Dark contrast, moving card region |
| 5 | 42.97–52.07 | 5 | Feedback | A worker receives a correction, then applies it | Warm set, two-message exchange |
| 6 | 52.07–64.00 | 6 | Coworker and autonomy | A colleague coordinates work and a task list continues | Violet set, long readable hold |
| 7 | 64.00–71.00 | 7 | Payoff and signature | Text promise resolves, dips dark, then logo holds | Graphic forms, dip to dark, wordmark |
Retention map (inferred): the new sets at beats 2–3 and dark beat 4 refresh the picture; beat 7 carries the payoff. The last picture holds without an end fade.
At a glance
- Shots: 7 shots · 6 transitions · 71.00 s = 2130 frames at 30 fps · shot length median 9.20 s (shortest 6.37, longest 16.93)
For agents: Shots
The measured data and build specs agents work from. Over MCP they get it all, with the full timeline as JSON.
Shots (measured)
7 shots · 6 transitions · 71.00 s = 2130 frames at 30 fps · shot length median 9.20 s (shortest 6.37, longest 16.93). Frames are at 30 fps, first and last inclusive: a shot "33–70 · 38 f" is a Remotion <Sequence from={33} durationInFrames={38}>; at another frame rate, use the seconds.
| # | in–out (s) | frames @30 (first–last · count) | dur (s) | transition in | changes inside | scales (inferred) |
|---|---|---|---|---|---|---|
| 1 | 0.00–16.93 | 0–507 · 508 f | 16.93 | start | f96 cut · f188 focus pull over 56 f · f366 focus pull over 54 f | scales |
| 2 | 16.93–26.13 | 508–783 · 276 f | 9.20 | cut | – | scales |
| 3 | 26.13–32.50 | 784–974 · 191 f | 6.37 | cut | f872 focus pull over 26 f | optional |
| 4 | 32.50–42.97 | 975–1288 · 314 f | 10.47 | cut | – | optional |
| 5 | 42.97–52.07 | 1289–1561 · 273 f | 9.10 | cut | f1303 focus pull over 40 f | optional |
| 6 | 52.07–64.00 | 1562–1919 · 358 f | 11.93 | cut | f1590 focus pull over 24 f · f1720 focus pull over 10 f | optional |
| 7 | 64.00–70.97 | 1920–2128 · 209 f | 6.97 | fade from black · 7 f | f2000 dip to dark over 13 f | fixed |
scales: fixed = keep this shot's length when the film gets longer or shorter · scales = stretch or shrink it with the length · optional = drop it for the 15 s cut.
Measurement notes: 2 hidden cuts / dips / reframes found inside v1 shots (luma-normalised frame difference): S1 cut at 3.200 s (f96), S7 dip_to_dark at 66.667 s (f2000); listed in shots[].internal_changes · S4: 102 text items read; the 40 largest are kept · key low confidence (0.00): B minor vs D major · cue sheet keeps 71 of 180 sound events (all near cuts, then the strongest)
Frame sheets (measured): shots, one labelled frame per shot (labels S<n> m:ss.s; + = just after a change inside the shot), 2 pages · the full-length timeline, the whole film at fixed steps (labels S<n> m:ss.s f<frame>), 3 pages · close-up strips, 14 frames around each cut and change: f96 cut, f188 focus pull, f366 focus pull, f508 cut, f784 cut, f872 focus pull, f1289 cut, f1303 focus pull, f1590 focus pull, f1720 focus pull, f1920 fade from black, f2000 dip to dark (sheet "transitions", 4 pages; labels S<n> m:ss.sss f<frame>): call get_frames('2118389326459670825'), or see them on the film page (Pro, or free films).
Plate 05
Shot grammar
Mix (inferred): five staged work scenes, one abstract capability scene, one graphic close. Rhythm: Long compositions invite card reading; phrase-led scene changes provide the major punctuation.
Rules this editor follows (inferred):
- Leave one side of a tableau open for floating UI; switch its side to suit the worker and prop layout.
- Keep most staged cameras steady while cards and hands supply local motion. Shot 4 is marked static with low camera confidence; the sheets show moving role cards against a dark field.
- Use hard scene cuts at the measured boundaries, then an opening fade for shot 7.
At a glance
- Biggest moves: shot 1: push in ×6.24 over 16.93 s, ease-out · shot 2: complex over 9.20 s, ease-out · shot 3: pull out ×0.60 over 6.37 s, linear.
- Transitions: 6 transitions: 5 cuts · 1 fade from black (7 f)
For agents: Camera and motion · Transitions
The measured data and build specs agents work from. Over MCP they get it all, with the full timeline as JSON.
Camera and motion (measured)
Per shot, measured on the frames. "Camera move" names the camera's move; the numbers are the image's motion: pan in % of frame width (x) or height (y) per second, +x = content moves right (so a pan left), +y = content moves down; zoom per second > 1 = content grows (push in). "Over the shot" is the total, with px at 1920×1080. Speed is the move through the shot, about one character per 0.5 s (▁ still → █ its peak), then the peak in % of width per second. Cadence: "ones" = a new picture every frame, "twos" = each picture held two frames. Blur is relative to this film (0 = its sharpest shots, 1 = its blurriest); motion = share of the frame changing, 0–1. "?" = confidence under 0.5: a hint, check the sheets. The labels describe how the image moves, not where a 3D camera went: an object flying toward a still camera can read as a push in.
In 4 of 7 shots the camera holds still and something inside the frame moves: see Element motion right under this table.
| # | camera move | pan x · y (%/s) | zoom (/s) | over the shot | ease | speed · peak | cadence | blur | motion | conf |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | push in | −0.1 · −0.1 | ×1.114 | x −2.3% (−44 px) · y −1.8% (−19 px) · ×6.24 scale · roll −1.5° | ease-out | ▁▁▄▂▁▁▁▁▁▁▁▁▁▁▁▁ · 135%/s | ones | 0.55 | 0.10 | 0.93 |
| ↳ 0.00–0.47 s: complex | −0.1 · −8.8 | ×1.080 | y −4.1% (−44 px) · ×1.04 scale | irregular | ||||||
| ↳ 0.47–3.07 s: push in | +0.1 · −0.1 | ×1.738 | ×4.21 scale | ease-in | ||||||
| ↳ 3.20–4.60 s: push in | +1.0 · +0.6 | ×1.193 | x +1.4% (+28 px) · y +0.8% (+9 px) · ×1.28 scale · roll −0.6° | ease-out | ||||||
| ↳ 4.60–16.33 s: push in | −0.1 · +0.2 | ×1.008 | x −0.6% (−11 px) · y +1.8% (+20 px) · ×1.10 scale · roll −1.6° | linear | ||||||
| ↳ 16.33–16.87 s: pan right | −6.1 · −0.3 | ×1.022 | x −3.3% (−63 px) · ×1.01 scale · roll +0.6° | ease-in | ||||||
| 2 | complex (shake 2.2%/s) | −1.7 · +0.2 | ×1.047 | x −15.7% (−302 px) · y +2.0% (+21 px) · ×1.53 scale · roll +3.9° | ease-out | ▃▁▁▁▁▁▁▂▁▁▁▁▁▁▁▁ · 65%/s | ones | 0.53 | 0.12 | 0.68 |
| ↳ 16.93–17.33 s: pan right | −30.4 · +0.0 | ×0.996 | x −12.2% (−233 px) | ease-out | ||||||
| ↳ 17.33–17.73 s: static | +0.0 · +0.0 | ×1.000 | none | hold | ||||||
| ↳ 17.73–18.07 s: static | +0.0 · +0.0 | ×1.000 | none | hold | ||||||
| ↳ 18.07–18.93 s: push in | −0.5 · +0.0 | ×1.025 | ×1.02 scale | linear | ||||||
| ↳ 18.93–23.27 s: push in | −0.7 · +0.5 | ×1.098 | x −3.2% (−61 px) · y +2.0% (+22 px) · ×1.50 scale · roll +3.4° | ease-in-out | ||||||
| ↳ 23.27–26.07 s: static | +0.0 · +0.0 | ×1.000 | none | hold | ||||||
| 3 | pull out | −0.1 · +0.2 | ×0.922 | y +1.5% (+16 px) · ×0.60 scale | linear | ▃▃▃▃▃▃▃▃▃▃▃▃▅ · 13%/s | ones | 0.84 | 0.03 | 0.98 |
| 4 | static? · element moves ↓ | +0.0 · +0.0 | ×1.000 | none | hold | ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ | ones | 0.04 | 0.06 | 0.39 |
| 5 | static · element moves ↓ | +0.0 · +0.0 | ×1.000 | none | hold | ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ | ones | 0.43 | 0.06 | 0.66 |
| 6 | static · element moves ↓ | +0.0 · +0.0 | ×1.000 | none | hold | ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ | ones | 0.60 | 0.09 | 0.64 |
| 7 | static? · element moves ↓ | +0.0 · +0.0 | ×1.000 | none | hold | ▁▁▁▁▁▁▁▁▁▁▁▁▁▁ | ones | 0.98 | 0.15 | 0.44 |
Element motion (measured): in these shots the frame holds still and something inside it moves: a card, a UI panel, a product, a word. Region = where it moves (x · y · w · h % of the frame); numbers as above, for the moving region; "moving" = share of the shot in motion; ↳ = the move changes direction.
| # | region x·y·w·h % | element move | x · y (%/s) | zoom (/s) | total while moving | ease | speed · peak | moving | conf |
|---|---|---|---|---|---|---|---|---|---|
| 4 | 30 · 43 · 24 · 18 → 32 · 31 · 20 · 31 | slide up | −0.3 · −21.4 | ×0.950 | x −3.2% (−62 px) · y −215.8% (−2330 px) · ×0.59 scale · roll −3.7° in 10.1 s | irregular | ▄▁▁▂▅▁▁▁▅▁▁▁▅▁▁▁ · 105%/s | 0.96 | 0.58 |
| ↳ 32.83–42.90 s: slide up | −0.3 · −21.4 | ×0.950 | x −3.2% (−62 px) · y −215.8% (−2330 px) · ×0.59 scale · roll −3.7° | irregular | |||||
| 5 | 42 · 30 · 45 · 56 → 81 · 30 · 6 · 48 | complex | −2.1 · −1.3 | ×1.014 | x −9.3% (−178 px) · y −5.5% (−59 px) · ×1.06 scale · roll +12.6° in 4.3 s | ease-out | ▄▁▁▁▁▁▁▃▁▁▁▁▁▁▁▁ · 39%/s | 0.48 | 0.77 |
| ↳ 42.97–43.90 s: slide left | −11.5 · +0.1 | ×1.027 | x −10.8% (−207 px) · ×1.03 scale | ease-out | |||||
| ↳ 43.90–45.97 s: static | +0.0 · +0.0 | ×1.000 | none | hold | |||||
| ↳ 45.97–46.63 s: rotate | −0.3 · −1.3 | ×1.003 | y −0.9% (−10 px) · roll +1.2° | irregular | |||||
| ↳ 46.63–46.97 s: static | +0.0 · +0.0 | ×1.000 | none | hold | |||||
| ↳ 46.97–48.30 s: rotate | +1.9 · −3.2 | ×1.013 | x +2.5% (+48 px) · y −4.3% (−46 px) · ×1.02 scale · roll +9.2° | ease-out | |||||
| ↳ 48.30–49.70 s: rotate | −0.6 · −0.3 | ×1.012 | x −0.8% (−15 px) · ×1.02 scale · roll +2.3° | irregular | |||||
| 6 | 24 · 17 · 66 · 70 → 21 · 16 · 62 · 76 | scale down | +0.3 · −0.6 | ×0.917 | x +2.3% (+43 px) · y −4.4% (−48 px) · ×0.51 scale · roll +1.4° in 7.8 s | ease-out | ▇▅▃▃▃▂▂▂▂▂▁▁▁▁▁▁ · 14%/s | 0.65 | 0.78 |
| ↳ 52.07–59.87 s: scale down | +0.3 · −0.6 | ×0.917 | x +2.3% (+43 px) · y −4.4% (−48 px) · ×0.51 scale · roll +1.4° | ease-out | |||||
| ↳ 59.87–63.93 s: static | +0.0 · +0.0 | ×1.000 | none | hold | |||||
| 7 | 31 · 34 · 39 · 12 → 39 · 35 · 20 · 28 | complex | +5.0 · −1.5 | ×0.924 | x +19.9% (+381 px) · y −6.1% (−66 px) · ×0.73 scale · roll +28.7° in 4.0 s | ease-out | ▂▂▆▂▁▂▄▁▁▁▁▁▁▁ · 107%/s | 0.57 | 0.68 |
| ↳ 64.07–65.33 s: complex | −5.9 · −5.4 | ×0.805 | x −7.4% (−143 px) · y −6.9% (−74 px) · ×0.76 scale · roll +8.6° | ease-in | |||||
| ↳ 65.33–65.67 s: slide right | +86.2 · +24.7 | ×1.353 | x +28.7% (+552 px) · y +8.2% (+89 px) · ×1.11 scale · roll +9.7° | linear | |||||
| ↳ 65.67–66.60 s: scale down | +0.0 · +0.0 | ×0.943 | ×0.95 scale | ease-in | |||||
| ↳ 66.67–66.80 s: scale down | −0.1 · −0.1 | ×0.713 | ×0.96 scale | linear | |||||
| ↳ 67.20–68.53 s: rotate | −1.1 · −5.6 | ×0.970 | x −1.4% (−27 px) · y −7.5% (−81 px) · ×0.96 scale · roll +10.6° | ease-out | |||||
| ↳ 68.53–70.93 s: static | +0.0 · +0.0 | ×1.000 | none | hold |
Focus (measured): shot 1 0.00–3.20 s: sharp inside 0 · 0 · 100 · 100, no defocus (deep focus) · shot 1 3.20–16.93 s: sharp inside 0 · 0 · 100 · 100, no defocus (deep focus) · shot 2: sharp inside 0 · 0 · 100 · 100, no defocus (deep focus) · shot 3: sharp inside 0 · 0 · 100 · 100, no defocus (deep focus) · shot 4: sharp inside 0 · 0 · 100 · 100, no defocus (deep focus) · shot 5: sharp inside 0 · 0 · 100 · 100, no defocus (deep focus) · shot 6: sharp inside 0 · 0 · 100 · 100, no defocus (deep focus) · shot 7 64.00–66.67 s: sharp inside 0 · 0 · 100 · 100, no defocus (deep focus) · shot 7 67.10–70.97 s: sharp inside 33 · 29 · 33 · 43, no defocus (deep focus). Box = x · y · w · h % of the frame. In 2D, blur the layers outside the box by that many px; in 3D, set the focus distance on the box and open the aperture until the background blur matches.
Biggest moves: shot 1: push in ×6.24 over 16.93 s, ease-out · shot 2: complex over 9.20 s, ease-out · shot 3: pull out ×0.60 over 6.37 s, linear. Locked-off shots: 2 of 7; 2 more could not be tracked (shown as "static?" or "not measured": check the sheets). Animation cadence: a new picture every frame (on ones): 29.6 unique frames per second of 30 while things move (held-frame share 0.01, 1010 moving frames). Match it, or the motion will feel smoother or choppier than the reference.
Transitions (measured)
6 transitions: 5 cuts · 1 fade from black (7 f). Frames are at 30 fps; a transition of n frames lasts n ÷ 30 s. Hard cuts are reliable; the blur types (whip versus zoom) are the weakest labels, so read their confidence and check the sheets.
| into # | at (s) | frame @30 | type | length | conf |
|---|---|---|---|---|---|
| 2 | 16.93 | 508 | cut | 0 f | 1.00 |
| 3 | 26.13 | 784 | cut | 0 f | 1.00 |
| 4 | 32.50 | 975 | cut | 0 f | 0.55 |
| 5 | 42.97 | 1289 | cut | 0 f | 1.00 |
| 6 | 52.07 | 1562 | cut | 0 f | 1.00 |
| 7 | 64.00 | 1920 | fade from black | 7 f · 0.23 s | 0.87 |
Changes inside shots (the picture changes without a cut: a reframe, a hand-off behind black, a mask):
| shot | at (s) | frame @30 | change |
|---|---|---|---|
| 1 | 3.20 | 96 | cut: hard cut that v1 did not split on |
| 1 | 6.27 | 188 | focus pull over 56 f: comes into focus (edge sharpness x1.8) |
| 1 | 12.20 | 366 | focus pull over 54 f: goes out of focus (edge sharpness x0.6) |
| 3 | 29.07 | 872 | focus pull over 26 f: comes into focus (edge sharpness x1.6) |
| 5 | 43.43 | 1303 | focus pull over 40 f: comes into focus (edge sharpness x1.8) |
| 6 | 53.00 | 1590 | focus pull over 24 f: comes into focus (edge sharpness x1.9) |
| 6 | 57.33 | 1720 | focus pull over 10 f: goes out of focus (edge sharpness x0.6) |
| 7 | 66.67 | 2000 | dip to dark over 13 f: drops to 10% of the light, then the next picture comes up |
What each shot shows (inferred from the sheets)
| # | Type | Framing | What's on screen | Text / overlay |
|---|---|---|---|---|
| 1 | Graphic to live tableau | Title close-up, then wide studio | Worker handling folded stock | Task creation and manager conversation at upper right |
| 2 | Live tableau | Wide to closer | Reclining worker, laptop and articulated screen | Progress and QA messages at upper right |
| 3 | Live tableau | Medium to wide | Worker at broad desk | QA status at upper right |
| 4 | Abstract graphic | Dark full frame | Soft overlapping colored forms | Floating role and capability cards |
| 5 | Live tableau | Wide | Worker at long product table | Feedback and response cards at upper left |
| 6 | Live tableau | Medium to wide | Seated colleague at slim desk | Legal conversation and checklist at upper right |
| 7 | Graphic close | Centered | Promise text, then logo on black | {{LOGO}} and {{CTA_URL}} as text |
Plate 06
Visual style guide
Look (inferred): Staged workers sit inside seamless color fields with sparse, practical props. The reference uses warm rust, cool teal, olive, ochre and violet; replace those with a coherent sequence derived from {{BRAND_BG}} and {{BRAND_ACCENTS}}. Its glossy toy-like shapes are decoration around editorial type, never a product claim.
Graphics and overlays (inferred): Dark translucent cards float in unused set space. A role label, request, and result arrive as separate states. Use real {{PRODUCT}} captures or a faithful UI rebuilt in code.
Branding and end card (inferred): After the measured dip within shot 7, center {{LOGO}} on black and set {{CTA_URL}} as small but phone-legible text. No closing fade.
Grade and shoot card (inferred)
Shoot five worker setups, one sustained usable take each, plus a clean plate for each set. Use 35–50 mm full-frame lenses for wide tableaux and a 50–70 mm option for the closer portions; camera near seated eye height, level or slightly low, on a locked head or repeatable dolly. Use f/4–f/5.6 so worker and prop stay clear; focus changes are applied to overlaid cards in post at the measured frames. Broad overhead key at roughly 4500 K, soft fill 1.5–2 stops below it, then a narrow edge light to separate the worker. Grade with restrained contrast, gently lifted shadow detail on set shots, saturated backgrounds but natural skin; preserve the measured dark interlude and black end. Shoot 4K 16:9, 30 fps for the crops and shot 2's push. Record isolated narration, room tone, and prop foley. Reserve clean negative space on the card side of each take.
:root { --brand-bg: {{BRAND_BG}}; --brand-accent: {{BRAND_ACCENTS}}; --card-ink: rgba(10,12,16,.76); }
.floating-card { background: var(--card-ink); color: white; border: 1px solid rgba(255,255,255,.12); border-radius: 14px; box-shadow: 0 20px 60px rgba(0,0,0,.20); backdrop-filter: blur(18px); }
.card-glow { filter: drop-shadow(0 0 24px color-mix(in srgb, var(--brand-accent) 28%, transparent)); }
No 3D is needed. Make the abstract forms from layered SVG/CSS shapes, gradients, 12–30 px Gaussian blur and gentle 24 px glow at 0.25 opacity; the filmed sets supply physical depth.
At a glance
- Type scale (cap px): 98–126 · 72 · 28–31 · 16–24 (4 levels) among the text above.
- Phone minimum: cap height ≥ 2% of frame width = 38 px at 1920×1080
- Whole film (time-weighted):
#15171815% ·#682E1314% ·#3A313C11% ·#52497E9% ·#0101019% ·#4D6A657%. - Curve facts: average 0.27 · darkest 0.01 at 64.0 s · brightest 0.47 at 17.2 s · sudden changes at 17.00 s (brighter by 0.21), 32.50 s (darker by 0.26), 43.00 s (brighter by 0.33), 64.00 s (darker by 0.33).
For agents: Type · Type spec · Palette by shot · Brightness curve · Layout boxes
The measured data and build specs agents work from. Over MCP they get it all, with the full timeline as JSON.
Type (measured)
Sizes are cap height (the height of a capital letter) in px at the 1080p deliverable, 1920×1080. Font size ≈ cap ÷ 0.71 for a typical sans (Inter 0.73, Geist 0.71, SF Pro 0.70, Instrument Sans 0.72): check your own font's cap-height ratio. Cap heights are estimated from text-recognition boxes (median error about 11% on real text; text under about 13 px at 1080p and non-Latin scripts are not read). Box = x · y · w · h as % of the frame, from the top-left.
| text | shot | on screen (s) | cap px | ≈ font px | cap % of height | box x·y·w·h % | position |
|---|---|---|---|---|---|---|---|
| "Introducing" | 1 | 0.5–3.0 | 107 | 151 | 9.9 | 30 · 33 · 39 · 16 | centre, upper |
| "teammates" | 1 | 0.5–3.0 | 98 | 138 | 9.1 | 32 · 51 · 36 · 11 | centre, middle |
| "Store manager teammate" | 1 | 7.5–16.5 | 16 | 23 | 1.5 | 66 · 17 · 16 · 2 | right, top |
| "shipping delays. What should I take on first?" | 1 | 7.5–11.0 | 23 | 32 | 2.1 | 63 · 36 · 31 · 3 | right, upper |
| "* QA teammate" | 3 | 27.5–32.0 | 28 | 39 | 2.6 | 63 · 22 · 12 · 4 | right, upper |
| "Ads Manager teammate" | 5 | 44.0–52.0 | 17 | 24 | 1.6 | 9 · 18 · 15 · 3 | left, top |
| "and sent the creator's contract extension" | 5 | 44.5–48.0 | 24 | 34 | 2.2 | 7 · 29 · 29 · 3 | left, upper |
| "Great call. Always send contract changes to" | 5 | 46.5–52.0 | 22 | 31 | 2.0 | 7 · 24 · 31 · 3 | left, upper |
| "Emmanuel Brand Director" | 5 | 46.5–52.0 | 19 | 27 | 1.8 | 7 · 18 · 16 · 2 | left, top |
| "Legal. No need to ask next time." | 5 | 47.0–52.0 | 21 | 30 | 1.9 | 7 · 28 · 22 · 3 | left, upper |
| "Our creator ads are running below our CAC" | 6 | 53.5–57.5 | 21 | 30 | 1.9 | 63 · 31 · 29 · 3 | right, upper |
| "Review the creator's contract extension" | 6 | 58.0–63.5 | 21 | 30 | 1.9 | 63 · 21 · 27 · 2 | right, upper |
| "against our standard terms. Send me a redline" | 6 | 58.0–63.5 | 21 | 30 | 1.9 | 63 · 24 · 31 · 3 | right, upper |
| "with your suggested changes." | 6 | 58.0–63.5 | 21 | 30 | 1.9 | 63 · 28 · 21 · 3 | right, upper |
| "* Legal teammate" | 6 | 59.5–63.5 | 31 | 44 | 2.9 | 63 · 38 · 13 · 4 | right, upper |
| "Teammates" | 7 | 64.5–66.5 | 126 | 177 | 11.7 | 30 · 34 · 41 · 14 | centre, upper |
| "work for you." | 7 | 64.5–66.5 | 117 | 165 | 10.8 | 28 · 49 · 46 · 16 | centre, middle |
| "perplexity" | 7 | 67.5–70.5 | 72 | 101 | 6.7 | 37 · 57 · 26 · 10 | centre, lower third |
Plus 72 smaller or briefer text items, cap 13–24 px, mostly labels inside interfaces: all in the timeline JSON.
Type scale (cap px): 98–126 · 72 · 28–31 · 16–24 (4 levels) among the text above.
Left out: 2 reads that are not clean words or were seen in a single frame ("SHOPIFY • GMAIL…", "Adjusted reorder…"…): blurred, moving or partly hidden text the recognizer misread. They stay in the timeline JSON, not in the type scale.
Phone minimum: cap height ≥ 2% of frame width = 38 px at 1920×1080. Why: in a phone feed the film fills the screen width, about 390 pt, and 2% of that is 7.8 pt, the cap height of 11 pt text, Apple's smallest recommended text size. Words the viewer must read go at or above it; smaller text can only be decoration. Below it in the reference: "Store manager teammate" (16 px, shot 1), "Ads Manager teammate" (17 px, shot 5), "Great call. Always send…" (22 px, shot 5), "Emmanuel Brand Director" (19 px, shot 5), "Review the creator's contra…" (21 px, shot 6), "against our standard terms.…" (21 px, shot 6) and 7 more above and 72 of the smaller items. Size these up in your version, or treat them as decoration.
Type spec (inferred)
Assume cap height = 0.71 × CSS font size; inspect {{BRAND_FONT}} and adjust. Free fallback: Instrument Serif for editorial display and Instrument Sans for UI if the brand has no typeface. The reference's exact family is evidence, not a requirement.
| Level | Cap px at 1080p | Font size | Weight · case · tracking | Colour pair | Motion |
|---|---|---|---|---|---|
| Display | 98–126 | 138–177 px | 500 · sentence case · −0.025 em | light text / {{BRAND_BG}} | 12–18 f opacity and scale, cubic-bezier(.22,1,.36,1); shot 7 forms enter on ones |
| Brand mark text | 72 | 101 px | 500 · brand case · −0.02 em | light / dark | 8 f reveal after dip, ease-out; {{LOGO}} may use its own proportions |
| Role heading | 28–31 reference; 38 minimum when essential | 54 px minimum | 600 · sentence case · 0 em | light / dark card | 8–12 f masked reveal, cubic-bezier(.16,1,.3,1) |
| UI body | 16–24 reference; 38 minimum when essential | 54 px minimum | 400–500 · sentence case · 0 em | light / dark card | 8–12 f line fade; secondary unreadable texture can stay smaller |
Palette by shot (measured)
Colours measured on the frames, with their share of the frame; luma 0 = black, 1 = white. These are the reference's brand colours: map them onto {{BRAND_BG}} and {{BRAND_ACCENTS}} by role (background, surface, accent), don't reuse them as the format. Neighbouring shots with the same palette share a row.
| # | luma mean · p95 | colours (share of frame) | highlights (bright pixels) |
|---|---|---|---|
| 1 | 0.26 · 0.46 | #682E13 54% · #9B401B 25% · #3E2F2B 13% · #916350 6% · #BBB1A4 2% | #A39696 ≈5850 K 39% · #C97F58 hue 53° ≈2600 K 32% · #E2E3CD hue 105° ≈5730 K 29% |
| 2 | 0.42 · 0.65 | #4D6A65 54% · #798E88 25% · #3D3D35 11% · #9C5834 5% · #BCBAAE 4% | #D2D5D0 ≈6390 K 74% · #CEB59A hue 75° ≈4610 K 24% |
| 3 | 0.31 · 0.67 | #616549 36% · #343E22 31% · #622812 16% · #292418 10% · #C0B7A9 8% | #EDE2CB hue 89° ≈5360 K 60% · #D8D9E7 ≈7260 K 38% |
| 4 | 0.10 · 0.14 | #151718 90% · #2A3134 4% · #252817 4% · #2E1C19 2% | #323535 ≈6950 K 52% · #606463 ≈6700 K 39% · #323B1D hue 119° tinted 9% |
| 5 | 0.42 · 0.66 | #845314 39% · #A66E22 30% · #C49849 15% · #513E25 12% · #B69173 4% | #E0BB64 hue 86° ≈3570 K 64% · #DABB9F hue 69° ≈4450 K 21% · #DBDCE5 ≈6950 K 15% |
| 6 | 0.34 · 0.65 | #52497E 56% · #3A313C 20% · #927994 11% · #8E6258 8% · #D6A993 4% | #EEC3A4 hue 63° ≈4130 K 43% · #F5E3CC hue 81° ≈5180 K 34% · #D4B9C2 hue 356° ≈5670 K 23% |
| 7 | 0.03 · 0.23 | #010101 94% · #676B6A 4% · #80DA7B 1% · #C86FB3 1% · #C77735 1% | #DFE6E3 ≈6650 K 69% · #7D757E ≈6680 K 19% · #BFF476 hue 122° tinted 12% |
Whole film (time-weighted): #151718 15% · #682E13 14% · #3A313C 11% · #52497E 9% · #010101 9% · #4D6A65 7%.
Brightness curve (measured)
Mean luma per 1 s, one character each, grouped in tens; p95 = the bright highlights. Scale: ▁ = 0 (black) → █ = 0.8 (nothing in this film is brighter); luma runs 0–1.
0s 10s 20s 30s 40s 50s 60s 70s
mean ▃▃▃▃▃▃▃▃▃▃ ▃▃▃▃▃▃▃▅▅▅ ▅▅▄▅▅▅▄▃▄▄ ▄▄▃▁▁▁▁▁▁▂ ▁▁▂▅▅▅▅▅▅▅ ▅▅▄▄▄▄▄▄▄▄ ▄▄▄▄▁▁▁▁▁▁ ▁
p95 ▅▇▇▆▅▅▅▅▅▅ ▅▅▅▅▅▅▄▇▇▇ ▇▇▇▇▇▇▆▆▇█ ██▅▂▂▂▂▂▂▂ ▂▂▂▇▇▇▇▇▇▇ ▇▇█▇▇▇▇▇▇▇ ▇▇▇▇▅▇▅▁▁▁ ▁
Curve facts: average 0.27 · darkest 0.01 at 64.0 s · brightest 0.47 at 17.2 s · sudden changes at 17.00 s (brighter by 0.21), 32.50 s (darker by 0.26), 43.00 s (brighter by 0.33), 64.00 s (darker by 0.33).
Layout boxes (inferred)
| Element | Shots | Box x · y · w · h (%) | Source · confidence | Notes |
|---|---|---|---|---|
| Opening first title line | 1 | 30 · 33 · 39 · 16 | measured text box · high | Keep center clear |
| Opening second title line | 1 | 32 · 51 · 36 · 11 | measured text box · high | Editorial pair |
| Manager card heading | 1 | 66 · 17 · 16 · 2 | measured text box · high | Expand box for readable copy |
| QA role heading | 3 | 63 · 22 · 12 · 4 | measured text box · high | Upper right |
| Abstract moving region | 4 | 30 · 43 · 24 · 18 | measured element region · high | Opening region of moving cards |
| Feedback body | 5 | 7 · 24 · 31 · 3 | measured text box · high | Upper left |
| Legal request | 6 | 63 · 21 · 27 · 2 | measured text box · high | Upper right |
| End promise | 7 | 30 · 34 · 41 · 14 | measured text box · high | First line; second at 28 · 49 · 46 · 16 |
| End logo text | 7 | 37 · 57 · 26 · 10 | measured text box · high | Centered lower half |
End card (inferred): black field; center {{LOGO}} around the measured logo-text region and put {{CTA_URL}} below it at ≥38 px cap. The logo picture occupies the final part of shot 7 after the f2000 dip; it does not fade out.
Plate 07
Voice and delivery
Measured: About 97 words in the v2 speech count; 149 wpm while speaking in v1 analysis, with 16 pauses ≥0.25 s and a 0.95 s median pause. The voice begins at 2.62 s.
Voice direction (inferred): Calm low-register announcement voice, about 145–150 wpm during lines. Slightly stress the action verb, then leave the longer spaces for UI results. Use a human recording or TTS voice without imitating any identifiable person. Do not add word-by-word subtitles; cards carry the visual information.
Plate 08
Sound design
Music (inferred): Tonal electronic bed under narration, with a soft pulse and warm sustained notes. The detected 136 BPM is uncertain and only one scene cut sits near a tracked beat, so let phrase endings and visual events drive the edit.
Effects (inferred): Light interface ticks on task state changes, a softened low hit near shot 4's card movement, and a restrained accent on the shot 7 dip. Several strongest measured “voice?” cues coincide with words: do not double them with effects.
Silence and space (inferred): Duck the bed about 3 dB under spoken phrases and leave pauses breathable. Let the outro fall as measured rather than filling it with extra speech.
At a glance
- Speech: words cover 55% of the film (97 words, v1 transcript): narration-led: the words carry it, cut on phrases and keep effects off the stressed words.
- Tempo: 136 BPM, confidence 0.56 (weak: half or double time is possible) · first downbeat 4.481 s (bar start confidence 0.04, uncertain) · beat 0.4412 s · bar of 4 = 1.765 s.
- Key: unclear: B minor or D major (confidence 0.00); pick your own.
- Loudness of the reference (measured): −13.9 LUFS integrated, true peak −1.0 dBTP, range 3.8 LU. That is how this film was mastered, not a target.
For agents: Sound grid · Original music bed
The measured data and build specs agents work from. Over MCP they get it all, with the full timeline as JSON.
Sound grid (measured)
Speech: words cover 55% of the film (97 words, v1 transcript): narration-led: the words carry it, cut on phrases and keep effects off the stressed words.
Tempo: 136 BPM, confidence 0.56 (weak: half or double time is possible) · first downbeat 4.481 s (bar start confidence 0.04, uncertain) · beat 0.4412 s · bar of 4 = 1.765 s.
Beat grid in frames. Tracked beats, not a constant grid (the tempo drifts): use the listed times, not a formula.
| per beat | per bar | first downbeat (frame) | downbeats (frame), first 8 | |
|---|---|---|---|---|
| 30 fps (this film) | 13.24 f | 52.94 f | 134 | 134 · 185 · 235 · 289 · 340 · 393 · 451 · 506 … |
| 60 fps | 26.47 f | 105.89 f | 269 | 269 · 371 · 470 · 577 · 679 · 786 · 902 · 1012 … |
Beats in seconds: 4.069 · 4.481 · 4.957 · 5.393 · 5.776 · 6.177 · 6.548 · 6.983 · 7.436 · 7.837 · 8.284 · 8.725 … (148 in all, audio.tempo.beats in the timeline JSON).
Cuts on the beat: 1 of 6 land within ±1.5 frames of a beat; chance alone would give about 1.4, so the edit does not follow the beat.
Key: unclear: B minor or D major (confidence 0.00); pick your own.
Sections (by energy of the whole mix, voice included):
| section | time (s) | shots | level (RMS) |
|---|---|---|---|
| build | 0.0–10.5 | 1 | −14 dB |
| steady | 10.5–30.5 | 1–3 | −12 dB |
| steady | 30.5–37.5 | 3–4 | −14 dB |
| steady | 37.5–64.0 | 4–6 | −13 dB |
| steady | 64.0–68.0 | 7 | −14 dB |
| outro | 68.0–71.0 | 7 | −21 dB |
Energy map (RMS per 1 s, ▁ = −66 dB → █ = −10 dB):
▅▇████████ ██████████ ██████████ ███████▇██ ▇█████████ ██████████ █████████▃ ▁
Cue sheet (71 cues: 1 at a cut, 34 on a beat; the 24 strongest shown). "On screen" names the picture event the cue hits within ±3 frames (a cut, a jump, a move starting, a line of text appearing, a brightness step), or says there is none:
| t (s) | frame @30 | shot | kind | strength | on screen (±3 f) | on beat |
|---|---|---|---|---|---|---|
| 3.33 | 100 | 1 | riser · voice? | 1.00 | camera push in starts (shot 1) | |
| 5.13 | 154 | 1 | tonal · voice? | 1.00 | "Store manager" appears | |
| 5.64 | 169 | 1 | tonal · voice? | 1.00 | no visible event | |
| 10.26 | 308 | 1 | hit · voice? | 1.00 | "Let's start with inventory…" appears | |
| 12.70 | 381 | 1 | tonal · voice? | 1.00 | no visible event | ✓ |
| 13.35 | 401 | 1 | tonal | 0.95 | no visible event | |
| 15.02 | 451 | 1 | unknown · voice? | 1.00 | "© Checking supplier lead…" appears | ✓ |
| 15.49 | 465 | 1 | unknown · voice? | 1.00 | no visible event | ✓ |
| 15.91 | 477 | 1 | unknown · voice? | 1.00 | no visible event | ✓ |
| 18.95 | 568 | 2 | tonal · voice? | 0.94 | camera push in starts (shot 2) | |
| 21.32 | 639 | 2 | tonal | 1.00 | "QA teammate" appears | ✓ |
| 21.76 | 653 | 2 | tonal | 1.00 | no visible event | ✓ |
| 22.20 | 666 | 2 | tonal | 1.00 | no visible event | ✓ |
| 23.06 | 692 | 2 | tonal | 0.93 | "PR is ready for…" appears | ✓ |
| 23.50 | 705 | 2 | tonal | 1.00 | no visible event | ✓ |
| 29.58 | 887 | 3 | tonal | 1.00 | "Jaime's password-reset fi…" appears | ✓ |
| 30.02 | 901 | 3 | tonal | 1.00 | no visible event | ✓ |
| 30.88 | 926 | 3 | tonal | 0.96 | no visible event | ✓ |
| 32.83 | 985 | 4 | hit · voice? | 1.00 | element slide up starts (shot 4) | |
| 36.45 | 1094 | 4 | tonal · voice? | 1.00 | no visible event | ✓ |
| 63.92 | 1918 | 6 | tonal | 0.94 | picture gets darker | ✓ |
| 66.76 | 2003 | 7 | hit | 1.00 | shot 7: dip to dark over 13 f: drops to 10% of the light, then the next picture comes up | ✓ |
| 67.85 | 2035 | 7 | tonal | 0.93 | "perplexity" appears | |
| 68.52 | 2056 | 7 | unknown | 1.00 | no visible event | ✓ |
"voice?" = the cue sits on a spoken word (11 of 24): that is the narration, not an effect to copy.
Loudness of the reference (measured): −13.9 LUFS integrated, true peak −1.0 dBTP, range 3.8 LU. That is how this film was mastered, not a target.
Loudness targets for your version (common practice per platform; the brief overrides them):
| where it plays | integrated | true peak max | note |
|---|---|---|---|
| YouTube | −14 LUFS | −1 dBTP | louder masters are turned down; quieter ones are not turned up |
| X, LinkedIn (this reference) | −14 LUFS | −1 dBTP | no published normalisation: the file plays as mastered |
| TikTok, Reels, Shorts | −14 to −10 LUFS | −1 dBTP | played on phone speakers; short-form is often mastered hotter |
| Website or app (autoplay) | −16 LUFS | −1 dBTP | often starts muted; keep the unmuted level comfortable |
| Broadcast (EBU R128) | −23 LUFS | −1 dBTP | only when the brief asks for it |
Original music bed (inferred)
Compose in D minor at a loose 136 BPM pulse, using soft synth pad, rounded sub, muted mallet, brushed noise and occasional filtered pluck. Treat the JSON beat times as texture only. Shots 1–3: one restrained harmonic figure and a gentle lift on task appearances; shot 4: lower register and fewer notes; shots 5–6: restore warmth with sparse plucks; shot 7: one resolved chord and a quiet tail. Place a swell at f100, subtle UI transients near f308, f639 and f692, a low accent at f985, and the clearest hit at f2003; clear any stressed narration before adding a transient. Music-model prompt: “Original restrained electronic underscore, loose 136 BPM, D minor, soft pads and muted mallets, space for calm narration, small scene accents, quiet final tail, no vocals or recognizable melody.”
Plate 09
Packaging
Title (inferred): Introducing {{FEATURE}} for {{PRODUCT}}.
Cover (inferred): A tactile field in {{BRAND_BG}}, a few accent objects, and one clear two-line promise in {{BRAND_FONT}}; keep the exact reference texture and shapes out.
Post copy (inferred): One-sentence announcement, two verified work benefits, availability, then {{CTA_URL}}.
Audience signals: Captured context lists 127,056 views; no replay graph or comment sample is supplied.
Plate 10
Script template
Narration-led: target about 97 words at roughly 149 spoken wpm. Time lines to the phrases in the timeline JSON; allow card reading between clauses. UI copy is original and must state only verified {{FEATURE}} behavior.
[beat 1 · shot 1 · ~24 spoken words] Name {{FEATURE}}, the work it accepts, and a concrete first action. On screen: ≤4-word title, then one real task and one result.
[beat 2 · shot 2 · ~13 words] Explain the handoff between two roles. On screen: sender state → receiver state.
[beat 3 · shot 3 · ~11 words] Explain which authorized context travels with the work. On screen: one status and one deliverable.
[beat 4 · shot 4 · ~13 words] Name several distinct jobs, one noun phrase each. On screen: short role cards, not a paragraph.
[beat 5 · shot 5 · ~13 words] State how a correction changes later work. On screen: feedback → acknowledged change.
[beat 6 · shot 6 · ~18 words] Explain colleague access and continued work. On screen: request → checklist.
[beat 7 · shot 7 · ~5 words] Give one compact benefit. On screen: payoff, then {{LOGO}} and {{CTA_URL}}.
Plate 11
Production plan
Two routes (inferred)
Minimum: Remotion. Claude can construct the graphics, card UI, CSS shapes, camera transforms, edit, and synthesized original music in one code stack, reaching roughly 80% of the structure. It simplifies the filmed scenes to user-supplied stills or clips and gives up the reference's believable actor movements, live set lighting, and physical props. User-supplied footage and a recorded or TTS narrator are required; this is not Claude alone.
Full: camera shoot → recorded voice or ElevenLabs → Remotion. Film five color-coded worker clips and clean plates at 3840×2160, 30 fps; hand over ProRes 422 or high-bitrate clips with slate and matching camera metadata. Record narration as 48 kHz/24-bit WAV. Build cards and abstract graphics in Remotion at 1920×1080, 30 fps; camera and element keyframes live in JSON, any external graphic plate arrives as RGBA PNG sequence with alpha at 1920×1080/30 fps, and music arrives as 48 kHz WAV plus a click-track WAV. Remotion outputs the H.264 master.
Asset honesty: Use real {{PRODUCT}} captures or its UI rebuilt in code; when there is no image, show a truthful type tile. Never generate product UI, invent results, screenshots, metrics, or reviews. In this film, each visible task completion must correspond to a capability supplied for {{FEATURE}}.
Plate 12
Prompts
Script prompt
Write about 97 original words for a narration-led film about {{PRODUCT}} and {{FEATURE}}. Use the seven numbered beats in plate 4, with practical work verbs and claims checked against supplied product evidence. Aim near 149 wpm while speaking, leaving pauses for task cards. Return timestamped narration and concise card copy. End with an original five-word-or-shorter benefit, then {{LOGO}} and {{CTA_URL}} as text. Do not copy reference wording or invent a product result.
Music prompt
Original sparse D-minor electronic bed with a loose 136 BPM pulse; pads, muted mallets and subtle sub. Leave room for speech, reduce density in beat 4, warm again in beats 5–6, and finish with a quiet resolved chord. No vocals or recognizable existing melody.
Plate 13
Edit recipe
How it's built (inferred)
Signature move — the work relay: Keep the worker and set as a readable base layer; put task cards above the plate, then connect an outgoing card state to an incoming one through the narration and a scene cut. The move is a spatial handoff, not a camera whip. Shoot the same task direction in adjacent tableaux, place cards in free negative space, and switch palettes only at f508, f784, f975, f1289 and f1562. In shot 2, start the measured 12 f lateral entry at f508, using the plate 5 travel of −12.2% with cubic-bezier(.16,1,.3,1); later use the measured ×1.50 push from 18.93–23.27 s, cubic-bezier(.45,0,.55,1). Motion runs on ones. Use 180° shutter-equivalent directional blur during fast entry, then turn it off for readable cards. A card that seems to travel across the cut should be two separate, truthful UI states, with a shared accent, rather than a fake screenshot morph.
Opening construction: Animate glossy forms around the title with CSS/SVG gradients over the ribbed {{BRAND_BG}} surface. Use the measured shot 1 ×4.21 scale during 0.47–3.07 s with ease-in, then make the hard cut at f96 to the filmed tableau. The sheets show the title enlarging until it fills the frame immediately before that cut. The later ×1.28 push segment and long ×1.10 drift belong to the live tableau, not a continuous title-to-set zoom. Keep the shot 1 focus change at f188 over 56 f (edge sharpness ×1.8) and f366 over 54 f (×0.6) as masked blur/sharpen passes on UI; do not shift the whole picture out of focus.
Other measured moves and changes: Shot 3 pulls out to ×0.60 across f784–974, approximately linear; at f872, sharpen its card over 26 f (×1.6). Shot 4's camera is marked static with low confidence; the sheets show cards and abstract forms changing while the background remains dark. Animate the measured card region from 30 · 43 · 24 · 18 toward 32 · 31 · 20 · 31 across 32.83–42.90 s with short vertical swaps, not a single 2330 px continuous slide; the measured total is a tracking hint for multiple cards. In shot 5, move the foreground element left during 42.97–43.90 s and use its measured later rotations; sharpen the card from f1303 over 40 f (×1.8). In shot 6, scale the element region to ×0.51 during 52.07–59.87 s with ease-out, sharpen from f1590 over 24 f (×1.9), then soften from f1720 over 10 f (×0.6). Keep cards as separate overlaid layers so people never blur with UI.
Close: Fade shot 7 in from black over 7 f beginning f1920. Animate the abstract forms on ones around the payoff. At f2000, dip to 10% light over 13 f and reveal the {{LOGO}} picture after the dip; the sheets show a new logo image after the dark passage, while the measured shot table keeps it within shot 7. Do not insert a hard cut there or fade the final frame to black. Ease forms with cubic-bezier(.22,1,.36,1), but leave the logo still. Use subframe rendering or 180° shutter blur for fast form motion, and avoid blending moving UI text into illegible ghosts.
Build order
- Record original beat 1–7 narration and place its phrases against the JSON; make a 30 fps animatic of the measured shot boundaries.
- Shoot beats 1–3 and 5–6 with clean negative space; ingest the five filmed clips and matching clean plates.
- Build beat 1 title, beat 4 abstract field, and beat 7 close in Remotion; then add truthful UI states for each work beat.
- Apply plate 5 motion and every internal change above; composite cards over footage, then grade by the plate 6 brightness relationships.
- Mix original bed and cue accents under narration, export 1920×1080/30 fps H.264, and run plate 14 checks.
Plate 14
QA checklist
- Scene boundaries land at f508, f784, f975, f1289 and f1562 within ±1 f; f96 is a separate internal hard cut.
- Shot 7 begins with a 7 f fade from black at f1920; the f2000 dip lasts 13 f; the end has no fade.
- All six measured focus changes use their listed start frames and lengths within ±1 f.
- Every essential UI word has cap height ≥38 px at 1920×1080; decorative microtext is not needed to understand the claim.
- The main handoff retains readable worker, task, and result layers during the shot 2 move; no text is motion-blurred during its reading hold.
- Original cues align to intended JSON events within ±3 f and avoid stressed words; scene cuts are phrase-led, not forced to the beat grid.
- X/LinkedIn master measures near −14 LUFS integrated with true peak ≤−1 dBTP; narration stays intelligible in every beat.
- Every displayed product state and claim is backed by supplied {{PRODUCT}} evidence; no reference logo, palette, shapes, wording, or track remains.
Plate 15
Make it yours
Brand slots
| Slot | Replaces in the reference | Notes |
|---|---|---|
{{PRODUCT}} | Product name and shown interface | Supply real captures or verified UI states |
{{FEATURE}} | Teammate capability | Define one concrete, provable workflow |
{{BRAND_FONT}} | Editorial title and UI type | Use brand type; fallback only if unavailable |
{{BRAND_BG}} | Warm title surface and set color system | Choose your own dominant hue |
{{BRAND_ACCENTS}} | Floating shapes and role cues | Use a distinct accent family |
{{LOGO}} | Closing brand mark | Supply original asset |
{{CTA_URL}} | Post link and closing text CTA | Plain readable URL |
What this film avoids (inferred): No talking heads addressing camera, stock office montage, dense feature list, QR code, store badges, word-by-word subtitles, or UI chrome unrelated to the demonstrated workflow.
Brand-distance warning (inferred): Reusing the rust ribbed field, glossy multicolor shapes, editorial serif, and exact two-line promise together would read as the original brand. Change the title surface and shape language first, then apply your own palette and type.
Adapt the aspect (inferred):
- 9:16: Re-lay out every tableau, placing worker/prop in the middle and cards in upper or lower free space; a centre crop preserves only the middle 31.6% of the source width and loses most measured boxes. Essential cap height ≥22 px at 1080×1920, preferably larger; keep copy clear of top account UI and bottom caption/action zones.
- 1:1: Re-lay out rather than center-crop: only 50 of 94 measured boxes survive the crop. Move cards toward the center and reduce decorative set width; essential cap height ≥22 px at 1080×1080, with top/bottom UI margins for feed overlays.
Adapt the length (inferred):
- 15 s: Keep beat 1's title move and the signature handoff of beat 2, compress spoken copy to one claim and one result, then retain beat 7's brand close; omit optional work examples.
- 30 s: Keep beats 1–2, one of beats 3–5 as verified proof, beat 6 as a brief consequence, and beat 7; rewrite narration rather than speeding it up.
- 60 s: Keep the full relay and add a new verified result inside beats 3–6, rather than stretching the fixed hook or end-card hold.
The creator's signature (don't copy): its brand mark, warm ribbed opening, glossy abstract characters, exact palette sequence, card copy, and signature phrasing. The transferable format (do copy): narrated work relay, staged negative space, floating truthful task states, dark breadth reset, and a restrained graphic close.
Source: https://x.com/perplexity_ai/status/2118389326459670825 · measured with dissect 1.1 and timeline v2 on 2026-11-06 · (measured) = read off the film · (inferred) = construction reading
For agents: Aspect conversions · Length cuts
The measured data and build specs agents work from. Over MCP they get it all, with the full timeline as JSON.
Aspect conversions (computed from the measured boxes)
Aspect conversions (computed from the measured boxes): a centre crop of the reference frame, checked against its text boxes and moving elements.
| to | deliver at | a centre crop keeps | measured boxes kept | boxes a crop loses | phone minimum | so |
|---|---|---|---|---|---|---|
| 9:16 | 1080×1920 | middle 31.6% of the width (cut 34.2% each side) | 18 of 94 | "Introducing", "teammates", "Create teammate", "Name or role" … | 22 px cap | re-lay out: a crop loses too much |
| 1:1 | 1080×1080 | middle 56.2% of the width (cut 21.9% each side) | 50 of 94 | "Store manager teammate", "Hi Kelly, I'm set…", "keep stock and reorders…", "listings, answer custom…" … | 22 px cap | re-lay out: a crop loses too much |
Length cuts (computed from the scales flags)
Length cuts (computed from the scales flags): frames per shot at 30 fps; fixed shots keep their length, optional shots go first when the cut is shorter, the scaling shots share what is left. Snap each cut to the nearest beat when plate 8 has a steady pulse.
| # | flag | reference (f @30) | 15 s cut | 30 s cut | 60 s cut |
|---|---|---|---|---|---|
| 1 | scales | 508 | 156 | 448 | 508 |
| 2 | scales | 276 | 85 | 243 | 276 |
| 3 | optional | 191 | drop | drop | 191 |
| 4 | optional | 314 | drop | drop | 314 |
| 5 | optional | 273 | drop | drop | 273 |
| 6 | optional | 358 | drop | drop | drop |
| 7 | fixed | 209 | 209 | 209 | 209 |
| total | 2129 f · 71.0 s | 450 f · 15.0 s | 900 f · 30.0 s | 1771 f · 59.0 s |
15 s: scaling shots shrink to ×0.31, too fast: drop a beat instead.
Recipe
One prompt that makes a film like this with Claude. Use the method; make the footage, words and brand your own.
Make a 71 s 16:9 film for {{PRODUCT}} in the format of 2118389326459670825 (color-coded work relay). Brand: font {{BRAND_FONT}}, background {{BRAND_BG}}, accents {{BRAND_ACCENTS}}, logo {{LOGO}}, call to action {{CTA_URL}}. Feature: {{FEATURE}}. Load get_blueprint("2118389326459670825", format: "json") first; build to its shot frames, camera numbers, type boxes, internal changes and cue grid. Narrate about 97 original words at roughly 149 wpm while speaking: name the job in shot 1, pass work in shot 2, show context in shot 3, breadth in shot 4, feedback in shot 5, colleague autonomy in shot 6, and a short benefit in shot 7. Let phrases drive cuts; leave gaps for UI cards and skip word-by-word captions. Shoot five 4K worker tableaux ; record narration, then composite truthful task cards, abstract graphics and original synthesized music in Remotion. Minimum fallback: Remotion with supplied footage and CSS graphics. Build the opening title push to the f96 hard cut, measured shot 2 lateral entry and shot 7 dip. Essential type reaches 38 px cap at 1080p; use brand colors by role. Keep the loose 136 BPM pulse secondary; hit picture cue frames and master near −14 LUFS, peak ≤−1 dBTP. Export 1920×1080, 30 fps H.264 MP4. End with {{LOGO}} plus {{CTA_URL}} as text. Use real {{PRODUCT}} captures or UI rebuilt in code; never generated UI, fake screenshots or results. Never copy reference colors, fonts, logo, mascot, slogans or music.Films like this
Tagged live actionproduct launchcinematic live actionspatial uiagent workflowcolor-coded setsb2b saasnarrated

