---
canonical: https://amplience.com/developers/docs/apis/media-delivery/media-delivery-reference/sets/
title: Sets
  interactive: true
description: Retrieve images from an Amplience Dynamic Media set with the Media Delivery API, return set metadata as JSONP, JSON, XML, text, or HTML, and use SEO-friendly set URLs.
keywords:
  - Dynamic Media
  - Media Delivery API
  - Dynamic Media sets
  - image sets
  - set metadata
  - JSONP
audience: Developer
date_published: 2026-07-12
date_modified: 2026-07-27
---

# Sets {#sets}

Return an individual image from a set, including images nested inside another set, or return the set's metadata in one of five formats. Sets also support the same SEO-friendly URL paths as single images.

> **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/).

Sets are named groupings of assets. The Set API allows you to retrieve individual elements or full metadata from a set.

## Retrieving set images {#retrieving-set-images}

### Return first element {#set-first-element}

```uri
GET /s/{account}/{setName}
GET /s/{account}/{setName}?{params}
GET /s/{account}/{setName}/seoFilename
```

Returns the first element of the set as an image. For video sets, the thumbnail is returned. Standard image transformation parameters can be applied.

```uri
https://cdn.media.amplience.net/s/ampproduct/mytestset?w=400
```

### Return nth element {#set-nth-element}

```uri
GET /s/{account}/{setName}/{n}
GET /s/{account}/{setName}/{n}?{params}
```

Returns the nth element of the set as an image. Indexing starts at 1.

The element index is part of the URL path - edit it directly in the URL bar below to step through the set:

```uri
https://cdn.media.amplience.net/s/ampproduct/mytestset/3?w=400
```

### Return nested nth element {#set-nested-element}

```uri
GET /s/{account}/{setName}/{n}/{n}
```

Returns the nth element from within a nested set.

## Set metadata {#set-metadata}

Returns the contents of a set in the requested format.

Common query parameters for all metadata formats:

| Parameter | Description |
|---|---|
| `qual` | Whether URLs in the response are fully qualified. Default: `true` |
| `qry` | Query string appended to all set element URLs. Supports transformation template names. |
| `deep` | Whether nested set structure is included in the response. Default: `false` |

### JSONP format {#set-jsonp}

```uri
GET /s/{account}/{setName}.js
```

Returns set data 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/s/ampproduct/mytestset.js?qry=$exampletemplate$
```

### JSON format {#set-json}

```uri
GET /s/{account}/{setName}.json
```

Returns set data as JSON.

#### Example

```uri
https://cdn.media.amplience.net/s/ampproduct/mytestset.json
```

### XML format {#set-xml}

```uri
GET /s/{account}/{setName}.xml
```

Returns set data as XML.

#### Example

```uri
https://cdn.media.amplience.net/s/ampproduct/mytestset.xml
```

### Text format {#set-text}

```uri
GET /s/{account}/{setName}.txt
```

Returns set element URLs in plain text.

#### Example

```uri
https://cdn.media.amplience.net/s/ampproduct/mytestset.txt
```

### HTML format {#set-html}

```uri
GET /s/{account}/{setName}.html
```

Returns set elements as an HTML `<ul>` list with each element in a `<li>` tag.

Additional parameters:

| Parameter | Description |
|---|---|
| `ulCls` | CSS class applied to `<ul>` tags |
| `liCls` | CSS class applied to `<li>` tags |
| `size` | When `true`, adds original `width` and `height` attributes to `<img>` tags |

#### Example

```uri
https://cdn.media.amplience.net/s/ampproduct/mytestset.html?size=true
```

### SEO and sets {#seo-and-sets}

> **Info:** When adding SEO text to a set URL, avoid starting the SEO segment with a number - Dynamic Media will interpret it as a set index. Prefix with a non-numeric character to avoid this.

The following example results in an error because the Media Delivery API interprets "3" as the set index.

```uri
https://cdn.media.amplience.net/s/ampproduct/spring-collection-set/3-red-dress/womens/spring
```

Prefix the SEO segment with an underscore so that the URL is interpreted correctly.

```uri
https://cdn.media.amplience.net/s/ampproduct/spring-collection-set/_3-red-dress/womens/spring
```
## SEO {#seo}

The SEO text is included in the request path but does not affect the image returned.

### Examples {#seo-examples}

#### Base URL using a product code

```uri
https://cdn.media.amplience.net/i/ampproduct/1377455-collection-spring
```

#### With SEO path appended

```uri
https://cdn.media.amplience.net/i/ampproduct/1377455-collection-spring/womens/spring/red-dress
```
