--- title: MediaContentType - Storefront API description: The possible content types for a media object. api_version: unstable api_name: storefront type: enum api_type: graphql source_url: html: 'https://shopify.dev/docs/api/storefront/latest/enums/MediaContentType' md: 'https://shopify.dev/docs/api/storefront/latest/enums/MediaContentType.md' --- # Media​Content​Type enum The possible content types for a media object. ## Valid values * EXTERNAL\_​VIDEO An externally hosted video. * IMAGE A Shopify hosted image. * MODEL\_​3D A 3d model. * VIDEO A Shopify hosted video. *** ## Fields * [External​Video.mediaContentType](https://shopify.dev/docs/api/storefront/unstable/objects/ExternalVideo#field-ExternalVideo.fields.mediaContentType) OBJECT Represents a video hosted outside of Shopify. * [Media.mediaContentType](https://shopify.dev/docs/api/storefront/unstable/interfaces/Media#fields-mediaContentType) INTERFACE A common set of fields for media content associated with [products](https://shopify.dev/docs/api/storefront/current/objects/Product). Implementations include [`MediaImage`](https://shopify.dev/docs/api/storefront/current/objects/MediaImage) for Shopify-hosted images, [`Video`](https://shopify.dev/docs/api/storefront/current/objects/Video) for Shopify-hosted videos, [`ExternalVideo`](https://shopify.dev/docs/api/storefront/current/objects/ExternalVideo) for videos hosted on platforms like YouTube or Vimeo, and [`Model3d`](https://shopify.dev/docs/api/storefront/current/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. * [Media​Image.mediaContentType](https://shopify.dev/docs/api/storefront/unstable/objects/MediaImage#field-MediaImage.fields.mediaContentType) OBJECT An image hosted on Shopify's content delivery network (CDN). Used for product images, brand logos, and other visual content across the storefront. The [`image`](https://shopify.dev/docs/api/storefront/current/objects/MediaImage#field-MediaImage.fields.image) field provides the actual image data with transformation options. Implements the [`Media`](https://shopify.dev/docs/api/storefront/current/interfaces/Media) interface alongside other media types like [`Video`](https://shopify.dev/docs/api/storefront/current/objects/Video) and [`Model3d`](https://shopify.dev/docs/api/storefront/current/objects/Model3d). * [Model3d.mediaContentType](https://shopify.dev/docs/api/storefront/unstable/objects/Model3d#field-Model3d.fields.mediaContentType) OBJECT Represents a Shopify hosted 3D model. * [Video.mediaContentType](https://shopify.dev/docs/api/storefront/unstable/objects/Video#field-Video.fields.mediaContentType) OBJECT A video hosted on Shopify's servers. Implements the [`Media`](https://shopify.dev/docs/api/storefront/current/interfaces/Media) interface and provides multiple video sources through the [`sources`](https://shopify.dev/docs/api/storefront/current/objects/Video#field-Video.fields.sources) field, each with [format](https://shopify.dev/docs/api/storefront/current/objects/Video#field-Video.fields.sources.format), dimensions, and [URL information](https://shopify.dev/docs/api/storefront/current/objects/Video#field-Video.fields.sources.url) for adaptive playback. For videos hosted on external platforms like YouTube or Vimeo, use [`ExternalVideo`](https://shopify.dev/docs/api/storefront/current/objects/ExternalVideo) instead. *** ## Map ### Fields with this enum * [External​Video.mediaContentType](https://shopify.dev/docs/api/storefront/unstable/objects/ExternalVideo#field-ExternalVideo.fields.mediaContentType) * [Media​Image.mediaContentType](https://shopify.dev/docs/api/storefront/unstable/objects/MediaImage#field-MediaImage.fields.mediaContentType) * [Model3d.mediaContentType](https://shopify.dev/docs/api/storefront/unstable/objects/Model3d#field-Model3d.fields.mediaContentType) * [Video.mediaContentType](https://shopify.dev/docs/api/storefront/unstable/objects/Video#field-Video.fields.mediaContentType)