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

# AI voiceover and narration

> Add generated, recorded, or uploaded narration to demo steps.

Each demo step can carry narration. In the no-code editor, you can write a script, choose a narrator voice, generate audio, record your own audio, or attach an existing audio asset.

The player starts voiceover when the step appears and keeps captions aligned with the audio.

## Add narration

Open a demo in the editor, select a step, and click **Voiceover**.

<Steps>
  <Step title="Choose a voice">
    Pick a narrator voice and preview the sample if you want to hear it first.
  </Step>

  <Step title="Write the script">
    Add the text the narrator should say. Inkly can seed the script from existing step message text.
  </Step>

  <Step title="Generate, record, or attach audio">
    Generate narration from the script, record audio in the browser, or attach an existing audio asset.
  </Step>

  <Step title="Preview the step">
    Play the demo to confirm the narration, timing, and captions work with the visual step.
  </Step>
</Steps>

## Generating speech

When you generate narration, Inkly synthesizes speech from your script and attaches the result to the step.

* The generated audio is stored as a demo **asset** and reused on every view.
* Inkly can create caption timing from the narration, so captions stay aligned with playback.
* A single request synthesizes up to 2,000 characters of text.

<Note>
  Viewers do not trigger voice generation. Inkly generates the audio once when you request it.
</Note>

## How it is stored

Voiceover uses the same demo source model as the rest of Inkly. The script, audio reference, and captions are saved with the demo, while the audio file is stored as a managed asset.

For the underlying fields, see the [demo schema](/schema/demo).
