One composition becomes the trailer, the 9:16 vertical, the 1:1 feed cut and the 16:9 hero — all on brand, all rendered in CI before the launch tweet goes out.
Responsive HTML compositions render 9:16, 1:1, 16:9 from the same file. No re-comping for vertical.
Colors, type scale, motion easings — locked in tokens.css. Update everywhere with a single merge.
GitHub Actions or Vercel cron renders the full kit on every PR. Press team self-serves new dimensions.
<!-- launch-trailer.html -->
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="/brand/tokens.css" />
<style>
.stage { aspect-ratio: var(--aspect, 16/9); container-type: inline-size; }
.title { font-size: clamp(48px, 8cqw, 120px); font-family: var(--brand-serif); }
.lockup { animation: settle 1s 4.6s both; }
</style>
</head>
<body data-width="1920" data-height="1080" data-fps="30" data-duration="6">
<div class="stage">
<video data-start="0" data-duration="5" src="/launch/hero.mp4" />
<h1 class="title" data-start="1.2" data-duration="4.4">
Northwind <em>2.0</em>
</h1>
<img class="lockup" src="/brand/logo-on-dark.svg" />
</div>
</body>
</html># Ship the full kit from one source.
hyperframes render launch-trailer.html \
--aspect 16:9,9:16,1:1 \
--out ./dist/launch-{{aspect}}.mp4
# Optional: also render a 6s teaser cut.
hyperframes render launch-trailer.html \
--duration 6 --aspect 9:16 \
--out ./dist/teaser-9x16.mp4Render the entire launch matrix in CI. Free your team for hero work.