# ManualVideoManifest

**Kind:** Interface

**Source:** [`atloria-monorepo/packages/types/src/models/video.ts`](https://github.com/sherkety/atloria/blob/main/atloria-monorepo/packages/types/src/models/video.ts#L82)

The producer contract: `videos/<slug>.video.json` written by atlorix. Paths are
RELATIVE to the output dir (`videos/...`) until UploadService swaps them for CDN
URLs. This is also the shape UploadService groups into a ManualVideo row.

## Properties

| Property | Type |
|---|---|
| `slug` | `string` |
| `locale` | `string` |
| `voice` | `string` |
| `video` | `string` |
| `captions` | `string` |
| `poster` | `string` |
| `chapters` | `VideoChapter[]` |
| `durationMs` | `number` |
| `script` | `ManualVideoScript` |
| `gifs` | `Record<string, string>` |
| `hotspots` | `VideoHotspot[]` |
