# Talking Head Short

Vertical talking-head clip with a three-second hook and word-by-word captions, running as long as the video.

```bash
npx shadcn add https://www.reelcn.dev/r/talking-head-short.json
```

Usage:

```tsx
<Composition
  id="TalkingHeadShort"
  component={TalkingHeadShort}
  schema={talkingHeadShortSchema}
  defaultProps={{ ...talkingHeadShortDefaults, video: staticFile("take-3.mp4"), captions }}
  calculateMetadata={talkingHeadShortMetadata}
  width={1080}
  height={1920}
  fps={30}
  durationInFrames={1}
/>
```

Use for:

- Turning a recorded explanation or interview answer into a short
- Captioned clips for feeds that autoplay muted

Avoid:

- Captions over a layout you build yourself. Use `captions`

Dependencies:

- `@remotion/media`
- `remotion`
- `zod`


## Props

| Name | Type | Default | Description |
| --- | --- | --- | --- |
| captions | `{ text: string; startMs: number; endMs: number; timestampMs: number \| null; confidence: number \| null; }[]` | — | Word-level captions; `reelcn-transcribe` writes them from the video. |
| hook | `string` | — | Line shown over the first three seconds. |
| emphasize | `string[]` | — | Words painted in the emphasis color. |
| theme? | `"daylight" \| "midnight" \| "mono" \| "ledger" \| "afterglow" \| "chromewave" \| "neon" \| "paper" \| "sunset"` | — | Theme preset. Inherits the surrounding `ThemeProvider` when omitted. |
| brand? | `{ accent?: string; logo?: string; font?: string; }` | — |  |
| sfx? | `boolean` | — | Plays a soft whoosh as each scene starts. |
| music? | `string` | — | Background music file, looped under everything at 25% volume. |
| video? | `string` | — | The recording. A moving background stands in when omitted. |