---
canonical: https://amplience.com/developers/docs/apis/media-delivery/media-delivery-reference/video/
title: Video
  interactive: true
description: Deliver video with Amplience Dynamic Media and the Media Delivery API, including transcode profiles, HTTPS delivery, thumbnails, video metadata, and HTML video embeds.
keywords:
  - Dynamic Media
  - Media Delivery API
  - Dynamic Media video
  - transcode profile
  - video thumbnail
  - poster frame
  - video metadata
audience: Developer
date_published: 2026-07-12
date_modified: 2026-07-27
---

# Video {#video}

Serve a transcoded video over HTTPS, pull a poster frame or a named thumbnail out of it, retrieve its metadata, and generate the HTML needed to embed it in a page.

> **Note: Base URL pattern**
> The parameters on this page are appended to a Dynamic Media image URL. For the URL pattern and how parameters chain together, see the [Media Delivery API guide](https://amplience.com/developers/docs/apis/media-delivery/media-delivery-reference/).

Video assets are accessed by including the transcode profile name in the URL path.

```uri
GET /v/{account}/{videoName}/{profile}
```

```uri
https://cdn.media.amplience.net/v/ampproduct/winter-coat/mp4_720p
```

Omitting the profile returns the poster frame (or first frame if no poster has been set):

```uri
https://cdn.media.amplience.net/v/ampproduct/winter-coat
```

Use multiple `<source>` tags to provide format fallbacks for different browsers:

```html
<video controls>
  <source src="https://cdn.media.amplience.net/v/ampproduct/winter-coat/webm720p" type="video/webm" codecs="vp8, vorbis">
  <source src="https://cdn.media.amplience.net/v/ampproduct/winter-coat/mp4_720p" type="video/mp4" codecs="h264, aac">
  <source src="https://cdn.media.amplience.net/v/ampproduct/winter-coat/mp4_480p" type="video/mp4" codecs="h264, aac">
</video>
```

## Serving video over HTTPS {#video-https}

Add `protocol=https` to the video URL:

```uri
https://cdn.media.amplience.net/v/ampproduct/ski-collection/mp4_720p?protocol=https
```

`protocol=https` can also be set in your account root template.

## Video thumbnails {#video-thumbnails}

When video is ingested to the Amplience DAM, 100 thumbnails are generated at regular intervals. Standard image manipulation parameters can be applied to thumbnails.

When video is ingested, 100 thumbnails are generated at evenly spaced intervals, indexed `frame_0000` to `frame_0099`. The interval is the video duration divided by 100, so it depends on the length of the video - for a 9 minute video the thumbnails are roughly 5 seconds apart, for a 30 second video roughly 300ms apart. `frame_0000` is the first frame and `frame_0099` is at 99% of the duration, so there is no thumbnail of the final frame. Standard image manipulation parameters can be applied to thumbnails. The [video metadata](#video-metadata) response lists every thumbnail with its exact time offset in milliseconds.

### Return poster frame {#video-poster-frame}

```uri
GET /v/{account}/{videoName}
```

Returns the poster frame. If no poster frame has been set, returns the first generated thumbnail. Append an image extension (`.png`, `.jpg`) to set the output format, and apply image parameters as usual:

```uri
https://cdn.media.amplience.net/v/ampproduct/ski-collection.jpg?h=400
```

### Return specified thumbnail {#video-specified-thumbnail}

```uri
GET /v/{account}/{videoName}/thumbs/{frame}
```

Returns a specific thumbnail by frame index.

The frame index is part of the URL path - in the URL bar below edit `frame_0020` to any index from `frame_0000` to `frame_0099` to view generated thumbnails:

```uri
https://cdn.media.amplience.net/v/ampproduct/ski-collection/thumbs/frame_0020.jpg?h=400
```

## Video metadata {#video-metadata}

Returns metadata for all or a specific transcode profile. Common parameters for all metadata formats:

| Parameter | Description |
|---|---|
| `qual` | Whether video URLs in the response are fully qualified. Default: `true` |
| `profile` | Return metadata for the specified profile only |

### JSONP format {#video-jsonp}

```uri
GET /v/{account}/{videoName}.js
```

Returns video metadata as JSON wrapped in a JSONP callback.

Additional parameters:

| Parameter | Description |
|---|---|
| `func` | Name of the JSONP callback function |
| `arg` | Optional argument passed to the callback function |

#### Example

```uri
https://cdn.media.amplience.net/v/ampproduct/ski-collection.js?profile=webm-720p
```

### JSON format {#video-json}

```uri
GET /v/{account}/{videoName}.json
```

#### Example

```uri
https://cdn.media.amplience.net/v/ampproduct/ski-collection.json?profile=webm-720p
```

### XML format {#video-xml}

```uri
GET /v/{account}/{videoName}.xml
```

#### Example

```uri
https://cdn.media.amplience.net/v/ampproduct/ski-collection.xml?profile=webm-720p
```

### Text format {#video-text}

```uri
GET /v/{account}/{videoName}.txt
```

#### Example

```uri
https://cdn.media.amplience.net/v/ampproduct/ski-collection.txt?profile=webm-720p
```

### Sitemap {#video-sitemap}

```uri
GET /v/{account}/{videoName}.sitemap
```

Generates a sitemap from the video metadata.

#### Example

```uri
https://cdn.media.amplience.net/v/ampproduct/ski-collection.sitemap
```

## Generating HTML video embeds {#video-html-embeds}

Append `.html` to a video URL to return a complete HTML page containing `<video>` tags with `<source>` elements for each transcode profile.

```uri
GET /v/{account}/{videoName}.html
```

### Example

```uri
https://cdn.media.amplience.net/v/ampproduct/winter-coat.html
```

The following query parameters customise the generated HTML:

| Parameter | Type | Default | Description |
|---|---|---|---|
| `preload` | `auto` \| `metadata` \| `none` | `auto` | Controls browser preload behaviour |
| `loop` | boolean | `false` | Loops the video continuously |
| `controls` | boolean | `true` | Shows player controls |
| `autoplay` | boolean | `false` | Starts playback on page load |
| `resize` | boolean | `true` | Resizes the video to fit the screen |
| `snippet` | boolean | `false` | Returns only the `<video>` tag instead of a full HTML page |
| `bitrate` | integer | - | Selects the profile with the closest matching bitrate |
| `width` | integer | - | Width of the video in pixels |
| `height` | integer | - | Height of the video in pixels |
| `css` | string | - | Style attributes applied to the `<video>` tag |
| `bodyCSS` | string | - | Style attributes applied to the `<body>` tag |

#### Examples

```uri
https://cdn.media.amplience.net/v/ampproduct/winter-coat.html?loop=true
https://cdn.media.amplience.net/v/ampproduct/winter-coat.html?bitrate=400
https://cdn.media.amplience.net/v/ampproduct/winter-coat.html?css=background-color:red
```
