# Text Mask Video

Type acts as a window onto footage: the glyphs are the only place the video or image beneath shows through.

```bash
npx shadcn add https://www.reelcn.dev/r/text-mask-video.json
```

Usage:

```tsx
<TextMaskVideo text="MOTION" src={staticFile("b-roll.mp4")} />
```

Use for:

- A headline that IS the footage, not a caption on top of it
- Brand reveals where the type and the shot are the same idea

Dependencies:

- `@remotion/media`
- `remotion`


## Props

| Name | Type | Default | Description |
| --- | --- | --- | --- |
| delay? | `number` | — | Frames to wait before entering. |
| duration? | `number` | — | Enter duration in frames. Defaults to 0.6s. Some items reuse `duration` for an unrelated local timing. See that item's own prop docs. |
| exit? | `number \| boolean` | — | Exit at the end of the parent `<Sequence>`. `false` keeps it on screen, a number sets the exit length in frames. |
| motion? | `MotionPersonality` | — | Override the theme's motion personality. |
| poster? | `boolean` | — | Renders fully entered, with no exit: for a still frame or thumbnail. Defaults to `false`. |
| holdFrames? | `number` | — | Delays the start of the exit window by this many frames, for a minimum on-screen hold. Defaults to `0`. |
| text | `string` | — |  |
| src | `string` | — | A video, or an image (png, jpg, webp, gif, avif, svg). |
| drift? | `number` | `1` | Slow zoom and drift on the footage, so a still image or a static shot keeps moving. 0 turns it off. |
| size? | `number` | `220` |  |
| font? | `"mono" \| "heading" \| "body"` | `"heading"` |  |
| weight? | `number` | — |  |