A family trip planned through personal finance
A cinematic product launch turns a family travel wish into a data-backed budget plan through quiet chat and UI reveals.
By @claudeai for ClaudeSource onlineOriginal post ↗
Copies get_blueprint("REF-5321") for Claude. Connect Claude
Why it works
The complete wish and constraint appear by 2.75 s over a destination reveal, creating a question the UI must answer. Shot 2 gives 40.04 s to concrete account and cost evidence, while the 3.50 s tactile insert at f1189 resets attention before the calendar and destination payoff.
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 personal wish appears over a place, then a plain question opens a product demonstration. Real-looking evidence earns a plan; a tactile interruption and a destination image make the result felt.
Why it works
- The complete question appears by 2.75 s while the destination enters the frame.
- The 40.04 s second shot earns the answer through account, spending and fee cards, with an internal reframe at f976.
- The 3.50 s sensory shot at f1189 resets attention before the scenario and lodging result.
Plate 02
Format card
| Platform · aspect · length | X · 16:9 · 91.18 s · source 1280×720 · 24 fps |
| Pace | 5 measured shots, 4 hard cuts, 12.54 s median shot |
| Script | Picture-led; wordless apart from on-screen dialogue and UI. Cuts follow visual questions and answers, not the beat. |
| Voice | None; customer and assistant exist as text. |
| On screen | Destination footage, composed UI, tactile insert, scenario UI, end card. |
| Type | 39–58 px cap for dialogue/headings; 106 px cap logo; type and fades on ones. |
| Sound | Tonal rhythmic bed, measured 109.96 BPM; cues support reveals; reference −15.8 LUFS. |
| Structure | 7 beats across 5 shots; practical payoff in shot 4, brand close in shot 5. |
Tools you'll need: a camera shoot · Remotion for motion graphics · a licensed or generated music track · Claude alone: partly
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.00–0.25 | Open sky | First bubble begins | Bed; no voice | Creates clean reading space. |
| 0.25–1.75 | Sky, roofline gradually entering | Wish types into first bubble | Music carries movement | Makes the ambition personal. |
| 2.00–2.75 | Dome grows below bubbles | Second message adds timing and constraint | No spoken line | Opens the problem the demo answers. |
Hook formula (inferred): a place-led question: {{PRODUCT}}, can {{GOAL}} work with {{CONSTRAINT}}?
Why it holds (inferred): The image gives the wish a physical destination while the second bubble withholds the answer. The sheet shows the bubble building in place rather than a succession of cuts.
Plate 04
Structure (beat sheet)
| # | Time (s) | Shots | Beat | What happens | Technique |
|---|---|---|---|---|---|
| 1 | 0–9.50 | 1 | Wish and constraint | Destination appears under two chat turns and a reply. | Open sky, typed bubbles, downward reveal. |
| 2 | 9.50–25 | 2 | Access and question | Permission screen leads to a plain-language ask. | Pale field, minimal controls, whitespace. |
| 3 | 25–49.54 | 2 | Proof and insight | Cards reveal accounts, spending, payment and fees. | Exact figures and visualized categories. |
| 4 | 49.54–53.04 | 3 | Sensory re-hook | A small pleasure connects the plan to lived experience. | Warm close-up and large bubble. |
| 5 | 53.04–66 | 4 | Scenario | A follow-up becomes a dated budget/calendar answer. | Text request, response, then visual plan. |
| 6 | 66–78.62 | 4 | Practical completion | Shortlist resolves into destination footage. | UI result followed by courtyard image. |
| 7 | 78.62–91.18 | 5 | Signoff | Benefit line, playful extra ask and logo. | Symbol build, spacious card, hard stop. |
Retention map (inferred): new questions around 23, 41, 55 and 67 s; sensory re-hook at 49.54 s; plan payoff around 64 s; brand close from 78.62 s. The reference has no explicit CTA.
At a glance
- Shots: 5 shots · 4 transitions · 91.18 s = 2188 frames at 24 fps · shot length median 12.54 s (shortest 3.50, longest 40.04)
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)
5 shots · 4 transitions · 91.18 s = 2188 frames at 24 fps · shot length median 12.54 s (shortest 3.50, longest 40.04). Frames are at 24 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 @24 (first–last · count) | dur (s) | transition in | changes inside | scales (inferred) |
|---|---|---|---|---|---|---|
| 1 | 0.00–9.50 | 0–227 · 228 f | 9.50 | start | – | scales |
| 2 | 9.50–49.54 | 228–1188 · 961 f | 40.04 | cut | f976 reframe | scales |
| 3 | 49.54–53.04 | 1189–1272 · 84 f | 3.50 | cut | – | optional |
| 4 | 53.04–78.62 | 1273–1886 · 614 f | 25.58 | cut | – | scales |
| 5 | 78.62–91.17 | 1887–2187 · 301 f | 12.54 | cut | f1916 unknown over 6 f | scales |
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: 1 hidden cuts / dips / reframes found inside v1 shots (luma-normalised frame difference): S2 reframe at 40.667 s (f976); listed in shots[].internal_changes · S2: 221 text items read; the 40 largest are kept · S4: 70 text items read; the 40 largest are kept · cue sheet keeps 91 of 275 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>), 4 pages · close-up strips, 14 frames around each cut and change: f228 cut, f976 reframe, f1189 cut, f1273 cut, f1887 cut, f1916 unknown (sheet "transitions", 2 pages; labels S<n> m:ss.sss f<frame>): call get_frames('2118403114890137895'), or see them on the film page (Pro, or free films).
Plate 05
Shot grammar
Mix (inferred): designed UI dominates running time; three footage passages provide aspiration, texture and arrival.
Rhythm: Four measured cuts separate the five visual worlds. Shot 2 holds as one measured shot while screens and cards change within it.
Rules this editor follows (inferred):
- Reserve empty space before each important question so the next line has a clear entrance.
- Keep numeric evidence on a still surface while the surrounding interface changes.
- Use the sensory insert as a short punctuation mark, not an extra explanation.
At a glance
- Biggest moves: shot 2: complex over 40.04 s, irregular · shot 4: tilt down, content −170.6% of height over 25.58 s, irregular · shot 1: complex over 9.50 s, ease-out.
- Transitions: 4 transitions: 4 cuts
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 1 of 5 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 | complex (shake 1.4%/s) ² | −0.3 · −5.7 | ×0.946 | x −2.5% (−48 px) · y −53.7% (−580 px) · ×0.59 scale | ease-out | ▆▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁ · 102%/s | ones | 0.24 | 0.11 | 0.59 |
| ↳ 0.08–0.42 s: pull out | +0.0 · −0.7 | ×0.231 | ×0.61 scale | ease-out | ||||||
| ↳ 1.17–1.50 s: pan right | −7.0 · −1.6 | ×1.000 | x −2.4% (−45 px) · y −0.6% (−6 px) | ease-out | ||||||
| ↳ 1.50–2.17 s: static | +0.0 · +0.0 | ×1.000 | none | hold | ||||||
| ↳ 2.17–2.92 s: tilt down | +0.0 · −16.4 | ×0.986 | y −12.3% (−133 px) · ×0.99 scale · roll −0.8° | ease-in-out | ||||||
| ↳ 2.92–3.33 s: static | +0.0 · +0.0 | ×1.000 | none | hold | ||||||
| ↳ 3.33–7.25 s: tilt down | +0.1 · −10.2 | ×0.995 | y −40.1% (−433 px) · ×0.98 scale | ease-out | ||||||
| 2 | complex (shake 8.2%/s) | −2.8 · −7.4 | ×0.936 | x −112.1% (−2153 px) · y −296.9% (−3207 px) · ×0.07 scale · roll +0.7° · jump at f976: ×0.61, x +29.4%, y −19.2% | irregular | ▁▁▁▁▁▁▁▃▂▁▁▁▁▁▁▁ · 163%/s | ones | 0.13 | 0.06 | 0.74 |
| ↳ 9.67–10.75 s: pull out | −0.9 · −0.5 | ×0.588 | x −0.9% (−18 px) · y −0.5% (−5 px) · ×0.56 scale | ease-out | ||||||
| ↳ 10.75–12.08 s: pull out | −0.1 · −0.1 | ×0.985 | ×0.98 scale | linear | ||||||
| ↳ 12.08–12.67 s: tilt down | −0.2 · −75.7 | ×0.996 | y −44.2% (−477 px) · roll +1.2° | ease-in | ||||||
| ↳ 13.08–14.92 s: static | +0.0 · +0.0 | ×1.000 | none | hold | ||||||
| ↳ 14.92–15.75 s: tilt up | +0.0 · +30.3 | ×1.007 | y +25.3% (+273 px) | ease-out | ||||||
| ↳ 15.75–18.08 s: static | +0.0 · +0.0 | ×1.000 | none | hold | ||||||
| 3 | pan right (shake 2.6%/s) | −13.6 · +0.4 | ×0.984 | x −47.4% (−911 px) · y +1.3% (+14 px) · ×0.95 scale · roll −0.8° | irregular | ▁▁▅▅▁▁▃ · 62%/s | ones | 0.80 | 0.75 | 0.87 |
| ↳ 49.54–49.88 s: pan right | −3.5 · −2.6 | ×0.982 | x −1.2% (−22 px) · y −0.9% (−9 px) | linear | ||||||
| ↳ 49.88–50.46 s: complex | −3.2 · +7.0 | ×0.984 | x −1.9% (−36 px) · y +4.1% (+44 px) | linear | ||||||
| ↳ 50.46–52.96 s: pan right | −17.8 · −0.8 | ×0.984 | x −44.4% (−853 px) · y −1.9% (−21 px) · ×0.96 scale · roll −0.9° | ease-out | ||||||
| 4 | tilt down (shake 4.1%/s) | −1.2 · −6.7 | ×1.012 | x −30.4% (−583 px) · y −170.6% (−1842 px) · ×1.35 scale | irregular | ▁▁▁▁▁▁▁▁▁▁▁▂▃▁▁▁ · 116%/s | ones | 0.07 | 0.07 | 0.97 |
| ↳ 53.29–53.71 s: complex | −2.5 · +0.0 | ×0.914 | x −1.0% (−20 px) · ×0.96 scale | ease-out | ||||||
| ↳ 53.71–54.71 s: static | +0.0 · +0.0 | ×1.000 | none | hold | ||||||
| ↳ 54.71–55.46 s: tilt down | +0.0 · −19.6 | ×0.999 | y −14.7% (−159 px) | ease-in-out | ||||||
| ↳ 55.46–60.62 s: static | +0.0 · +0.0 | ×1.000 | none | hold | ||||||
| ↳ 60.62–61.88 s: tilt down | +0.0 · −61.0 | ×1.001 | y −76.2% (−823 px) | irregular | ||||||
| ↳ 61.88–65.29 s: static | +0.0 · +0.0 | ×1.000 | none | hold | ||||||
| 5 | static · element moves ↓ | +0.0 · +0.0 | ×1.000 | none | hold | ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ | ones | 0.80 | 0.02 | 0.80 |
² Shots 1: a second layer moves differently (elements over a background); the numbers follow the dominant layer.
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 |
|---|---|---|---|---|---|---|---|---|---|
| 5 | 54 · 24 · 13 · 22 → 37 · 46 · 26 · 8 | slide up | +4.1 · −20.0 | ×0.964 | x +17.2% (+331 px) · y −83.4% (−901 px) · ×0.86 scale · roll +19.7° in 4.2 s | irregular | ▄▃▁▁▁▂▁▁▁▄▁▁▁▁▁▁ · 77%/s | 0.33 | 0.72 |
| ↳ 78.71–78.96 s: static | +0.0 · +0.0 | ×1.000 | none | hold | |||||
| ↳ 78.96–79.38 s: complex | +31.6 · −62.3 | ×0.730 | x +13.2% (+253 px) · y −25.9% (−280 px) · ×0.88 scale · roll +15.6° | irregular | |||||
| ↳ 79.38–79.79 s: complex | +10.5 · −23.3 | ×0.874 | x +4.4% (+84 px) · y −9.7% (−105 px) · ×0.95 scale · roll +6.1° | linear | |||||
| ↳ 79.96–80.04 s: static | +0.0 · +0.0 | ×1.000 | none | hold | |||||
| ↳ 80.12–80.38 s: static | +0.0 · +0.0 | ×1.000 | none | hold | |||||
| ↳ 80.38–82.46 s: static | +0.0 · +0.0 | ×1.000 | none | hold |
Focus (measured): shot 1: sharp inside 0 · 0 · 100 · 100, no defocus (deep focus) · shot 2 9.50–40.67 s: sharp inside 0 · 0 · 100 · 100, no defocus (deep focus) · shot 2 40.67–49.54 s: sharp inside 0 · 0 · 100 · 86, 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 78.62–79.83 s: sharp inside 33 · 0 · 67 · 100, no defocus (deep focus) · shot 5 80.08–91.17 s: sharp inside 8 · 0 · 83 · 71, 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 2: complex over 40.04 s, irregular · shot 4: tilt down, content −170.6% of height over 25.58 s, irregular · shot 1: complex over 9.50 s, ease-out. Locked-off shots: 1 of 5. Animation cadence: a new picture every frame (on ones): 22.7 unique frames per second of 24 while things move (held-frame share 0.05, 919 moving frames). Match it, or the motion will feel smoother or choppier than the reference.
Transitions (measured)
4 transitions: 4 cuts. Frames are at 24 fps; a transition of n frames lasts n ÷ 24 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 @24 | type | length | conf |
|---|---|---|---|---|---|
| 2 | 9.50 | 228 | cut | 0 f | 1.00 |
| 3 | 49.54 | 1189 | cut | 0 f | 1.00 |
| 4 | 53.04 | 1273 | cut | 0 f | 0.73 |
| 5 | 78.62 | 1887 | cut | 0 f | 1.00 |
Changes inside shots (the picture changes without a cut: a reframe, a hand-off behind black, a mask):
| shot | at (s) | frame @24 | change |
|---|---|---|---|
| 2 | 40.67 | 976 | reframe: jump x0.64 |
| 5 | 79.83 | 1916 | unknown over 6 f: 6-frame gradual change between two pictures (dissolve-like blend: fade, dissolve or blur) that v1 did not split on |
What each shot shows (inferred from the sheets)
| # | Type | Framing | What's on screen | Text / overlay |
|---|---|---|---|---|
| 1 | Footage plus chat | Wide skyline, dome lower/right | Destination reveal | Two stacked pale bubbles and response |
| 2 | Interface | Full pale field, cards and cropped panels | Permission, analysis, figures | Product questions and answers |
| 3 | Live action | Tight food counter | Hand and scoops | One large playful bubble |
| 4 | Interface to footage | Pale UI then full courtyard | Calendar, shortlist, destination | Follow-up, result, acknowledgment |
| 5 | Brand card | Centered on pale field | Multi-colour symbol then wordmark | Benefit, extra ask, {{LOGO}} |
Plate 06
Visual style guide
- Look (inferred): airy high-luma UI contrasted with cooler destination footage and a warm tactile insert. The reference uses pale ivory, dark ink and small multi-colour accents; map those roles to
{{BRAND_BG}}and{{BRAND_ACCENTS}}. - Graphics and overlays (inferred): light rounded chat pills, floating cards, restrained bars and a calendar with crisp numbers.
- Transitions: four hard cuts at plate 5's boundaries; the reframe and end-card blend stay inside shots.
- Branding and end card (inferred): own
{{LOGO}}on{{BRAND_BG}}; add{{CTA_URL}}as text in the new film. The reference ends without a fade to black.
Grade and shoot card (inferred)
Shoot one wide destination reveal, one tight tactile preparation clip, and one wide arrival location. Shoot 4K for the shot 1 downward move and shot 3's measured rightward traverse. Wide footage: 28–35 mm lens, camera at 1.5–1.7 m, level to slight downward tilt, deep focus at f/8, daylight around 6000–6800 K, soft sun key with open-sky fill. Tactile insert: 50–70 mm at counter height, 10–20° downward, f/4–5.6, warm practical key around 5000–6000 K and bounce fill. Grade wide clips with gentle contrast, restrained saturation and lifted shadows; keep food highlights controlled and richer reds. Record clean ambient room tone and one close tactile sound pass for each location.
For a 2D build at 1080p, approximate the wide deep focus with 0–2 px blur outside the subject focus box, and the tactile shallow focus with 4–8 px blur outside the hand-and-food focus box. Replace area-light direction with a soft 24–40 px glow at 8–12% opacity on the lit side; use a broad vignette at 6–10% opacity to hold attention without dark corners. For UI, use CSS: --brand-bg: {{BRAND_BG}}; --brand-accent: {{BRAND_ACCENTS}}; cards use background: var(--brand-bg), 1 px low-contrast border, 18–26 px radii, box-shadow: 0 8px 32px rgba(0,0,0,.08) at 1080p; pills use 28 px radius. No 3D is needed.
At a glance
- Type scale (cap px): 106 · 39–58 (2 levels) among the text above.
- Phone minimum: cap height ≥ 2% of frame width = 38 px at 1920×1080
- Whole film (time-weighted):
#FAF8F575% ·#513C295% ·#69A4B94% ·#C2CCCC4% ·#9E77533% ·#869C9F2%. - Curve facts: average 0.86 · darkest 0.38 at 74.0 s · brightest 0.98 at 61.5 s · sudden changes at 9.50 s (brighter by 0.53), 49.75 s (darker by 0.42), 53.25 s (brighter by 0.59), 73.00 s (darker by 0.18), 78.75 s (brighter by 0.50).
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 |
|---|---|---|---|---|---|---|---|
| "Hey Claude, we need a family vacation." | 1 | 1.5–9.0 | 41 | 58 | 3.8 | 33 · 18 · 51 · 6 | centre, top |
| "We're thinking a week in Rome this spring." | 1 | 2.5–9.0 | 41 | 58 | 3.8 | 29 · 35 · 55 · 6 | centre, upper |
| "How are our finances looking??" | 1 | 2.5–9.0 | 41 | 58 | 3.8 | 29 · 42 · 41 · 6 | centre, middle |
| "Personal Finance" | 2 | 10.5–12.5 | 53 | 75 | 4.9 | 34 · 50 · 32 · 6 | centre, middle |
| "Connect your accounts." | 2 | 13.0–15.0 | 55 | 77 | 5.1 | 28 · 31 · 44 · 8 | centre, upper |
| "Share only the ones you want." | 2 | 13.0–15.0 | 55 | 77 | 5.1 | 23 · 39 · 54 · 8 | centre, middle |
| "Select accounts" | 2 | 15.5–18.0 | 58 | 82 | 5.4 | 28 · 9 · 24 · 6 | centre, top |
| "So... where is our money going every month?" | 2 | 31.5–35.0 | 42 | 59 | 3.9 | 35 · 40 · 59 · 6 | right, middle |
| "Your fixed costs ($4,089) are steady." | 2 | 35.5–39.0 | 53 | 75 | 4.9 | 5 · 14 · 49 · 8 | left, top |
| "The flexible side ($2,261) is where you have…" | 2 | 36.0–39.0 | 47 | 66 | 4.4 | 6 · 22 · 65 · 7 | centre, upper |
| "Anything else stand out?" | 2 | 40.0–44.0 | 39 | 55 | 3.6 | 61 · 31 · 33 · 6 | right, upper |
| "does that cover 10 days instead of 7?" | 4 | 55.5–60.5 | 42 | 59 | 3.9 | 37 · 25 · 49 · 6 | centre, upper |
| "If we put the car payment toward the…" | 4 | 55.5–60.5 | 39 | 55 | 3.6 | 37 · 19 · 56 · 6 | right, top |
| "can't break anything." | 4 | 66.5–72.5 | 39 | 55 | 3.6 | 43 · 37 · 28 · 6 | centre, upper |
| "Can you also find a few hotels that…" | 4 | 66.5–71.5 | 42 | 59 | 3.9 | 43 · 24 · 50 · 6 | right, upper |
| "Personal finance" | 5 | 80.0–82.5 | 56 | 79 | 5.2 | 34 · 52 · 32 · 6 | centre, middle |
| "is now personal" | 5 | 80.0–82.5 | 55 | 77 | 5.1 | 34 · 60 · 31 · 8 | centre, lower third |
| "* Claude" | 5 | 87.0–91.0 | 106 | 149 | 9.8 | 37 · 44 · 28 · 11 | centre, middle |
Plus 39 smaller or briefer text items, cap 17–74 px, mostly labels inside interfaces: all in the timeline JSON.
Type scale (cap px): 106 · 39–58 (2 levels) among the text above.
Left out: 6 reads that are not clean words or were seen in a single frame ("till", "Picturing", "$3,022"…): 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: 18 of the smaller items. Size these up in your version, or treat them as decoration.
Type spec (inferred)
Assume cap height is 0.71× CSS font size; check the actual cap-height of {{BRAND_FONT}}. Libre Baskerville for editorial text and Inter for UI are free fallbacks only. Motion is a construction recommendation based on the sheets, rendered on ones.
| Level | Cap px at 1080p | Font size | Weight · case · tracking | Colour pair | Motion |
|---|---|---|---|---|---|
| Dialogue and headings | 39–58, with readable words ≥38 | 55–82 px | 400–500 · sentence case · −0.01em | text ink on {{BRAND_BG}} or light surface | 6–12 f type/fade, cubic-bezier(.22,1,.36,1); preserve full reading hold |
| Wordmark | 106 | 149 px | 500–600 · name case · −0.025em | {{LOGO}} over {{BRAND_BG}} | 6 f opacity ease-out after symbol build |
Smaller labels in {{PROOF_UI}} are decorative unless enlarged to ≥38 px cap.
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.55 · 0.82 | #69A4B9 41% · #869C9F 19% · #34302F 15% · #C2CCCC 14% · #725D55 12% | #D2DAD8 ≈6750 K 63% · #CEDBDE ≈7150 K 33% |
| 2 | 0.96 · 0.99 | #FAF8F5 96% · #C2BFBC 3% · #343331 1% · #DD7D69 0% · #4CBF67 0% | #FBF9F5 ≈6290 K 58% · #FFFFFF ≈6500 K 42% |
| 3 | 0.49 · 0.95 | #E3DBCF 30% · #2F231E 21% · #675447 19% · #AE9684 17% · #903E38 13% | #FFFEFE ≈6480 K 59% · #FBF9F4 ≈6230 K 26% · #F7F3E8 ≈5960 K 15% |
| 4 | 0.83 · 0.94 | #F9F8F4 70% · #9E7753 11% · #513C29 9% · #366ECA 6% · #BEBEB6 5% | #FBF9F6 ≈6350 K 93% |
| 5 | 0.96 · 0.97 | #F9F8F5 96% · #BAB6B5 2% · #3E73CC 1% · #30B780 0% · #ECA133 0% | #FBF9F5 ≈6290 K 54% · #F8F8F6 ≈6430 K 46% |
Whole film (time-weighted): #FAF8F5 75% · #513C29 5% · #69A4B9 4% · #C2CCCC 4% · #9E7753 3% · #869C9F 2%.
Brightness curve (measured)
Mean luma per 1 s, one character each, grouped in tens; p95 = the bright highlights. Scale: ▁ = 0 (black) → █ = 1.0 (white); luma runs 0–1.
0s 10s 20s 30s 40s 50s 60s 70s 80s 90s
mean ▅▅▆▆▅▅▄▄▄▆ ██████████ ██████████ ██████████ █████████▇ ▅▄▄▇██████ ██████████ ██▇▄▄▄▄▄▅█ ██████████ ██
p95 ▆▇▇▇▇▇▇▇▇█ ██████████ ██████████ ██████████ ██████████ ██████████ ██████████ ███▆▆▇▇▇▇█ ██████████ ██
Curve facts: average 0.86 · darkest 0.38 at 74.0 s · brightest 0.98 at 61.5 s · sudden changes at 9.50 s (brighter by 0.53), 49.75 s (darker by 0.42), 53.25 s (brighter by 0.59), 73.00 s (darker by 0.18), 78.75 s (brighter by 0.50).
Layout boxes (inferred)
| Element | Shots | Box x · y · w · h (%) | Source · confidence | Notes |
|---|---|---|---|---|
| First wish | 1 | 33 · 18 · 51 · 6 | measured text box · high | Keep over uncluttered footage. |
| Constraint line | 1 | 29 · 35 · 55 · 6 | measured text box · high | Second bubble can wrap. |
| Connection headline | 2 | 28 · 31 · 44 · 8 | measured text box · high | Centered pale field. |
| Proof insight | 2 | 5 · 14 · 49 · 8 | measured text box · high | Left-align with card below. |
| Follow-up request | 4 | 37 · 19 · 56 · 6 | measured text box · high | Upper right. |
| Benefit line | 5 | 34 · 52 · 32 · 6 | measured text box · high | {{CTA_URL}} sits below in adaptation. |
| End wordmark | 5 | 37 · 44 · 28 · 11 | measured text box · high | Replace with {{LOGO}}. |
End card (inferred): {{BRAND_BG}}, {{LOGO}} in the measured wordmark box, {{CTA_URL}} below at ≥38 px cap. Keep the shot 5 length from plate 4; the new CTA is an adaptation, not a reference element.
Plate 07
Voice and delivery
Measured: No sustained speech; a single uncertain short sound at 23 s does not establish a voice track.
Voice direction (inferred): No narrator. Write the customer as a hopeful planner and the assistant as calm and precise. The timing is for reading, not spoken delivery.
Plate 08
Sound design
- Music (inferred): soft tonal pulse under the opening, fuller low end under the evidence, warm lift for sensory and arrival images, then a sparse brand resolution.
- Sound effects (inferred): use small UI taps only where the cue sheet coincides with a visible reveal; do not force effects on all cuts.
- Silence and space (inferred): leave text turns clear; measured energy breaks during the courtyard portion before the close.
At a glance
- Tempo: 109.96 BPM, confidence 0.82 · first downbeat 0.139 s (bar start confidence 0.10, uncertain) · beat 0.5457 s · bar of 4 = 2.183 s.
- Key: A minor (confidence 0.90; runner-up A major).
- Loudness of the reference (measured): −15.8 LUFS integrated, true peak −1.4 dBTP, range 6.4 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)
Tempo: 109.96 BPM, confidence 0.82 · first downbeat 0.139 s (bar start confidence 0.10, uncertain) · beat 0.5457 s · bar of 4 = 2.183 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 | |
|---|---|---|---|---|
| 24 fps (this film) | 13.10 f | 52.39 f | 3 | 3 · 60 · 113 · 167 · 221 · 273 · 325 · 377 … |
| 30 fps | 16.37 f | 65.48 f | 4 | 4 · 75 · 142 · 209 · 276 · 341 · 406 · 472 … |
| 60 fps | 32.74 f | 130.97 f | 8 | 8 · 150 · 283 · 417 · 552 · 681 · 813 · 943 … |
Beats in seconds: 0.139 · 0.755 · 1.295 · 1.910 · 2.502 · 3.071 · 3.558 · 4.139 · 4.719 · 5.213 · 5.828 · 6.415 … (160 in all, audio.tempo.beats in the timeline JSON).
Cuts on the beat: 1 of 4 land within ±1.5 frames of a beat; chance alone would give about 0.9, so the edit does not follow the beat.
Key: A minor (confidence 0.90; runner-up A major).
Sections (by energy of the whole mix):
| section | time (s) | shots | level (RMS) |
|---|---|---|---|
| intro | 0.0–10.0 | 1–2 | −21 dB |
| build | 10.0–18.0 | 2 | −22 dB |
| drop | 18.0–39.0 | 2 | −14 dB |
| steady | 39.0–47.0 | 2 | −14 dB |
| steady | 47.0–72.5 | 2–4 | −14 dB |
| break | 72.5–77.0 | 4 | −23 dB |
| drop | 77.0–88.0 | 4–5 | −14 dB |
| outro | 88.0–91.2 | 5 | −26 dB |
Energy map (RMS per 1 s, ▁ = −68 dB → █ = −13 dB):
▇▆▇▇▇▇███▇ ▇▇▇▇▇▇▇▇██ ██████████ ██████████ ██████████ ██████████ ██████████ ███▇▆▆▅███ ████████▇▆ ▃▁
Cue sheet (91 cues: 1 at a cut, 60 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 @24 | shot | kind | strength | on screen (±3 f) | on beat |
|---|---|---|---|---|---|---|
| 18.16 | 436 | 2 | hit | 1.00 | camera pull out starts (shot 2) | ✓ |
| 19.81 | 475 | 2 | hit | 1.00 | camera push in starts (shot 2) | ✓ |
| 21.99 | 528 | 2 | hit | 1.00 | no visible event | ✓ |
| 24.17 | 580 | 2 | hit | 1.00 | no visible event | ✓ |
| 28.54 | 685 | 2 | hit | 1.00 | camera pan right starts (shot 2) | ✓ |
| 31.81 | 763 | 2 | hit | 1.00 | "So... where is our…" appears | ✓ |
| 32.34 | 776 | 2 | impact | 1.00 | no visible event | ✓ |
| 33.44 | 802 | 2 | hit | 1.00 | no visible event | ✓ |
| 33.99 | 816 | 2 | hit | 1.00 | no visible event | ✓ |
| 34.53 | 829 | 2 | hit | 1.00 | "Here's the first place…" appears | ✓ |
| 36.15 | 868 | 2 | hit | 1.00 | "The flexible side ($2,261)…" appears | ✓ |
| 36.71 | 881 | 2 | hit | 1.00 | no visible event | ✓ |
| 38.34 | 920 | 2 | hit | 1.00 | "$2,261" appears | ✓ |
| 38.62 | 927 | 2 | tonal | 1.00 | "$2,261" appears | |
| 38.89 | 933 | 2 | hit | 1.00 | camera tilt down starts (shot 2) | ✓ |
| 41.08 | 986 | 2 | hit | 1.00 | no visible event | ✓ |
| 42.17 | 1012 | 2 | click | 1.00 | camera tilt down starts (shot 2) | ✓ |
| 43.26 | 1038 | 2 | hit | 1.00 | "It looks like you're…" appears | ✓ |
| 45.44 | 1091 | 2 | hit | 1.00 | no visible event | ✓ |
| 47.62 | 1143 | 2 | hit | 1.00 | "and fees this year." appears | ✓ |
| 53.63 | 1287 | 4 | unknown | 1.00 | "Play out scenarios" appears | ✓ |
| 54.17 | 1300 | 4 | hit | 1.00 | no visible event | ✓ |
| 58.54 | 1405 | 4 | hit | 1.00 | "You got it. Here's…" appears | ✓ |
| 59.07 | 1418 | 4 | hit | 1.00 | "(gelato allowance include…" appears | ✓ |
Loudness of the reference (measured): −15.8 LUFS integrated, true peak −1.4 dBTP, range 6.4 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 at 109.96 BPM in A minor, using felt piano, muted bass, soft pulse and airy pads. Shots 1–2 start spare, expand through the proof cards, shot 3 adds a brief warmer plucked texture, shot 4 supports the plan then thins under the courtyard, and shot 5 resolves to a short chord tail. Anchor accents to f436 and f475 for the proof build, f763 and f868 for textual findings, f1287 for the scenario title, and f1405/f1418 for answer lines. Use the tracked beat times in plate 8 because the pulse drifts; the cuts themselves are picture-led. Music-model prompt: “Original restrained A-minor 110 BPM instrumental, felt keys, soft bass and airy pads, warm lift on tactile footage, sparse end-card resolution, no vocals.”
Plate 09
Packaging
- Title (inferred):
Introducing {{FEATURE}} in {{PRODUCT}}. - Cover / thumbnail (inferred): one editorial title centered on
{{BRAND_BG}}, with cropped authentic{{PROOF_UI}}cards around it. - Post copy (inferred): one verified capability, the customer benefit and
{{CTA_URL}}; state actual data permissions if relevant. - Audience signals: 5,735,693 views at capture; no replay or comment analysis supplied.
Plate 10
Script template
[beat 1 · shot 1 · on-screen] {{PRODUCT}}, we want {{GOAL}}. Can it work with {{CONSTRAINT}}?
[beat 2 · shot 2 · on-screen] Connect only the information needed. What can we really afford?
[beat 3 · shot 2 · on-screen] {{PROOF_UI}}: show reconciled source figures, then one specific answer.
[beat 4 · shot 3 · on-screen] And room for {{PLEASURE}}?
[beat 5 · shot 4 · on-screen] If one cost changes, how does the plan change? Show a dated result.
[beat 6 · shot 4 · on-screen] Find a practical option in {{SETTING}} within the same constraint.
[beat 7 · shot 5 · on-screen] One human benefit. One playful next question. {{LOGO}} · {{CTA_URL}}.
Reading rule (inferred): No spoken word budget. Keep each customer bubble to one or two lines, at ≥38 px cap; show one calculation per screen and keep figures consistent across the cards and plan.
Plate 11
Production plan
Two routes (inferred)
Minimum: Remotion. Code the chat, cards, calendar, symbol and original synthesized music in one stack, and edit the user-supplied footage into the same composition. Simplify the moving UI to flat panels and the destination moves to crop transforms; give up the tactile nuance of a dedicated shoot and some depth in the scenic footage. Footage and any real screen captures are user inputs, so Claude alone cannot supply the complete film.
Full: a camera shoot → Remotion → audio mix. Shoot the three 4K clips in plate 6 and provide authentic {{PROOF_UI}} captures or data. Pass graded 3840×2160 clips and verified UI assets to Remotion; pass camera and panel keyframes as JSON at 24 fps, render 1920×1080 PNG sequences with alpha for overlays, then combine them with an original WAV music stem and click track at the tracked cue frames. Export 1920×1080 H.264 MP4, 24 fps.
Asset honesty: Use real {{PRODUCT}} captures or rebuild its actual UI in code. Never generate product UI, fake screenshots, fake results or invented account data. Reconcile every displayed balance, cost and plan outcome in this film.
Plate 12
Prompts
Script prompt
Write seven on-screen beats for {{PRODUCT}} and {{FEATURE}} using the beat IDs in plate 4. Make {{GOAL}} desirable and {{CONSTRAINT}} concrete. Build a verified result from {{PROOF_UI}} with figures that reconcile. Use original copy, one or two lines per bubble, no narration, and end with {{LOGO}} plus {{CTA_URL}} as text.
Footage brief
Shoot an original wide {{SETTING}} opening with clean upper-frame overlay space, a close tactile {{PLEASURE}} action, and a wide arrival view. Use the shot 1, 3 and 4 framing in plate 5. No readable third-party marks.
Music prompt
Original A-minor bed at about 110 BPM, soft piano, restrained bass, airy pads, gentle pulse; brighter tactile accent in shot 3, sparse resolution in shot 5, no vocals.
Plate 13
Edit recipe
How it's built (inferred)
Signature move — wish becomes evidence. In shot 1, place the chat bubbles as screen-space layers above original destination footage. Animate footage scale to the measured ×0.61 during 0.08–0.42 s, then use the measured 2.17–2.92 s and 3.33–7.25 s downward tilts to reveal the destination under the fixed conversation. Drive these transforms with cubic-bezier(.22,1,.36,1), except the first tilt with (.45,0,.55,1). The camera table's total ×0.59 and −53.7% y are dominant-image measurements; the sheet shows bubble typing and skyline reveal, so keep those layers independent. Render on ones at 24 fps; use 180° shutter equivalent motion blur for the footage transform, zero blur on text. Do not bake the bubbles into the moving plate.
Shot 2 handoffs. Build a vertically scrollable UI canvas: permission title and cards recede, then proof cards enter in layers. Use the plate 5 pullout at 9.67–10.75 s (×0.56) and the 12.08–12.67 s downward move (−44.2%) for the opening handoff; the 14.92–15.75 s upward move (+25.3%) exposes the selected accounts. Keep card text sharp. At f976, jump the composition to the next question at measured ×0.61, x +29.4%, y −19.2%; the transition strip shows a sudden reframe and typing begins after it. This is inside shot 2, with no hard cut. The shot 2 whole-shot travel is a composited sequence of UI reframes, not one literal camera sweep.
Shot 3. Shoot the hand and food close-up as continuous action. Match the plate 5 rightward content travel of −47.4% across f1189–1272, with the fastest part in 50.46–52.96 s, ease-out (.22,1,.36,1). The several apparent changes around the moving hand in the sheets are action blur, not measured cuts. Use source shutter blur plus up to 8 px directional blur on the moving background, never on bubble type.
Shot 4. Start on a pale scenario card at f1273. Move the UI canvas down by the measured −14.7% over 54.71–55.46 s, then −76.2% over 60.62–61.88 s as the calendar replaces text. Use a masked scroll viewport with ease-in-out (.45,0,.55,1); retain the source figures and calendar in one coordinate system. Later enlarge the result card into the courtyard plate using a rectangular image mask; the timeline sheet shows a UI-to-footage handoff inside shot 4, not a measured cut. The darkening around f1749 and f1755 belongs to this courtyard passage, before the bright shot 5 cut.
Shot 5. At f1887 cut from courtyard to the pale card. Draw the brand-colour arcs as SVG strokes, on ones. The measured moving region shifts from 54 · 24 · 13 · 22 to 37 · 46 · 26 · 8 and travels +17.2% x, −83.4% y while scaling ×0.86. Treat this as a hint for symbol assembly: the sheet shows a large blue circular wipe resolving into small multicolour arcs. At f1916, blend the two symbol pictures over 6 frames with an opacity/masked dissolve; there is no extra cut. Follow with benefit type, playful bubble and final {{LOGO}} plus {{CTA_URL}}. Keep the final card bright; there is no fade to black.
Build order
- Verify
{{PROOF_UI}}figures and the scenario logic for beats 2–6. - Shoot and grade the three footage passages for shots 1, 3 and 4.
- Build bubbles and UI cards for beats 1–3, 5–6 at 1920×1080; use the measured boxes in plate 6.
- Animate shot 1's independent footage/text layers, then shot 2's scrolling proof canvas and f976 reframe.
- Edit shot 3's continuous action and shot 4's calendar-to-courtyard handoff.
- Draw shot 5's symbol wipe and 6-frame f1916 blend; add the new text CTA.
- Mix original music to the cue sheet and export at 24 fps.
Plate 14
QA checklist
- Measured hard cuts occur at f228, f1189, f1273 and f1887, within ±1 frame.
- f976 is a reframe inside shot 2; f1916 is a six-frame blend inside shot 5.
- The shot 1 move retains the measured ×0.61 opening pullout and the two downward tilt segments in plate 5.
- Every essential on-screen word is ≥38 px cap at 1920×1080; UI decoration can be smaller.
- All displayed source figures reconcile with the dated plan.
- Cue accents land within ±2 frames of the selected plate 8 frames; do not move picture cuts to the beat.
- X master is near −14 LUFS integrated, true peak ≤−1 dBTP.
- Final card has
{{LOGO}}and{{CTA_URL}}as readable text and no fade to black.
Plate 15
Make it yours
Brand slots
| Slot | Replaces in the reference | Notes |
|---|---|---|
{{PRODUCT}} | Assistant/product name | Use your real name. |
{{BRAND_FONT}} | Editorial and UI type pairing | Check actual cap ratio. |
{{BRAND_BG}} | Pale interface field | Own colour role. |
{{BRAND_ACCENTS}} | Multi-colour UI and symbol accents | Own colour system. |
{{LOGO}} | End wordmark and symbol | Use original mark. |
{{CTA_URL}} | No reference in-video CTA | Plain text on new end card. |
{{FEATURE}} | Finance feature | Verified capability. |
{{GOAL}} | Family trip wish | Specific customer ambition. |
{{CONSTRAINT}} | Affordability question | Real limit. |
{{PROOF_UI}} | Account and budget cards | Authentic capture or coded UI. |
{{SETTING}} | Rome and hotel destination | Shoot your own place. |
{{PLEASURE}} | Gelato insert | Small tactile reward. |
What this film avoids (inferred): no voiceover, presenter, feature list, app chrome filling the frame, stock footage, fake financial result, QR code or store badge.
Brand-distance warning (inferred): Pale ivory UI, the same multi-colour ring, Rome, finance chat and a near-identical serif wordmark together would read as the reference. Change the destination and symbol language first.
Adapt the aspect (inferred)
- 9:16: Re-lay out rather than centre-crop: stack bubbles and cards in the middle column, move the destination subject below them, keep essential type ≥22 px cap, and leave top/bottom platform UI safe zones clear.
- 1:1: Re-lay out the side-positioned chat and proof cards into a centred single column; keep essential type ≥22 px cap and leave edge margins for platform controls.
Adapt the length (inferred)
- 15 s: Keep beat 1's question and beats 3, 5 and 7 as compressed proof, plan and signoff; omit optional sensory footage and the lodging extension while retaining the signature wish-to-evidence move.
- 30 s: Keep all core beats and the tactile re-hook, reduce cards in shot 2 and the number of follow-up screens in shot 4.
- 60 s: Add verified proof details and a second scenario within beats 3 and 5; preserve the brief sensory insert and the end-card cadence rather than extending static holds.
The creator's signature (don't copy): reference name, logo, palette, exact travel scenario, slogans, UI, music and claims.
The transferable format (do copy): wish over place → permission → evidence → tactile reset → scenario → lived payoff → quiet brand close.
Source: https://x.com/claudeai/status/2118403114890137895 · measured 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) | 11 of 58 | "Hey Claude, we need…", "We're thinking a week…", "How are our finances…", "Ah, Roma, bellissima 1.…" … | 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) | 24 of 58 | "Hey Claude, we need…", "We're thinking a week…", "Ah, Roma, bellissima 1.…", "what you've got to…" … | 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 24 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 @24) | 15 s cut | 30 s cut | 60 s cut |
|---|---|---|---|---|---|
| 1 | scales | 228 | 39 | 78 | 156 |
| 2 | scales | 961 | 164 | 329 | 658 |
| 3 | optional | 84 | drop | drop | drop |
| 4 | scales | 614 | 105 | 210 | 420 |
| 5 | scales | 301 | 52 | 103 | 206 |
| total | 2188 f · 91.2 s | 360 f · 15.0 s | 720 f · 30.0 s | 1440 f · 60.0 s |
15 s: scaling shots shrink to ×0.17, too fast: drop a beat instead · 30 s: scaling shots shrink to ×0.34, 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 91.18 s, 16:9 wish-to-plan film for {{PRODUCT}} and {{FEATURE}}. Use {{BRAND_FONT}}, {{BRAND_BG}}, {{BRAND_ACCENTS}} and {{LOGO}}; end with {{CTA_URL}} as readable text. Show {{GOAL}} against {{CONSTRAINT}} over original {{SETTING}} footage. Connect only needed data, then show a verified answer through authentic {{PROOF_UI}}. Insert a brief tactile {{PLEASURE}} moment, follow with a dated scenario and practical destination, and close on a human benefit. Keep the opening destination pullout and downward reveal beneath fixed chat layers. Make the film picture-led with no narration. Keep essential dialogue at 39–58 px cap, never below 38 px at 1080p. Use original 4K footage and verified screen captures; animate UI in Remotion. The Minimum route uses the same stack with user-supplied footage, flat panels and crop transforms. Compose original A-minor music near 110 BPM and mix for X near −14 LUFS, true peak ≤−1 dBTP. Export 1920×1080, 24 fps H.264 MP4. Load get_blueprint("2118403114890137895", format: "json") for exact frame timing, camera moves, boxes and sound cues. Reconcile every displayed figure and outcome. Use original branding, copy and music; never invent product results or screenshots.Films like this
Tagged live actionproduct launchfinance appchat uimotion graphicscinematic b-rollstory-driven demosilent-viewable




