---
title: Media - Storefront API
description: >-
  A common set of fields for media content associated with

  [products](/docs/api/storefront/2026-10/objects/Product).

  Implementations include
  [`MediaImage`](/docs/api/storefront/2026-10/objects/MediaImage)

  for Shopify-hosted images,

  [`Video`](/docs/api/storefront/2026-10/objects/Video) for

  Shopify-hosted videos,
  [`ExternalVideo`](/docs/api/storefront/2026-10/objects/ExternalVideo)

  for videos hosted on platforms like YouTube or Vimeo, and

  [`Model3d`](/docs/api/storefront/2026-10/objects/Model3d) for 3D models.


  Each implementation shares fields for alt text, content type, and preview

  images, while adding type-specific fields like embed URLs for external videos
  or

  source files for 3D models.
api_version: 2026-10
source_url:
  html: 'https://shopify.dev/docs/api/storefront/latest/interfaces/Media'
  md: 'https://shopify.dev/docs/api/storefront/latest/interfaces/Media.md'
api_name: storefront
api_type: graphql
type: interface
---

# Media

interface

Requires `unauthenticated_read_product_listings` access scope.

A common set of fields for media content associated with [products](https://shopify.dev/docs/api/storefront/2026-10/objects/Product). Implementations include [`MediaImage`](https://shopify.dev/docs/api/storefront/2026-10/objects/MediaImage) for Shopify-hosted images, [`Video`](https://shopify.dev/docs/api/storefront/2026-10/objects/Video) for Shopify-hosted videos, [`ExternalVideo`](https://shopify.dev/docs/api/storefront/2026-10/objects/ExternalVideo) for videos hosted on platforms like YouTube or Vimeo, and [`Model3d`](https://shopify.dev/docs/api/storefront/2026-10/objects/Model3d) for 3D models.

Each implementation shares fields for alt text, content type, and preview images, while adding type-specific fields like embed URLs for external videos or source files for 3D models.

## Fields

* alt

  [String](https://shopify.dev/docs/api/storefront/latest/scalars/String)

  A word or phrase to share the nature or contents of a media.

* id

  [ID!](https://shopify.dev/docs/api/storefront/latest/scalars/ID)

  non-null

  A globally-unique ID.

* media​Content​Type

  [Media​Content​Type!](https://shopify.dev/docs/api/storefront/latest/enums/MediaContentType)

  non-null

  The media content type.

* presentation

  [Media​Presentation](https://shopify.dev/docs/api/storefront/latest/objects/MediaPresentation)

  The presentation for a media.

* preview​Image

  [Image](https://shopify.dev/docs/api/storefront/latest/objects/Image)

  The preview image for the media.

***

##### Variables

```json
{
	"alt": "",
	"id": "",
	"mediaContentType": "",
	"presentation": "",
	"previewImage": ""
}
```

##### Schema

```graphql
interface Media {
  alt: String
  id: ID!
  mediaContentType: MediaContentType!
  presentation: MediaPresentation
  previewImage: Image
}
```
