# Video and content size

`options.video.size` controls two things: the final pixel size of `demo.mp4` and, when a background is set, how the recorded UI sits inside that canvas. Picking the right size matters because Slideshot captures at the size you ask for. There is no upscale or downscale at render time.

## Output size

`width` and `height` set the final video dimensions and must be provided together.

- Width range: `320` to `2560`.
- Height range: `180` to `1440`.
- Default when omitted: `1920x1080`.

```json
{
  "video": {
    "size": { "width": 1920, "height": 1080 }
  }
}
```

When no background is set, the recorded UI fills the full output canvas at the requested size.

![Video size placeholder: landscape 16:9](https://placehold.co/1280x720/eeeae3/0c0b09?text=Video+size+%E2%80%94+16%3A9)

### Common sizes

- `1920x1080`: Landscape default. Best for docs, release notes, and product pages.
- `1280x720`: Smaller landscape for help-center embeds.
- `1080x1080`: Square. Good for Instagram, LinkedIn, and embedded social previews.
- `1080x1920`: Vertical for mobile feeds (Reels, Shorts, TikTok).
- `2560x1440`: Maximum landscape for large embeds or trailer-style hero clips.

Vertical and square sizes work without any extra option. Slideshot lays out the captured content to fit.

## Content size

`content` controls how the recorded UI is framed inside the output canvas. It only applies when `options.video.background` is also set; without a background, the capture fills the canvas directly.

```json
{
  "video": {
    "size": {
      "width": 1920,
      "height": 1080,
      "content": { "scale": 0.9 }
    },
    "background": { "type": "solid", "color": "#0B1220" }
  }
}
```

Rules:

- `content.scale` accepts `0.5` through `1`. The default when a background is present and `content` is omitted is `0.95`.
- `content.padding` is a non-negative integer in pixels. The framed content must still be at least `160x90` after the padding is applied.
- `content.padding` and `content.scale` are not combined. When both are supplied, `padding` wins.

![Content size placeholder: content framing](https://placehold.co/1280x720/d4cdbf/0c0b09?text=Content+framing+%E2%80%94+padding+%26+zoom)

## Picking sizes by audience

- **Docs and help center.** `1920x1080` landscape with no background. Lets the captured UI fill the frame so viewers can read every label.
- **Launch hero clips.** `1920x1080` with a branded background and `content.scale` between `0.88` and `0.92` so the brand canvas breathes around the UI.
- **Social feed clips.** `1080x1080` square or `1080x1920` vertical. Pair with a background and `content.padding` to keep the UI legible on mobile.
- **Changelog embeds.** `1280x720` landscape, no background, modest cursor size.

## Agent prompt pattern

```text
Create a Slideshot video optimized for social sharing, with the product UI
large enough to read on mobile. Use a 1080x1920 vertical output and frame
the captured content on a quiet brand gradient.
```

## Related

- [Background](/docs/customizing-video/background): the canvas that the content size frames against.
- [Intro templates](/docs/customizing-video/intro-templates): match the intro card to the output size.
- [Show shortcuts](/docs/customizing-video/show-shortcuts): overlay keyboard chips when the output is dense.
