# mediaContents

Query

Retrieve media contents (images / videos) for shop items (`itemIds`) or for `CompetitorBrandItem` rows (`competitorBrandItemIds`). Pass exactly one. See the resolver description for routing details.

Available to agents as MCP tool `getMediaContents` — see [Read tools](/api/v2/docs/mcp/read-tools#get-media-contents).

## Arguments

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `competitorBrandItemIds` | `[ID!]` | No | — | `CompetitorBrandItem` UUIDs to fetch contents for. Obtain them from the `competitorBrandItems(brandId:, filter:)` query. Mutually exclusive with `itemIds`. |
| `itemIds` | `[ID!]` | No | — | Item (shop-item) UUIDs to fetch contents for. Mutually exclusive with `competitorBrandItemIds`. |

## Returns

Returns [`[MediaContent!]!`](/api/v2/docs/types/media-content).

## Examples

### Get media contents for items

Fetch images and videos for a set of item IDs.

```graphql
query MediaContentsDefault($itemIds: [ID!]) {
  mediaContents(itemIds: $itemIds) {
    ... on Image {
      id
      type
      mediaItemId
      fileUrl
      thumbnailUrl
      width
      height
    }
    ... on Video {
      id
      type
      mediaItemId
      fileUrl
      thumbnailUrl
      videoDuration
    }
  }
}
```

Variables:

```json
{
  "itemIds": [
    "63c311c4-32f0-5d8c-ac02-78b160f2290a",
    "99bb982f-563c-5cd7-9475-2798be58f881"
  ]
}
```

Response — HTTP 200:

```json
{
  "data": {
    "mediaContents": [
      {
        "id": "1",
        "type": "IMAGE",
        "mediaItemId": "70150764-391a-5058-a409-df18743603d5",
        "fileUrl": "http://example.com/seeds/images-600x600/0001.jpg",
        "thumbnailUrl": "http://example.com/seeds/images-600x600/0001.jpg",
        "width": 600,
        "height": 600
      },
      {
        "id": "2",
        "type": "VIDEO",
        "mediaItemId": "710e5589-be6b-5fc5-9f9f-f4e4d6d0f076",
        "fileUrl": "http://example.com/seeds/images-600x600/0002.jpg",
        "thumbnailUrl": "http://example.com/seeds/images-600x600/0002.jpg",
        "videoDuration": 10
      }
    ]
  }
}
```
