> ## Documentation Index
> Fetch the complete documentation index at: https://docs.decktalk.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> Narrated presentations, cut to the word.

<Frame>
  <img className="block dark:hidden" src="https://mintcdn.com/decktalk/WP0zZ5w_52KyCfdW/images/hero-light.svg?fit=max&auto=format&n=WP0zZ5w_52KyCfdW&q=85&s=55d3cb889125b73c1e8e8db3bb249b21" alt="A playhead moves along a spoken sentence, one tick per word. The slide reacts on exactly the right words." width="1200" height="300" data-path="images/hero-light.svg" />

  <img className="hidden dark:block" src="https://mintcdn.com/decktalk/WP0zZ5w_52KyCfdW/images/hero-dark.svg?fit=max&auto=format&n=WP0zZ5w_52KyCfdW&q=85&s=0b01d0785cc05f160fd077ff2da4efba" alt="A playhead moves along a spoken sentence, one tick per word. The slide reacts on exactly the right words." width="1200" height="300" data-path="images/hero-dark.svg" />
</Frame>

DeckTalk turns a markdown script and plain HTML slides into one narrated mp4. An
ElevenLabs voice reads the script and returns a timestamp for every word. Each visual
names the phrase it should land on. DeckTalk records the slides in headless Chromium,
cuts the recording to the narration, mixes an optional soundscape, and publishes the
film. When you change a sentence, only that section renders again.

<CardGroup cols={2}>
  <Card title="Quickstart" icon="play" href="/quickstart">Install DeckTalk, build the scaffold, and add your voice. Ten minutes.</Card>
  <Card title="Your first deck" icon="pen-line" href="/guides/first-deck">Write a section, cue it, and build a slide for it. The four files and how they refer to each other.</Card>
  <Card title="Reference card" icon="bolt" href="/reference/card">Every file, command, variable, and exit code on one page. Written for agents and for people in a hurry.</Card>
  <Card title="Python API" icon="python" href="/reference/python-api">Drive the pipeline from your own code.</Card>
</CardGroup>

## Five words

The documentation uses five words with fixed meanings.

| Word        | Meaning                                                                                                                                                      |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Section** | One `## N. Title` block of `script.md` together with its `[[section]]` table in `decktalk.toml`. A section is the unit of narration, recording, and cutting. |
| **Scene**   | What a page plays for one section. The page declares it with `DeckTalk.scene(N, …)`, and the recorder selects it with `?scene=N`.                            |
| **Step**    | One slide state inside a scene. The query `?step=ID` freezes it for review.                                                                                  |
| **Cue**     | A named moment. In `cues.json` it is a spoken phrase to find. In the page it is an id that reveals elements or runs a handler.                               |
| **Beat**    | A cue resolved to seconds after the section's narration begins. DeckTalk stores beats in `build/audio/beats.json` and hands them to the page as `?beats=`.   |

The same number `N` names a section in the script, its `[[section]]` table, its key in
`cues.json`, and by default its scene in the page. Step ids and cue ids are strings that
the page and `cues.json` agree on, and the scaffold prefixes them with the scene number.

## What DeckTalk is not

DeckTalk is not a video editor and never makes a screen recording of you. It is not an
avatar generator. It does not time visuals by frame in code, as Remotion and Motion
Canvas do. It is for the case where the timing should come from the words and the slides
are yours.

## How the documentation is organized

* **Get started** installs the tool and walks through authoring one section.
* **Concepts** explains each input and the pipeline that turns them into a film.
* **Reference** lists every command, key, field, artifact, and Python name.
* **Help** covers the errors you can hit and the questions people ask before trying it.

<Note>Every page is also served as plain text for language models at
[docs.decktalk.app/llms.txt](https://docs.decktalk.app/llms.txt) and
[llms-full.txt](https://docs.decktalk.app/llms-full.txt).</Note>
