# VideoChapter

**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#L17)

Manual video model (D1)
-----------------------------
The contract for auto-narrated video / GIF walkthroughs, shared between the
producer (atlorix build_videos -> the API's UploadService rewrite) and the
render side (the web viewer's ChapteredVideo). A page-level chaptered video is
produced from the recorded click trajectory + spoken narration; the reader
seeks the native player from a chapter list and can show WebVTT captions.

atlorix emits [[VIDEO: <slug>]] / [[GIF: <slug>--sNN]] tokens into the page and
a per-page `<slug>.video.json` (ManualVideoManifest). UploadService uploads the
`videos/` artifacts, rewrites [[VIDEO:]] -> a `:::video{...}` directive and
[[GIF:]] -> a markdown image, and persists one ManualVideo row per page.

## Properties

| Property | Type |
|---|---|
| `step` | `number` |
| `title` | `string` |
| `start` | `number` |
| `startMs` | `number` |
