INF Floating Token Motion Spot
A 16.5-second product film that turns a floating emblem into a portal, then moves from benefit imagery to a chart and brand card.
By @shapelayer for Sanctum / INFSource onlineOriginal post ↗
Copies get_blueprint("REF-3599") for Claude. Connect Claude
Why it works
The promise is readable by about 1.0 s, while drifting objects give the viewer a visual reason to stay. Continuous boundaries at frames 58 and 71 turn a foreground token into a portal, and the 5 f white transition at frame 84 makes the next shot feel spatially connected. A hard drop into the dark benefit world at frame 127 and a bright return at frame 311 separate claim, proof and identity without sustained narration.
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 short, word-light product film turns a floating emblem into a passage to a dimensional benefit, then a proof surface, then a brand card. Its engine is the same object changing visual jobs: peripheral decoration, foreground portal, product token and final identity.
Why it works
- The central promise is legible at about 1.0 s, while different-size tokens keep the frame alive through shot 1.
- The 9 f and 10 f continuous boundaries into shots 2 and 3 carry the token forward without a hard cut; the 5 f white transition into shot 4 completes the hand-off.
- The dark benefit world starts at frame 127, the proof panel at frame 247 and the bright brand return at frame 311. Those measured changes make the pitch readable with very little speech.
Plate 02
Format card
| Platform · aspect · length | X · 16:9 · source 1280×720; deliver 1920×1080 · 16.51 s · 24 fps |
| Pace | 8 shots, median 2.10 s; two continuous boundaries, one white transition, two hard cuts, two whips |
| Script | Picture-led · four uncertain transcript words in the measured sound grid; short on-screen claims carry meaning; cuts do not follow the beat |
| Voice | None required; any apparent late voice is too uncertain to script |
| On screen | Dimensional tokens and portal → benefit objects → glowing token → proof panel → identity |
| Type | Five measured cap-height levels: 106, 85, 66, 47–53, 16–18 px; make required text at least 38 px |
| Sound | Low-level tonal bed and sparse hits; 86.13 BPM pulse, but cue frames and picture lead; reference −29.4 LUFS |
| Structure | Five beats; proof in shot 7, identity in shot 8 |
Tools you'll need: Blender for 3D · Remotion for motion graphics · a licensed or generated music track · Claude alone: yes
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.75 | Cool luminous field, black iridescent ring tokens at different apparent depths, tiny confetti | Product name becomes a promise | Sparse tonal accents at frames 2, 5, 12 and 18; no dependable voice | States the visual object and starts a text build |
| 1.00–2.25 | Full promise with a pale four-point glint behind it; marginal tokens drift | {{PRODUCT}} + an inclusive promise | Bed continues | Lets the claim read before the camera pulls away |
| 2.42–3.00 | A foreground ring and white slab pass across the words | Claim becomes partly occluded | Cue at frame 59 | Turns the decoration into a physical wipe |
Hook formula (inferred): centered promise + orbiting brand object → let the object cross in front of the promise.
Why it holds (inferred): the viewer can read the claim while the edges remain active. The next view is motivated by an object already on screen.
Plate 04
Structure (beat sheet)
| # | Time (s) | Shots | Beat | What happens | Technique |
|---|---|---|---|---|---|
| 1 | 0.00–2.42 | 1 | Promise | Product statement grows in on a bright open field | Centered type, layered drifting tokens, small glint |
| 2 | 2.42–5.29 | 2–4 | Portal | One token fills the foreground, turns edge-on, then enters a radiant passage | Continuous object hand-off, white flare, tunnel |
| 3 | 5.29–10.29 | 5–6 | Benefit made tangible | Hovering objects and a short benefit line resolve into a single luminous product object | Dark stage, physical reflections, controlled pullback |
| 4 | 10.29–12.96 | 7 | Proof | A tilted panel shows a rising trace with a brief benefit line | Panel scales down; line animation and qualified proof |
| 5 | 12.96–16.50 | 8 | Identity | Bright opening world returns; a mark becomes the wordmark before fading away | Fast whip, scale-out, brand hold, closing fade |
Retention map (inferred): re-hooks at the portal hand-off in shots 2–4 and the dark-world cut into shot 5; proof in shot 7; brand call to action in shot 8; fade out from frame 370.
At a glance
- Shots: 8 shots · 7 transitions · 16.51 s = 396 frames at 24 fps · shot length median 2.10 s (shortest 0.54, longest 3.54)
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)
8 shots · 7 transitions · 16.51 s = 396 frames at 24 fps · shot length median 2.10 s (shortest 0.54, longest 3.54). 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 | scales (inferred) |
|---|---|---|---|---|---|
| 1 | 0.00–2.42 | 0–57 · 58 f | 2.42 | start | fixed |
| 2 | 2.42–2.96 | 58–70 · 13 f | 0.54 | no visible cut (continuous) | fixed |
| 3 | 2.96–3.50 | 71–83 · 13 f | 0.54 | no visible cut (continuous) | fixed |
| 4 | 3.50–5.29 | 84–126 · 43 f | 1.79 | fade from white · 5 f | fixed |
| 5 | 5.29–8.83 | 127–211 · 85 f | 3.54 | cut | scales |
| 6 | 8.83–10.29 | 212–246 · 35 f | 1.46 | cut | optional |
| 7 | 10.29–12.96 | 247–310 · 64 f | 2.67 | whip right · 6 f | scales |
| 8 | 12.96–16.50 | 311–395 · 85 f | 3.54 | whip horizontal · 3 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: S6 start moved from v1 8.750 s (f210) to 8.833 s (f212): the frame difference peaks there (7.4x the local median) · key low confidence (0.12): Ab major vs Ab minor · cue sheet keeps 17 of 33 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) · the full-length timeline, the whole film at fixed steps (labels S<n> m:ss.s f<frame>), 2 pages · close-up strips, 14 frames around each cut and change: f58 unknown, f71 unknown, f84 fade from white, f127 cut, f212 cut, f247 whip, f311 whip (sheet "transitions", 3 pages; labels S<n> m:ss.sss f<frame>): call get_frames('REF-3599'), or see them on the film page (Pro, or free films).
Sheet check (inferred): At 2.50 s, a large white slab crosses the token, and at 3.29–3.50 s the pale star expands into the tunnel. The measured boundaries at frames 58 and 71 say no visible cut; treat these as one continuous spatial hand-off. The frame tiles at 15.7–16.5 s visibly darken; plate 5 measures the fade from frame 370.
Plate 05
Shot grammar
Mix (inferred): three bright emblem views, one light passage, three dark benefit/proof views and one bright identity view.
Rhythm: Two 13 f inserts quicken the portal. The longest views, shots 5 and 8, carry the benefit and identity. The only hard cuts are into shots 5 and 6.
Rules this editor follows (inferred):
- Keep a recognizable ring or glint across beats 1–3; change its scale and lighting instead of introducing an unrelated transition.
- Put short text on a quieter visual plane. The shot 7 panel is nearly still as its text and trace finish.
- Spend the brightest passage in shot 4, then drop to the dark benefit field at the hard cut into shot 5.
At a glance
- Biggest moves: shot 8: pull out ×0.52 over 3.54 s, ease-out · shot 1: push in ×1.10 over 2.42 s, ease-in.
- Transitions: 7 transitions: 2 boundaries with no visible cut (continuous) (9–10 f) · 2 cuts · 2 whips (3–6 f) · 1 fade from white (5 f)
- Out: the last shot ends with a fade to black over 26 f (1.08 s), from frame 370.
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 8 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 (shake 1.4%/s) | −0.1 · +0.2 | ×1.039 | ×1.10 scale · roll +0.7° | ease-in | ▁▂▃▁▆ · 65%/s | ~16 fps | 0.37 | 0.13 | 0.68 |
| ↳ 0.00–1.67 s: push in | −0.1 · +0.4 | ×1.266 | y +0.6% (+6 px) · ×1.48 scale | ease-in-out | ||||||
| ↳ 1.67–2.25 s: pull out | −0.2 · −0.3 | ×0.597 | ×0.74 scale | ease-in | ||||||
| 2 | static? · element moves ↓ | +0.0 · +0.0 | ×1.000 | none | hold | ▁▁▁▁ | ~17 fps | 0.51 | 0.67 | 0.35 |
| 3 | static? · element moves ↓ | +0.0 · +0.0 | ×1.000 | none | hold | ▁▁▁▁ | ~14 fps | 0.57 | 0.60 | 0.35 |
| 4 | static? · element moves ↓ | +0.0 · +0.0 | ×1.000 | none | hold | ▁▁▁▁ | ~15 fps | 0.61 | 0.73 | 0.35 |
| 5 | complex? (shake 3.4%/s) | −3.3 · +0.6 | ×0.899 | x −11.8% (−226 px) · y +2.0% (+21 px) · ×0.69 scale · roll −1.2° | irregular | ▄▆▄▁▁▂▇ · 41%/s | ~15 fps | 0.18 | 0.25 | 0.36 |
| ↳ 5.88–8.38 s: pull out | −0.4 · +0.8 | ×0.868 | x −1.1% (−20 px) · y +2.0% (+22 px) · ×0.70 scale · roll −0.9° | ease-out | ||||||
| ↳ 8.38–8.71 s: pan right | −32.1 · −0.2 | ×0.930 | x −10.7% (−206 px) · ×0.98 scale | ease-in | ||||||
| 6 | pan left? (shake 3.5%/s) | +15.8 · −1.9 | ×0.962 | x +23.0% (+442 px) · y −2.7% (−29 px) · ×0.94 scale · roll −1.7° | ease-out | ▇▂▂▂ · 160%/s | ~15 fps | 0.84 | 0.64 | 0.14 |
| 7 | static · element moves ↓ | +0.0 · +0.0 | ×1.000 | none | hold | ▁▁▁▁▁ | ~15 fps | 0.03 | 0.15 | 0.68 |
| 8 | pull out (shake 1.6%/s) | −0.8 · +0.1 | ×0.831 | x −2.7% (−52 px) · ×0.52 scale · roll −1.5° | ease-out | ▅▁▁▁▁▁▁ · 94%/s | ~18 fps | 0.52 | 0.31 | 0.73 |
| ↳ 12.96–14.62 s: pull out | −1.4 · +0.2 | ×0.695 | x −2.4% (−46 px) · ×0.55 scale · roll −1.5° | ease-out | ||||||
| ↳ 14.62–15.04 s: static | +0.0 · +0.0 | ×1.000 | none | hold | ||||||
| ↳ 15.04–16.29 s: pull out | −0.2 · −0.1 | ×0.962 | ×0.95 scale | linear |
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 |
|---|---|---|---|---|---|---|---|---|---|
| 2 | 79 · 19 · 12 · 44 → 69 · 17 · 22 · 30 | complex | +2.2 · +3.9 | ×0.994 | x +1.1% (+21 px) · y +2.0% (+21 px) · roll −2.4° in 0.5 s | ease-in | ▇▅▃▇ · 35%/s | 0.92 | 0.67 |
| ↳ 2.42–2.92 s: complex | +2.2 · +3.9 | ×0.994 | x +1.1% (+21 px) · y +2.0% (+21 px) · roll −2.4° | irregular | |||||
| 3 | 16 · 29 · 14 · 55 → 16 · 29 · 14 · 55 | scale up? | +0.1 · +3.3 | ×1.185 | y +1.6% (+18 px) · ×1.09 scale · roll +0.7° in 0.5 s | ease-out | █▁▁▁ · 39%/s | 0.92 | 0.40 |
| ↳ 2.96–3.46 s: scale up | +0.1 · +3.3 | ×1.185 | y +1.6% (+18 px) · ×1.09 scale · roll +0.7° | ease-out | |||||
| 4 | 29 · 80 · 29 · 7 → 33 · 59 · 23 · 15 | complex? | −5.3 · −0.9 | ×0.945 | x −6.2% (−119 px) · y −1.0% (−11 px) · ×0.94 scale · roll −3.8° in 1.2 s | ease-in | ▅▅▆█ · 94%/s | 0.65 | 0.10 |
| ↳ 4.00–5.17 s: complex | −5.3 · −0.9 | ×0.945 | x −6.2% (−119 px) · y −1.0% (−11 px) · ×0.94 scale · roll −3.8° | ease-in | |||||
| 7 | 5 · 19 · 89 · 50 → 28 · 17 · 41 · 44 | scale down | +0.8 · +4.2 | ×0.845 | x +2.1% (+40 px) · y +10.9% (+118 px) · ×0.65 scale · roll −3.2° in 2.6 s | ease-out | ▄▅▁▁▄ · 33%/s | 0.97 | 0.74 |
| ↳ 10.29–11.62 s: scale down | +1.4 · +7.6 | ×0.787 | x +1.9% (+37 px) · y +10.1% (+110 px) · ×0.73 scale · roll −3.2° | ease-out | |||||
| ↳ 11.62–12.88 s: scale down | +0.1 · +0.6 | ×0.911 | y +0.8% (+8 px) · ×0.89 scale | ease-in |
Focus (measured): shot 1: sharp inside 0 · 0 · 100 · 100, no defocus (deep focus) · shot 2: sharp inside 0 · 0 · 83 · 100, about 7 px blur outside at 1080p · shot 3: sharp inside 33 · 0 · 50 · 100, about 7 px blur outside at 1080p · shot 4: sharp inside 0 · 29 · 58 · 57, about 6 px blur outside at 1080p · shot 5: sharp inside 8 · 0 · 75 · 100, about 8 px blur outside at 1080p · shot 6: sharp inside 33 · 0 · 67 · 100, about 7 px blur outside at 1080p · shot 7: sharp inside 0 · 0 · 100 · 100, no defocus (deep focus) · shot 8: sharp inside 17 · 14 · 67 · 86, about 9 px blur outside at 1080p. 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 8: pull out ×0.52 over 3.54 s, ease-out · shot 1: push in ×1.10 over 2.42 s, ease-in. Locked-off shots: 1 of 8; 3 more could not be tracked (shown as "static?" or "not measured": check the sheets). Animation cadence: about 15.5 new pictures a second: 15.5 unique frames per second of 24 while things move (held-frame share 0.35, 354 moving frames). Match it, or the motion will feel smoother or choppier than the reference.
Transitions (measured)
7 transitions: 2 boundaries with no visible cut (continuous) (9–10 f) · 2 cuts · 2 whips (3–6 f) · 1 fade from white (5 f). 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 | 2.42 | 58 | no visible cut (continuous) | 9 f · 0.38 s | 0.30 |
| 3 | 2.96 | 71 | no visible cut (continuous) | 10 f · 0.42 s | 0.30 |
| 4 | 3.50 | 84 | fade from white | 5 f · 0.21 s | 0.54 |
| 5 | 5.29 | 127 | cut | 0 f | 1.00 |
| 6 | 8.83 | 212 | cut | 0 f | 0.72 |
| 7 | 10.29 | 247 | whip right | 6 f · 0.25 s | 0.65 |
| 8 | 12.96 | 311 | whip horizontal | 3 f · 0.12 s | 0.65 |
Out: the last shot ends with a fade to black over 26 f (1.08 s), from frame 370.
What each shot shows (inferred from the sheets)
| # | Type | Framing | What's on screen | Text / overlay |
|---|---|---|---|---|
| 1 | Bright product field | Open center, objects at edges | Floating glossy rings, confetti and glint | One centered promise |
| 2 | Token macro | Ring dominates left and center | Iridescent inset, white slab, star | Previous text partly occluded |
| 3 | Token hand-off | Ring turns thinner | Ring crosses pale star | Previous text recedes |
| 4 | Light passage | Centered vanishing point | White flare lines and small traveling rings | None |
| 5 | Benefit tableau | Dark stage, cluster near center | Different tokens and a luminous base | One short upper line |
| 6 | Product macro | Oversized translucent disc | Lit emblem at center | None |
| 7 | Proof panel | Tilted UI panel centered low | Rising trace and small label | Two-line claim; tiny legal-style copy in reference |
| 8 | Brand return | Open center | Mark then wordmark among peripheral rings | Brand identity; add text CTA in your version |
Plate 06
Visual style guide
- Look (inferred): bright cool opening, black glasslike objects with rainbow refraction, a near-white portal, then a dark blue-black stage with soft reflective rims. Map those roles to
{{BRAND_BG}}and{{BRAND_ACCENTS}}; the reference palette in the measured table is evidence, not a recipe. - Graphics and overlays (inferred): sparse diamond glints travel on their own depth layer; let them disappear in the dark proof field.
- Transitions (inferred): object occlusion, white flare, two hard cuts and two short directional whips. Use plate 5's lengths.
- Branding and end card (inferred): shot 8 brings back the bright field, grows
{{LOGO}}into the center wordmark and adds{{CTA_URL}}as plain text. Begin picture fade at frame 370; do not hold the card to frame 395.
At a glance
- Type scale (cap px): 106 · 85 · 66 · 47–53 · 16–18 (5 levels).
- Phone minimum: cap height ≥ 2% of frame width = 38 px at 1920×1080
- Whole film (time-weighted):
#06081119% ·#2A97ED18% ·#171D3C16% ·#6BBDEE15% ·#3D62826% ·#E7F4F95%. - Curve facts: average 0.39 · darkest 0.11 at 6.5 s · brightest 0.98 at 3.8 s · sudden changes at 2.75 s (darker by 0.22), 3.50 s (brighter by 0.21), 4.25 s (darker by 0.18), 5.50 s (darker by 0.35), 9.00 s (brighter by …
For agents: Type · Type spec · Palette by shot · Brightness curve · Layout boxes · Material card
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 |
|---|---|---|---|---|---|---|---|
| "INF is for everyone" | 1–3 | 1.0–3.0 | 85 | 120 | 7.9 | 20 · 45 · 62 · 12 | centre, middle |
| "Keeping your favorite LSTs liquid" | 5 | 6.5–8.2 | 47 | 66 | 4.4 | 23 · 22 · 56 · 7 | centre, upper |
| "your faverite LSTe liquid" | 5 | 8.5–8.5 | 66 | 93 | 6.1 | 34 · 22 · 38 · 9 | centre, upper |
| "Yield visuals are for demonstrative and enterta…" | 7 | 10.5–12.8 | 18 | 25 | 1.7 | 27 · 89 · 48 · 3 | centre, bottom |
| "Past performance is not indicative of future re…" | 7 | 10.5–12.8 | 16 | 23 | 1.5 | 25 · 92 · 51 · 2 | centre, bottom |
| "And earning the best" | 7 | 11.2–12.8 | 53 | 75 | 4.9 | 27 · 12 · 45 · 8 | centre, top |
| "yields for your SOL" | 7 | 11.5–12.8 | 53 | 75 | 4.9 | 29 · 21 · 40 · 8 | centre, upper |
| "8 sanctum" | 8 | 14.2–16.2 | 106 | 149 | 9.8 | 35 · 44 · 42 · 12 | centre, middle |
Type scale (cap px): 106 · 85 · 66 · 47–53 · 16–18 (5 levels).
Left out: 5 reads that are not clean words or were seen in a single frame ("s foOver", "Keeping", "SOLl"…): 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: "Yield visuals are for…" (18 px, shot 7), "Past performance is not…" (16 px, shot 7). Size these up in your version, or treat them as decoration.
Type spec (inferred)
Assume cap height = 0.71 × CSS font size for {{BRAND_FONT}}; test the chosen font's actual cap ratio. Instrument Sans is a free fallback only. The reference's 16–18 px text is decorative at phone size; required proof and CTA text must be at least 38 px cap.
| Level | Cap px at 1080p | Font size | Weight · case · tracking | Colour pair | Motion |
|---|---|---|---|---|---|
| Identity | 106 | 149 px | 600 · supplied {{LOGO}} case · −0.025 em | foreground on {{BRAND_BG}} | Reveal after mark, 12 f ease-out cubic-bezier(.22,1,.36,1); closing fade follows plate 5 |
| Promise | 85 | 120 px | 600 · sentence case · −0.02 em | light text on {{BRAND_BG}} | Word build by about frame 24, 8 f per phrase, cubic-bezier(.22,1,.36,1) |
| Transitional text | 66 | 93 px | 600 · sentence case · −0.02 em | light text on dark surface | Scale/blur for the one-frame late shot 5 read; keep core words at ≥38 px |
| Benefit and proof claim | 47–53 | 66–75 px | 550 · sentence case · −0.015 em | light text on dark surface | 10 f opacity and y travel, cubic-bezier(.22,1,.36,1); all required words exceed 38 px |
| Fine print | 16–18 in reference; 38 minimum if required | 54 px minimum | 500 · sentence case · 0 em | subdued light text on dark surface | 6 f fade; use 16–18 px only for nonessential texture |
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.52 · 0.74 | #2083E2 49% · #5BABE8 37% · #3B353A 6% · #89D0C1 6% · #7CD648 2% | #E1EEF1 ≈7110 K 70% · #64E8A1 hue 155° tinted 18% · #CADC22 hue 108° tinted 12% |
| 2 | 0.48 · 0.87 | #1E1E1F 37% · #649EE7 36% · #E6EAE7 19% · #E1A833 5% · #7EDC4D 4% | #FAFAFA ≈6500 K 50% · #DFDD15 hue 102° tinted 39% · #D8D18A hue 102° ≈4480 K 11% |
| 3 | 0.51 · 0.77 | #2788D7 40% · #4EA7E4 32% · #28282A 12% · #8DC3CC 12% · #8DD151 3% | #EAF4F9 ≈7100 K 65% · #C9D397 hue 114° tinted 19% · #CCDC1F hue 108° tinted 16% |
| 4 | 0.67 · 0.92 | #83C6EF 26% · #E7F4F9 24% · #2F7BE1 23% · #55A4EB 23% · #3B4147 4% | #FDFEFE ≈6550 K 71% · #F1F8FC ≈6920 K 15% · #DEF2FC hue 239° ≈7740 K 13% |
| 5–7 | 0.26 · 0.98 | #060811 60% · #171D3C 20% · #4C5BA6 10% · #909DBA 8% · #838E37 2% | #DEE3E5 ≈6820 K 57% · #A1BDEF hue 275° ≈14550 K 28% · #A7E74A hue 120° tinted 16% |
| 8 | 0.49 · 0.67 | #2A97ED 34% · #6BBDEE 28% · #3D6282 17% · #1C2126 17% · #92CC7B 4% | #E9EEEC ≈6630 K 77% · #4E5148 ≈5930 K 17% · #D1D51C hue 104° tinted 6% |
Whole film (time-weighted): #060811 19% · #2A97ED 18% · #171D3C 16% · #6BBDEE 15% · #3D6282 6% · #E7F4F9 5%.
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
mean ▅▅▄▆▅▄▁▁▂▄ ▃▂▂▅▅▄▂
p95 ▆▇▇██▆▅▅▆█ ▆▄▄▇▇▆▂
Curve facts: average 0.39 · darkest 0.11 at 6.5 s · brightest 0.98 at 3.8 s · sudden changes at 2.75 s (darker by 0.22), 3.50 s (brighter by 0.21), 4.25 s (darker by 0.18), 5.50 s (darker by 0.35), 9.00 s (brighter by 0.21), 10.50 s (darker by 0.34), 13.00 s (brighter by 0.43) · fades to black from about 15.43 s (frame 370) to the end.
Layout boxes (inferred)
All boxes are x · y · w · h as percentages of the 16:9 frame. Measured regions remain reference geometry; replace their contents with brand slots.
| Element | Shots | Box x · y · w · h (%) | Source · confidence | Notes |
|---|---|---|---|---|
| Promise | 1–3 | 20 · 45 · 62 · 12 | measured text box · high | Center through the portal hand-off |
| Foreground token | 2 | 79 · 19 · 12 · 44 → 69 · 17 · 22 · 30 | measured element region · high | Crosses the text plane |
| Edge-on token | 3 | 16 · 29 · 14 · 55 | measured element region · high | Turn toward camera |
| Traveling token | 4 | 29 · 80 · 29 · 7 → 33 · 59 · 23 · 15 | measured element region · high | Light passage foreground |
| Benefit line | 5 | 23 · 22 · 56 · 7 | measured text box · high | Keep center clear for objects |
| Proof panel | 7 | 5 · 19 · 89 · 50 → 28 · 17 · 41 · 44 | measured element region · high | Panel scales down |
| Proof headline line 1 | 7 | 27 · 12 · 45 · 8 | measured text box · high | Line 2 at 29 · 21 · 40 · 8 |
| End wordmark | 8 | 35 · 44 · 42 · 12 | measured text box · high | {{LOGO}} takes this role |
| End CTA text | 8 | 37 · 60 · 26 · 6 | estimate · low, new copy | {{CTA_URL}}; verify against phone safe zone |
End card: {{BRAND_BG}} returns in shot 8; put {{LOGO}} in the measured identity box and {{CTA_URL}} below at ≥38 px cap. The mark-to-wordmark portion is visible around 14.2 s, followed by the measured fade from frame 370.
Material card (inferred)
:root { --brand-bg: {{BRAND_BG}}; --brand-accent: {{BRAND_ACCENTS}}; --brand-ink: #f7f8fb; }
.scene { background: radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--brand-accent) 35%, white) 0%, var(--brand-bg) 68%); perspective: 1400px; }
.token { border: 18px solid #121319; border-radius: 50%; background: conic-gradient(from 20deg, var(--brand-accent), #fff, var(--brand-accent)); box-shadow: inset 0 0 16px #ffffff88, 0 20px 46px #0009, 0 0 28px color-mix(in srgb, var(--brand-accent) 45%, transparent); transform-style: preserve-3d; }
.panel { border: 2px solid #ffffff55; border-radius: 24px; background: color-mix(in srgb, var(--brand-bg) 78%, black); box-shadow: 0 18px 70px #000b, inset 0 0 24px #ffffff29; backdrop-filter: blur(14px); }
.glint { filter: blur(2px) drop-shadow(0 0 20px #fff9); }
Blender · glossy ring and portal: Principled BSDF roughness 0.16, transmission 0.08, IOR 1.48, coat 0.55, emission strength 0.16 on the inset. World strength 0.35. EEVEE with 64 temporal samples, 1920×1080, 24 fps; 50 mm lens, f/2.8, keyed by a broad cool area light and a narrow warm rim.
2D / CSS equivalent: layered rings with 18 px extrusion and conic inset; blur outside shot 2 focus box 0 · 0 · 83 · 100 by 7 px, shot 4 box 0 · 29 · 58 · 57 by 6 px, shot 5 box 8 · 0 · 75 · 100 by 8 px, and shot 8 box 17 · 14 · 67 · 86 by 9 px. The f/2.8 depth effect becomes these masks. Area-light bloom becomes 28 px glow at 45% opacity; world-light falloff becomes a 22% vignette starting at 62% radius. 50 mm perspective maps to the CSS 1400 px perspective above.
Plate 07
Voice and delivery
Measured: plate 8 finds only four words covering 8% of the film; v1's longer late transcript is low confidence and appears unrelated to the visible product story.
Voice direction (inferred): no voice is required. If a builder adds one for accessibility, use a neutral, clear product narrator for only the short lines in beats 1, 3 and 4, with the picture and music lowered around those words.
Plate 08
Sound design
- Music (inferred): light tonal opening, a brighter pass through beat 2, a muted low body under beats 3–4, then an uncluttered resolve under beat 5. The measured beat grid is audible but the edit is picture-led.
- Sound effects (inferred): a soft sweep on the continuous token hand-off near frame 59; two small claim hits near frames 151 and 153; a rise near frame 304; a tonal identity hit near frame 336; a small click near frame 344. These are cue placements, not claims that every effect is isolated in the reference.
- Silence and space (inferred): keep the panel claim clear and let the outro thin under the measured closing fade.
At a glance
- Speech: words cover 8% of the film (4 words, v1 transcript): little speech.
- Tempo: 86.13 BPM, confidence 0.52 (weak: half or double time is possible) · first downbeat 1.440 s (bar start confidence 0.24, uncertain) · beat 0.6966 s · bar of 4 = 2.786 s.
- Key: unclear: Ab major or Ab minor (confidence 0.12); pick your own.
- Loudness of the reference (measured): −29.4 LUFS integrated, true peak −13.6 dBTP, range 1.9 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 8% of the film (4 words, v1 transcript): little speech.
Tempo: 86.13 BPM, confidence 0.52 (weak: half or double time is possible) · first downbeat 1.440 s (bar start confidence 0.24, uncertain) · beat 0.6966 s · bar of 4 = 2.786 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 6 | |
|---|---|---|---|---|
| 24 fps (this film) | 16.72 f | 66.87 f | 35 | 35 · 101 · 170 · 237 · 304 · 366 |
| 30 fps | 20.90 f | 83.59 f | 43 | 43 · 126 · 213 · 296 · 380 · 457 |
| 60 fps | 41.80 f | 167.18 f | 86 | 86 · 252 · 425 · 593 · 760 · 915 |
Beats in seconds: 0.099 · 0.766 · 1.440 · 2.142 · 2.792 · 3.495 · 4.197 · 5.021 · 5.706 · 6.385 · 7.088 · 7.802 … (23 in all, audio.tempo.beats in the timeline JSON).
Cuts on the beat: 1 of 7 land within ±1.5 frames of a beat; chance alone would give about 1.3, so the edit does not follow the beat.
Key: unclear: Ab major or Ab minor (confidence 0.12); pick your own.
Sections (by energy of the whole mix, voice included):
| section | time (s) | shots | level (RMS) |
|---|---|---|---|
| intro | 0.0–2.0 | 1 | −33 dB |
| drop | 2.0–14.0 | 1–8 | −27 dB |
| outro | 14.0–16.5 | 8 | −32 dB |
Energy map (RMS per 1 s, ▁ = −49 dB → █ = −26 dB):
▆▆▇███▇███ ████▇▆▁
Cue sheet (17 cues: 1 at a cut, 9 on a beat). "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 |
|---|---|---|---|---|---|---|
| 0.09 | 2 | 1 | unknown | 1.00 | no visible event | ✓ |
| 0.21 | 5 | 1 | tonal | 0.59 | no visible event | |
| 0.51 | 12 | 1 | unknown | 0.73 | "INF is for" appears | |
| 0.77 | 18 | 1 | unknown | 0.67 | "INF is for" appears | ✓ |
| 2.46 | 59 | 2 | unknown | 0.30 | no visible cut (continuous) into shot 2 | |
| 4.67 | 112 | 4 | unknown | 0.66 | no visible event | |
| 6.29 | 151 | 5 | hit | 0.60 | "Keeping your favorite LSTs…" appears | |
| 6.38 | 153 | 5 | hit | 1.00 | "Keeping your favorite LSTs…" appears | ✓ |
| 7.08 | 170 | 5 | unknown | 0.86 | no visible event | ✓ |
| 8.54 | 205 | 5 | unknown | 0.67 | "your faverite LSTe liquid" appears | ✓ |
| 12.65 | 304 | 7 | unknown | 0.85 | picture gets brighter | ✓ |
| 14.00 | 336 | 8 | tonal | 1.00 | "8 sanctum" appears | ✓ |
| 14.35 | 344 | 8 | click | 0.65 | "8 sanctum" appears | |
| 14.68 | 352 | 8 | tonal · voice? | 0.64 | no visible event | ✓ |
| 15.05 | 361 | 8 | tonal · voice? | 0.73 | camera pull out starts (shot 8) | |
| 15.23 | 366 | 8 | tonal · voice? | 1.00 | fade to black begins | ✓ |
| 16.07 | 386 | 8 | tonal · voice? | 0.60 | picture gets darker |
"voice?" = the cue sits on a spoken word (4 of 17): that is the narration, not an effect to copy.
Loudness of the reference (measured): −29.4 LUFS integrated, true peak −13.6 dBTP, range 1.9 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 86.13 BPM in D minor; the reference's key is too uncertain to inherit. Use rounded FM bell, muted sub pulse, brushed noise swell, soft marimba notes and a short, non-vocal synth chord. Shots 1–3: sparse bell/pulse; shot 4: open high pad and reverse swell; shots 5–6: sub and short plucks; shot 7: narrow filtered ostinato with room for text; shot 8: resolved chord that decays into the fade. Print separate cue stems at frames 2, 12, 18, 59, 112, 151, 153, 170, 205, 304, 336, 344, 352, 361, 366 and 386; see plate 8 for the uncertain voice-like late cues. The grid guides the pulse, while cue frames guide the accents.
Music-model prompt: “Original 86 BPM D-minor instrumental for a 16.5-second picture-led glossy product film: sparse bell, restrained sub, airy portal swell, dark proof ostinato, clean identity resolve; no vocals, no borrowed melody.”
Plate 09
Packaging
- Title (inferred):
{{PRODUCT}}+ one concrete benefit in six words or fewer. - Cover / thumbnail (inferred): centered
{{LOGO}}or emblem against{{BRAND_BG}}, with one bright ring entering from an edge and an unobscured four-word promise. - Post copy (inferred): one line naming
{{FEATURE}}, one verifiable reason to care, then{{CTA_URL}}as plain text. - Audience signals: the captured post had 11,133 views. Comments and replay data are not measured in this v2 timeline.
Plate 10
Script template
Picture-led (inferred): write for reading time, not narration. Use an optional silent build and place only claims the product can support.
[beat 1 · shot 1 · on screen ≤5 words] {{PRODUCT}} + one short promise.
[beat 2 · shots 2–4 · no new words] Let the existing phrase pass behind the portal object.
[beat 3 · shots 5–6 · on screen ≤6 words] {{FEATURE}} in a concrete benefit line.
[beat 4 · shot 7 · on screen ≤7 words] {{VERIFIED_PROOF}} as a plain claim; label any demo-only trace “illustrative” at readable size.
[beat 5 · shot 8 · on screen] {{LOGO}}; {{CTA_URL}} as text.
Plate 11
Production plan
Two routes (inferred)
Minimum: Claude alone. Remotion with CSS 3D end to end: perspective transforms, layered ring extrusion, masked depth blur, glow pass, chart drawn as SVG and a synthesized original music bed. It reaches the spatial pacing and graphic contrast quickly; it gives up physical refraction, exact reflections and complex light scattering. The user supplies {{LOGO}}, real {{PRODUCT}} assets and verified proof.
Full: with the toolkit. Blender Python makes the ring, token cluster, portal and luminous product disc at 1920×1080, 24 fps. Export camera keyframes as JSON and transparent PNG sequences with alpha to Remotion, which adds {{BRAND_FONT}} type, a code-built proof panel, mark-to-wordmark and fades. A licensed or generated original WAV and a 24 fps click/cue track pass to Remotion for final sync; export H.264 MP4 and a separate WAV master. Keep Blender geometry and Remotion text in the same pixel coordinate system so the portal occlusion covers the promise correctly.
Asset honesty: use real product captures or an honest code-built view of {{PRODUCT}}; if an asset is missing, show a type tile saying so. Never generate product UI, fake screenshots, fake metrics, fake reviews or fake outputs. In beat 4, the rising trace may be abstract motion only; any numeric performance claim needs {{VERIFIED_PROOF}}.
Plate 12
Prompts
Script prompt (inferred)
Write four short on-screen lines for {{PRODUCT}} in five beats. Beat 1: inclusive promise. Beat 3: a concrete benefit of {{FEATURE}}. Beat 4: only the supported statement in {{VERIFIED_PROOF}}; say “illustrative” if the trace is conceptual. Beat 5: {{LOGO}} and {{CTA_URL}}. Respect plate 6's phone minimum and keep every phrase readable within its measured shot. No reference slogans, mascot or logo.
Music prompt (inferred)
Make an original 86.13 BPM D-minor instrumental with sparse FM bells, a soft sub, a bright portal swell and a restrained dark proof section. Follow the cue frames in plate 8 while leaving text passages uncluttered. Deliver a WAV and separate hit stems; no vocals or recognizable borrowed motif.
Plate 13
Edit recipe
How it's built (inferred)
Signature portal, shots 2–4. Build one parent 3D scene so the foreground token, white slab, star and tunnel share coordinates. Put the promise behind the token but in front of the field; use the token silhouette as an occlusion matte. Shot 2's element moves through its measured region and rolls −2.4° over roughly 0.5 s; at the frame 58 boundary, blend the foreground slab and ring for 9 f, with no hard cut. At frame 71, continue the same token, rotate it edge-on and let the ring scale about ×1.09 over 0.5 s; use a 10 f masked reframe, again no visible cut. Expand the pale star from behind the ring until it becomes the tunnel's radial white lines; at frame 84, use the measured 5 f fade from white, then expose the travel token. The frames suggest a white slab wipes the picture around 2.50 s and a star becomes a tunnel around 3.29–3.50 s; the measurement says the two preceding shot boundaries are continuous and the shot 4 transition is a 5 f white fade. Use cubic-bezier(.22,1,.36,1) for the turn and cubic-bezier(.76,0,.24,1) for the flare. At 24 fps render 3–4 subframes with a 180° shutter for the whip and ring edges; hold some animation poses to approximate the measured 15.5 unique pictures per second.
Other motion and hand-offs. In shot 1, form the promise through about frame 24 while the image pushes by the plate 5 segments: ×1.48 through 1.67 s, then ×0.74 to 2.25 s. Avoid scaling text and rings as one layer: their depth separation creates the pull. In shot 4, move the small token through the measured changing region from about 4.00 to 5.17 s while the tunnel recedes; the low-confidence “static?” camera label is a hint, and the sheets show moving objects and radiant lines. At frame 127, make a 0 f hard cut to shot 5's dark stage; its measured brightness drop follows at frame 129. In shot 5, draw back about ×0.70 from 5.88–8.38 s and pan the tableau left by about 10.7% of width from 8.38–8.71 s. Bring the line in around the cue at frames 151–153. At frame 212, make the second 0 f hard cut; the token disc in shot 6 can appear to travel right while the plate 5 camera estimate is low-confidence. At frame 247, use a 6 f rightward whip into shot 7, motion blur 12–18 px, then scale the panel's measured moving region toward its smaller end box, about ×0.65 across the shot. Reveal the two proof lines around 11.2 and 11.5 s; keep the trace demonstrative unless tied to {{VERIFIED_PROOF}}. At frame 311, use a 3 f horizontal whip into shot 8. Pull back about ×0.55 through 14.62 s, pause to 15.04 s, then continue the shallow measured ×0.95 pull. The logo resolves around the frame 336 tonal cue. Fade the entire picture from about frame 370 to the end, following plate 5; the tonal events at frames 366 and 386 sit within that exit. Do not invent cuts at the brightness steps in plate 6.
Build order
- Lay out beats 1–5 as the eight shot sequences in plate 4; place the measured boundaries before animating.
- Make the portal parent scene for shots 2–4 and test its occlusion at frames 58, 71 and 84.
- Make shot 1's depth layers, shots 5–6's product objects and shot 7's code-built proof panel.
- Apply plate 5 camera and element keyframes, then add type from plate 6 and the shot 8 identity.
- Compose the bed and cue stems against plate 8; mix for the target platform and export the 24 fps master.
Plate 14
QA checklist
- Eight sequences total; hard cuts only at frames 127 and 212; frame 58 and 71 boundaries remain visually continuous within ±1 f.
- White transition is 5 f at frame 84; whips are 6 f at frame 247 and 3 f at frame 311.
- Beat 2's token stays recognizable through shots 2–4; the shot 2 roll and shot 3 ×1.09 element scale follow plate 5 within about 10%.
- Every required word is ≥38 px cap at 1920×1080; the measured small disclaimer level is decorative only.
- Proof text fits its measured shot 7 boxes; real claims match
{{VERIFIED_PROOF}}. - Cue stems land within ±1 frame of the selected plate 8 frames; do not force the cuts onto the 86.13 BPM beat grid.
- X or LinkedIn master measures about −14 LUFS integrated and ≤−1 dBTP; reference loudness is not the delivery target.
- The picture fade starts about frame 370 and reaches black by the end; no full-brightness end-card hold extends beyond it.
- No reference colours, font, logo, mascot, slogans or music remain;
{{CTA_URL}}is text, not a badge or QR code.
Plate 15
Make it yours
Brand slots
| Slot | Replaces in the reference | Notes |
|---|---|---|
{{PRODUCT}} | Product name in the opening promise | Use your actual name |
{{BRAND_FONT}} | Reference's sans type | Supply licensed font; free fallback in plate 6 |
{{BRAND_BG}} | Bright field and dark-stage base hues | Define light and dark roles from your system |
{{BRAND_ACCENTS}} | Rainbow inset, glints and proof trace | Use your own limited accent range |
{{LOGO}} | Center mark and final wordmark | Supply a real vector or transparent asset |
{{CTA_URL}} | No in-video URL in the reference | Add a plain-text destination to the end card |
{{FEATURE}} | Liquid-benefit object and line | Choose one product benefit you can show |
{{VERIFIED_PROOF}} | Rising yield-style panel | Supply evidence or mark the visual illustrative |
What this film avoids (keep these out too):
- No presenter or sustained voiceover.
- No stock footage, feature list, dashboard chrome or long legal paragraph as the pitch.
- No QR code or store badges.
- No invented metric, screenshot or result.
Brand-distance warning: the reference's cool bright field plus black rainbow-inset rings plus green rising yield trace and its exact wordmark would read as the original brand. Change the emblem's geometry first, then map the palette and proof visual to {{PRODUCT}}.
Adapt the aspect (inferred)
- 9:16: Re-lay out; the center crop keeps only the middle 31.6% and none of the measured boxes. Put one token above the claim and the proof panel below it, keep required type ≥22 px cap at 1080×1920, and keep logo/CTA clear of the top and bottom platform controls.
- 1:1: Re-lay out; the center crop loses the wide opening promise and moving edge objects. Pull the claim inward, stack the shot 7 panel and heading, keep required type ≥22 px cap at 1080×1080, and reserve a lower margin for feed controls.
Adapt the length (inferred; uses the record's scales flags)
- 15 s: Keep the portal in shots 2–4, the core benefit in shot 5, proof in shot 7 and the identity in shot 8; drop optional shot 6 and compress only scalable views.
- 30 s: Keep beats 1–5 and add one new product-specific demonstration between beats 3 and 4. Extend scalable scenes with new information, not static holding frames.
- 60 s: Keep the same visual grammar, add a second verified demonstration and a concrete use case before beat 4, then return to the fixed portal and end-card accents. Do not stretch the short portal or closing fade.
The creator's signature (don't copy): exact emblem, rainbow material, wordmark, blue-green palette, slogan and source music.
The transferable format (do copy): concise visual promise, object-led portal, dark benefit tableau, one readable proof surface and a bright identity return.
Source: https://x.com/shapelayer/status/2108211334341120039 · measured with dissect 1.1 and timeline v2 on 10 October 2026 · (measured) = read off the film · (inferred) = our 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) | 0 of 12 | "INF is for everyone", "Keeping your favorite L…", "your faverite LSTe liqu…", "Yield visuals are for…" … | 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) | 8 of 12 | "INF is for everyone", moving element, shot 2, moving element, shot 3, moving element, shot 7 | 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 | fixed | 58 | 58 | 58 | 58 |
| 2 | fixed | 13 | 13 | 13 | 13 |
| 3 | fixed | 13 | 13 | 13 | 13 |
| 4 | fixed | 43 | 43 | 43 | 43 |
| 5 | scales | 85 | 84 | 136 | 136 |
| 6 | optional | 35 | drop | 35 | 35 |
| 7 | scales | 64 | 64 | 102 | 102 |
| 8 | fixed | 85 | 85 | 85 | 85 |
| total | 396 f · 16.5 s | 360 f · 15.0 s | 485 f · 20.2 s + 9.8 s new beats | 485 f · 20.2 s + 39.8 s new beats |
30 s: stretching tops out at ×1.6 (20.2 s); add 9.8 s of new beats (more of the scaling beats' pattern with new content), never a longer hold on the fixed shots · 60 s: stretching tops out at ×1.6 (20.2 s); add 39.8 s of new beats (more of the scaling beats' pattern with new content), never a longer hold on the fixed shots.
Recipe
One prompt that makes a film like this with Claude. Use the method; make the footage, words and brand your own.
Make a 16.51 s 16:9 film for {{PRODUCT}} in the format of REF-3599 (floating emblem to proof). Brand: font {{BRAND_FONT}}, background {{BRAND_BG}}, accents {{BRAND_ACCENTS}}, logo {{LOGO}}, call to action {{CTA_URL}}. Feature: {{FEATURE}}. Proof: {{VERIFIED_PROOF}}. First load get_blueprint("REF-3599", format: "json"); build to its shot frames, camera numbers, type boxes and beat grid. Picture-led: beat 1, shot 1, centered promise; beat 2, shots 2–4, carry one emblem through an occlusion into a white portal; beat 3, shots 5–6, show one benefit in a dark dimensional world; beat 4, shot 7, show a readable proof panel; beat 5, shot 8, return to a bright identity card. Keep frames 58 and 71 continuous; white transition at shot 4. Required text stays at least 38 px cap at 1080p. Follow cue frames, not cuts on the 86.13 BPM beat; master for X at −14 LUFS, ≤−1 dBTP. Full stack: Blender Python renders 3D tokens and portal as 1920×1080 alpha PNGs at 24 fps, passing camera JSON and alpha PNGs to Remotion for type and UI, plus WAV and click track. Minimum fallback: Remotion with CSS 3D and synthesized music. Use real {{PRODUCT}} captures or UI rebuilt in code; never fake UI or results. End with {{LOGO}} plus {{CTA_URL}} as text; no QR code or badges. Export 1920×1080, 24 fps H.264 MP4. Never copy the reference's colours, font, logo, mascot, slogans or music.Films like this
Tagged product film3d motionkinetic typefloating tokensiridescent gradientsportal transitiondark uibenefit reveal