# Emulation options

> Reference for the emulation options of the shotkit screenshot API, with an example request for each.

Media features and types the page sees, for screenshots in dark mode, without animations, or as printed.

### `dark_mode`

Emulate prefers-color-scheme: dark. Otherwise pages render in light mode.

Type: `boolean`

```bash
curl -X POST "https://shotkit.net/api/take" \
  -H "X-Access-Key: YOUR_ACCESS_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com","dark_mode":true}' \
  --fail-with-body -o shot.jpg
```

### `reduce_motion`

Actively finish/pause animations and videos. Finishes CSS animations and transitions, pauses videos and emulates `prefers-reduced-motion`. Fixes half-faded hero sections.

Type: `boolean` · Default: `false`

```bash
curl -X POST "https://shotkit.net/api/take" \
  -H "X-Access-Key: YOUR_ACCESS_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com","reduce_motion":true}' \
  --fail-with-body -o shot.jpg
```

### `reduced_motion`

Emulate prefers-reduced-motion: reduce. Only sets the media feature; pages decide what to do with it. See `reduce_motion` for the active version.

Type: `boolean`

```bash
curl -X POST "https://shotkit.net/api/take" \
  -H "X-Access-Key: YOUR_ACCESS_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com","reduced_motion":true}' \
  --fail-with-body -o shot.jpg
```

### `media_type`

CSS media type.

Type: `enum`

Values: `screen`, `print`

```bash
curl -X POST "https://shotkit.net/api/take" \
  -H "X-Access-Key: YOUR_ACCESS_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com","media_type":"print"}' \
  --fail-with-body -o shot.jpg
```
