# Music, sound and captions

> Add royalty-free music, your own audio, styled captions and title cards to a ShowTake video, from your agent or the editor.

Source: https://showtake.app/docs/music-and-captions

Most feeds autoplay videos muted, so captions carry the story; music makes the same video feel finished when the sound is on. ShowTake handles both, and the defaults are tuned so your agent rarely needs to change anything.

## Music

ShowTake has a built-in library of 15 tracks, from upbeat and tech to calm, playful, cinematic and lo-fi. Every track is **CC0 (public domain)**: use it in App Store previews, ads and social posts, commercially, with no credit needed. Tracks download the first time you use them and are cached on your Mac.

Ask your agent for music, or name a mood:

```text
Add upbeat music to the demo and export it for X and the App Store.
```

The agent calls `list_music` (moods, energy 1-5, tempo, length) and renders with `music: {track: "<id>"}`. What ShowTake does for you:

- **Loudness:** the soundtrack is mixed to -16 LUFS with a peak limiter, the level social platforms play back at.
- **Start and end:** the music starts on its first beat with a short fade-in and fades out over about two bars, starting on a bar line, so it ends with the video instead of being cut off.
- **Longer videos:** the track loops on bar lines with a short crossfade.
- **App Previews:** music is allowed; the file gets the stereo AAC track Apple requires either way.

Change only what you need:

| Ask for | The agent passes |
| --- | --- |
| Quieter music | `music: {volume: 0.5}` (0-1; 0.5 is about 6 dB quieter) |
| Start later in the track | `music: {start_ms: 12000}` |
| Longer fade-in or fade-out | `music: {fade_in_ms: 1500, fade_out_ms: 3000}` |
| Lower the music over a part | `music: {volume_ranges: [{from_ms, to_ms, volume: 0.3}]}` (take times) |
| No music | `music: {track: "none"}` |

In the app, open a take and use the **Sound** tab of the inspector: pick a track (play it first), set the volume and fades.

## Your own audio (Pro)

With Pro, the agent can place audio files you already have, such as a voice recording, a sound effect or your own music:

```text
Use ~/Desktop/voiceover.m4a from step 2, and my track ~/Music/theme.mp3 as the music.
```

- `audio: [{file, step | start_ms, trim_start_ms, trim_end_ms, volume, fade_in_ms, fade_out_ms, duck}]` places a segment at a step or a take time and plays the part you choose.
- Every segment is normalized to -16 LUFS, and **the music dips by 12 dB while it plays** (`music.duck_db` changes the dip). Set `duck: false` for short sound effects.
- Voice-like segments never overlap: a later one waits for the previous one, and `render` tells the agent.
- `music: {file}` uses your own music file instead of a library track.

On the free plan these answer with a short "needs Pro" message; the library, volume ranges and ducking stay free.

## Captions

Your agent writes one caption per step while filming; they appear as white bold text on a dark pill, at the bottom, moving up while the iOS keyboard is open. To change the look of every caption:

```text
Make the captions larger, as lower thirds.
```

| Setting | Values |
| --- | --- |
| `preset` | `pill` (default), `plain` (text with a soft shadow), `bold` (large title), `lower_third` (left panel with an accent bar) |
| `position` | `auto` (default), `top`, `center`, `bottom`, always inside the preset's safe area |
| `size` | `s`, `m` (default), `l`, `xl` |
| `weight` | `regular`, `medium`, `semibold`, `bold`, `heavy` |
| `text_color`, `background` | `#RRGGBB`, `#RRGGBBAA`, or `none` for no background |

Colours must keep a contrast of at least 3:1, or `render` refuses them and suggests readable ones. Long captions wrap; keep them to about 8 words. Emoji work.

- Edit one caption: `captions: [{step: 3, text: "Pick a glaze", style: {position: "top"}}]`, or hide it with `hidden: true`.
- Add a caption that is not tied to a step: `captions: [{text: "Ships today", start_ms: 4000, end_ms: 6500}]`.

## Title and end cards

`title_card: {title: "Food Truck", subtitle: "Design your donut"}` opens the video with large text over a softened first frame (ShowTake adds about two seconds before the first step so nothing is hidden). `end_card` closes it the same way, for example with your app's name and "On the App Store". Keep titles short, and keep prices and "free" out of App Previews: App Review rejects them.

## What you get back

`render` lists the music, every audio segment with its time, any notes (a segment moved or cut short) and the cards. `export` measures each file's loudness and peak (`audio_lufs`, `audio_peak_db`) and warns when the sound is far from -16 LUFS.

## Plans

| | Free | Pro |
| --- | --- | --- |
| Music library, volume, fades, volume ranges | Yes | Yes |
| Caption styles, free captions, title and end cards | Yes | Yes |
| Your own audio files and music | | Yes |

Free exports keep the usual limits (X 16:9 at 1080p, with a small watermark).
