Showing Ticker Takeover with sample copy. Describe your video above, or browse all templates.
Your prompts
Paste into Claude Code. It sets up skills and hooks, then builds this exact animation.
Build a 5.9s motion-graphics video: Words tick by slot-machine style, then the last one floods the frame with colour.
## Skills
- Use the `remotion-best-practices` skill for all composition code. If this project uses HyperFrames instead of Remotion, use `/hyperframes` with `hyperframes-animation` and keep the same beats.
- Use the `motion-graphics` skill (if installed) for motion direction and polish.
- If there is no Remotion project yet, scaffold one first with the `remotion-create` workflow, then open Studio so I can watch the preview while you build.
## Hooks (set up first)
Merge this into `.claude/settings.json` so every edit is type-checked and every finished turn renders a verification still:
```json
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write|MultiEdit",
"hooks": [
{
"type": "command",
"command": "npx tsc --noEmit -p . 2>&1 | head -30"
}
]
}
],
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "npx remotion still TickerTakeover out/TickerTakeover-check.png --frame=123 2>&1 | tail -5"
}
]
}
]
}
}
```
## Composition
- id `TickerTakeover`, 1080x1920 (9:16), 30 fps, 176 frames.
- Define a zod schema for the props below and pass them as `defaultProps`, so the copy stays editable in Studio.
- Default props:
```json
{
"prefix": "Made for",
"words": [
"lattes",
"cold brew",
"matcha",
"cereal",
"you"
],
"finalLine": "Cloud Oat. Pour it on anything.",
"stepFrames": 16
}
```
## Look
- Colours: background #F4EEFF, surface #E2D6FF, text #1E1530, single accent #7C4DFF. Use only these.
- Typeface: Unbounded (load it with `@remotion/google-fonts`), heavy weights for display text, tight negative tracking.
- Motion vocabulary: kinetic typography, fixed prefix text above a pill-shaped window where words tick upward slot-machine style with springy overshoot, final word pill scales up and floods the whole frame with accent colour, closing line lands on the new colour with a slight scale-down, flat graphic style.
## Beats
- 0.0s: "Made for" sits above an accent pill window.
- 0.4s onward: words "lattes", "cold brew", "matcha", "cereal", "you" tick upward slot-machine style inside the pill, each step a short back-eased overshoot (16 frames per word).
- on the last word: an accent circle grows from the pill until it floods the whole frame.
- then: the closing line "Cloud Oat. Pour it on anything." lands on the new colour, scaling from 1.4 to 1.
## Rules
- Drive every animation from `useCurrentFrame()` with `interpolate()`/`spring()` and clamped extrapolation. No CSS transitions or Tailwind animation classes.
- Deterministic only: no `Math.random()` or `Date.now()`; use `random(seed)` from remotion.
- Animate transforms and opacity only (`scale`, `translate`, `rotate`); never linear easing for movement.
- Keep key content inside the platform safe area (on 9:16 leave about 220px top and 420px bottom clear). Size display text so the longest word never overflows.
- One accent colour. Strong contrast for all text. No em dashes in on-screen copy.
## Done when
- Studio plays the full 5.9s without errors, and the Stop hook still renders cleanly.
- You have rendered stills at frames 0, 61, 123 and 175 and checked each for overflow, clipped text and contrast.
- Do not render the final MP4 unless I ask.