> For the complete documentation index, see [llms.txt](https://help.blotato.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.blotato.com/web-app-features/videos/ai-voiceover-captions.md).

# AI Voiceover Captions

## Two Ways to Add AI Voiceover

### Option 1: Use a Template with AI Voice (Recommended)

#### Using Blotato Web App

1. Open [Videos > Create New Video](https://my.blotato.com/videos/new).
2. Select the "AI Video with AI Voice" template card.
3. Enter a prompt requesting your video and narration.
4. Open "Need more customization? Click to see advanced options".
5. Turn on "AI Voiceover".
6. Click "Generate Video".
7. Review the narration before publishing.

For word-for-word narration, use "Add Scene" under "Scenes" and enter each scene's text in "Voiceover Script" before generating. Set each scene's "Media Source" for its image or video. Narration requires script content as well as "AI Voiceover". A blank script does not produce narration.

See [Make Your First AI Video](/web-app-features/videos/make-your-first-ai-video.md).

#### Using Blotato API (n8n / Make.com)

1. Retrieve the [AI Video with AI Voice template](/rest-api-reference/visuals/5903fe43-514d-40ee-a060-0d6628c5f8fd.md) and its input schema.
2. For manual inputs, supply narration in `inputs.scenes[].script` with each scene's `mediaSource`, and set `inputs.enableVoiceover` to `true`.
3. Follow [Create and publish a visual](/agent-workflows/agent-workflows/visuals.md) to generate and verify the output before any publication request.

### Option 2: Add Voiceover to an Existing Video

If you already have a video (or chose a template without voiceover), you can add AI voiceover in the editor. Follow the instructions below.

***

## Use Your Own Recorded Voice

You have two ways to use your own voice instead of a built-in AI voice:

* **Upload a recording you already made.** In the video editor, click **Audio** in the left sidebar, click Choose File, and upload your audio file. See [Upload Custom Music, Audio, or Sounds](/web-app-features/videos/custom-assets.md#how-do-you-upload-custom-music-audio-or-sounds).
* **Clone your voice with ElevenLabs.** Add your ElevenLabs API key in [Settings > API](https://my.blotato.com/settings/api) (scroll to the bottom), then pick your cloned voice from the Voice panel. See [Elevenlabs Custom AI Voices](#elevenlabs-custom-ai-voices) below.

Note: an uploaded audio file does not create caption timings, so "Align to Captions" won't work with it. To sync visuals to narration, generate the voiceover from your script instead.

***

## How do I add an AI voiceover?

Select the caption track in the video editor, then open its Voice tab. Follow the steps below to edit the script before generating narration.

## How to Generate AI Voiceover Captions

### Using Blotato Web App

1. Open [Videos](https://my.blotato.com/videos).
2. Select the video's thumbnail to open the editor.
3. Click the caption track on the timeline.
4. Open Captions in the selected track's settings.
5. Click the text box for the sentence you want to change.
6. Replace its text.
7. Open Voice.
8. Select the voice you want.
9. Click Generate Voiceover.
10. Preview the narration.
11. Export again before Download or Create Post.

If no caption track exists, select Caption in the editor toolbar and add your script. If track settings are hidden in a narrow window, open the editor at desktop width to access the Captions and Voice tabs. Selecting Caption in the toolbar is different from editing a sentence in an existing track.

![Video editor showing its tools, timeline, and export controls](https://2374509648-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FevfU9S4Nh53PiGflQLah%2Fuploads%2Fgit-blob-66fbcefbe611676b7f0a5d6eac270ffe0d8198f1%2Fui-video-editor-2026-09.jpg?alt=media)

All built-in Blotato voices use ElevenLabs' multilingual model. To generate a voiceover in a non-English language (e.g. Spanish, French, Portuguese), write your script in that language. The voice output matches the script language automatically — no language parameter needed.

When you click "Generate Voiceover", this will generate the AI voice reading your script.

### Using Blotato API (n8n / Make.com)

Use the selected template's narration inputs, not the website's caption-track controls. Follow the [AI Video with AI Voice template](/rest-api-reference/visuals/5903fe43-514d-40ee-a060-0d6628c5f8fd.md) and [visual generation workflow](/agent-workflows/agent-workflows/visuals.md). Generation and publishing remain separate actions.

### After generating the voiceover, re-export

Generating the voiceover updates the draft in the editor. It does not update a file you already exported. Click "Export" in the top right corner to render a new version with the audio, then click "Download" or "Create Post".

If your video plays with no sound after you download it, this is the most common cause.

***

## How to Align Images/Video with AI Voiceover Caption?

After the AI voice is generated, you will probably need to align your image/video tracks with the AI voice captions. Click on your image or video track, then click "Align to Captions":

Note: "Align to Captions" works with the caption track generated by the AI voiceover. An audio file you upload yourself (via Audio in the sidebar) does not create caption timings, so there is nothing to align to -- generate the voiceover from your script first, or use the "AI Video with AI Voice" template.

***

## Elevenlabs Custom AI Voices

If you want to use your custom Elevenlabs voice, plug in your Elevenlabs API key first. You do not paste a voice ID anywhere in Blotato -- your custom voices load automatically once the API key is saved.

Go to [Settings > API](https://my.blotato.com/settings/api) and scroll to the bottom to find the ElevenLabs API key field. Paste your key there and click Save:

When you create a video in the web app, all your custom Elevenlabs voices will be listed and available for you to select.

Click on the BLUE caption track, then go to the "Voice" panel to see your custom Elevenlabs voices:

### Custom voices not showing up, or key says "not valid"

If your ElevenLabs voices do not load, or Blotato rejects the key as invalid even after re-pasting it:

1. Enable billing on your ElevenLabs account. ElevenLabs disables API access until a payment method (credit card) is attached, which makes the key read as invalid in Blotato.
2. Give the key the required permissions. A restricted ElevenLabs key without read access to voices and models fails to load your voices, and Blotato reports the key as invalid. In the ElevenLabs dashboard, create the API key with voices and models read access enabled, or create an unrestricted key. See [My ElevenLabs voices don't show up](/web-app-features/videos/faqs.md#my-elevenlabs-voices-dont-show-up-or-blotato-says-my-elevenlabs-key-is-invalid).
3. Confirm the key is copied in full from the ElevenLabs dashboard, with no trailing spaces.
4. Re-paste the key in [Settings > API](https://my.blotato.com/settings/api) and click Save.
5. Reopen your video, click the BLUE caption track, and check the Voice panel.

***

The public Create Visual template API does not expose a custom `voiceId` field. Use the selected template's voice input or the external-audio workflow below.

For external audio, generate an MP3 or WAV through the [ElevenLabs API](https://elevenlabs.io/docs/api-reference). Follow the [external-audio workflow](/rest-api-reference/accounts/voice-ids.md) to use the audio URL with Combine Clips and Apply Basic Edits.

Full list of built-in AI voices available via Blotato API: [Voice IDs](/rest-api-reference/accounts/voice-ids.md)

## How do I change the voiceover speed?

The voiceover controls do not include a speech-speed setting. Stability, similarity, and style settings do not set speech speed.

To control pacing now, add punctuation like "..." or line breaks between phrases in your script. This creates pauses in the AI voiceover. Then click "Generate Voiceover" to regenerate the audio with the updated pacing.

***

## Not seeing BLUE caption track to generate AI voiceover?

If you created a video without a script, then it won't have the blue CAPTION track. But you can always add it by clicking CAPTION in the left sidebar, type in your desired captions, then you'll see the option to generate the AI voiceover.\
​\
For POV style videos, for example, captions and AI voices aren't usually used. So Blotato provides flexibility depending on your use case.

***

## How do I keep the AI voiceover but hide the on-screen captions?

You can keep the AI voice and hide the visible caption text:

1. Click the BLUE caption track in the video editor
2. Click STYLE on the left sidebar
3. Set the caption font opacity to 0

The AI voiceover still plays because the voice audio is separate from the visible caption text. Lowering the opacity hides the on-screen words while keeping the narration.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://help.blotato.com/web-app-features/videos/ai-voiceover-captions.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
