Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VU6qqzefQ2TxgZetJ7beKU
5.9 KiB
Launch Video Structure — Cookbook
Shot-by-shot template, beat-sync timing, montage recipes, and multi-aspect maps for a premium 15–60s launch film.
Sound-design-leads-picture workflow
- Pick/commission the track first. The track defines the film's length and energy.
- Mark the structure in the audio: intro, build, the drop (the single biggest moment), and the kick/snare transients through the montage. Note exact timecodes.
- Map beats → cuts. Hard cuts land on transients; the reveal lands on the drop frame.
- Build picture to the marks. Never finish a cut and then look for music. Score-first guarantees the reveal hits.
- Mix last: add risers into the drop, an impact/whoosh on the reveal, and let the end-card breathe (drop music low, or a clean tag).
Shot-by-shot template — 30s film (scalable)
00:00–00:03 HOOK
Visual : single striking frame — extreme close detail / impossible motion
Motion : slow push-in or a fast whip that resolves; NO logo yet
Audio : sub-bass swell begins, sparse
Cut : on first audible beat at ~03s
00:03–00:09 TEASE
Visual : fragments/silhouettes of the product, never the full thing
Motion : light leaks, partial reveals, parallax; tension rising
Audio : riser building toward the drop
Cut : quick cuts accelerating into the drop
00:09–00:13 REVEAL ← THE DROP at 00:09
Visual : product/logo SNAPS to full on the drop frame
Motion : scale 1.18→1.0 over 0.18s + white flash-out; settle clean
Audio : drop hits + impact stinger on the exact frame
Hold : let it sit ~1.2s before moving
00:13–00:25 FEATURE MONTAGE
Visual : one benefit per shot, ~0.6–1.0s each (≈8–10 shots)
Motion : bold keyword pop + one supporting visual; consistent enter/exit
Audio : hard cuts on kick/snare; energy sustained
Pattern: KEYWORD + UI/product moment, repeat with rhythm
00:25–00:30 END CARD
Visual : logo + tagline + CTA, centered, still
Motion : minimal — a soft settle, then hold ≥2s
Audio : music resolves; clean sonic tag
CTA : one action (URL or button), nothing competing
Re-proportioning
- 15s: Hook 0–2s · Tease 2–5s · Reveal 5–7s · Montage 7–12s (4–5 shots) · End card 12–15s.
- 60s: same hook (still ≤3s) · longer tease and a richer montage (14–16 shots, grouped in waves) · end card ≥3s.
The hook never gets longer — only the montage scales.
Beat-synced reveal (timing detail)
import gsap from "gsap";
const DROP = 9.0; // measured drop timecode (s)
const tl = gsap.timeline({ paused: true });
// build tension toward the drop
tl.fromTo(".tease", { scale: 1.0, opacity: .6 },
{ scale: 1.08, opacity: 1, duration: DROP, ease: "power1.in" });
// REVEAL exactly on the drop
tl.set(".logo", { opacity: 1 }, DROP);
tl.fromTo(".logo", { scale: 1.18 }, { scale: 1.0, duration: .18, ease: "power3.out" }, DROP);
tl.fromTo(".flash", { opacity: .9 }, { opacity: 0, duration: .25, ease: "power2.out" }, DROP);
tl.to(".tease", { opacity: 0, duration: .12 }, DROP);
// hold the reveal
tl.to(".logo", { scale: 1.0, duration: 1.2 }); // dwell
audio.addEventListener("play", () => tl.play());
Speed-ramp into the drop (Remotion time-remap idea): play the last ~0.5s of the tease faster, then hard-cut to the reveal on the drop frame for a snap.
Kinetic montage shot recipe
Each shot: a bold keyword + one product/UI visual, ~0.6–1.0s, hard cut on the beat.
.feature { position:absolute; inset:0; opacity:0; }
.feature.in { opacity:1; }
.feature .word { display:inline-block; opacity:0; transform:translateY(26px); }
.feature.in .word { animation: pop .32s cubic-bezier(.22,1,.36,1) forwards; }
.feature.in .word:nth-child(2){ animation-delay:.04s }
.feature.in .word:nth-child(3){ animation-delay:.08s }
@keyframes pop { to { opacity:1; transform:none; } }
// schedule shots on measured beat marks
const beats = [13.0, 13.8, 14.6, 15.4, 16.2, 17.0, 17.8, 18.6]; // seconds
let i = 0;
function loop(now){
const t = (now - start) / 1000;
if (i < beats.length && t >= beats[i]) { showFeature(i); i++; }
if (i < beats.length) requestAnimationFrame(loop);
}
Montage discipline: keep ONE enter curve and ONE exit across all shots; vary content, never grammar. Alternate visual rhythm (full-frame ↔ detail) but keep cut cadence locked to the beat.
Multi-aspect safe-area maps
Compose so a single master reframes to every aspect. Place hero/logo/CTA inside the smallest common safe zone — the 1:1 center square.
16:9 1920×1080
Safe: center 90% (96px H / 54px V margins)
Use : YouTube, landing hero, X timeline
9:16 1080×1920
Safe: text within center 80% height
Avoid: top 12% (status/clock area), bottom 18% (caption + UI buttons)
Use : Reels, TikTok, Shorts, Stories
1:1 1080×1080
Safe: this square == the design anchor; put logo/CTA here
Use : feed posts
Export workflow:
- Build the 16:9 master with all key content inside the 1:1 center square.
- For 9:16, reframe (pan/scale per shot to keep the subject centered) — do not letterbox.
- For 1:1, crop the center square; verify text isn't clipped.
- Re-check captions/CTA against each platform's UI overlay zones before export.
Final QA checklist
- Reveal lands on the exact drop frame, with overshoot + flash.
- Hook holds attention in the first 3s without showing the product.
- Every montage shot is one benefit, premium quality, on a beat.
- End card holds ≥2s, single CTA, nothing competing.
- 16:9 / 9:16 / 1:1 each pass safe-area and caption checks.
- Audio mixed: riser → impact on drop → clean tag on end card.
Nail the reveal beat and the sound-leads-picture cut, and a launch film lands. Built by iart.ai — the AI motion agent for editable, on-brand motion graphics.