Merchants can [add media](https://help.shopify.com/en/manual/products/product-media/add-media) to their products, like images, 3D models, videos, and YouTube or Vimeo videos. In this tutorial, you'll learn how to support product media in your theme. ## Resources - The `media` attribute of the [`product` object](/docs/api/liquid/objects/product#product-media) - [Media filters](/docs/api/liquid/filters/media-filters) ## Implementing product media Product media is usually displayed on the [product page](/docs/storefronts/themes/architecture/templates/product). However, you might want to display product media in other areas of your theme, so it's recommended to build your media display in a [snippet](/docs/storefronts/themes/architecture#snippets) so that it can be reused. To display product media, you can loop through the `media` attribute of the `product` object and apply the associated media filter, depending on the media type. ### Example If you want to output product media on the product page, and your product page content is hosted in a `product.liquid` section, then you might do the following: - Create a snippet called `media.liquid` to host your media display. - Render `media.liquid` in your `product.liquid` section.

Each media type in the example above is wrapped in a `
` element with custom `style` and data attributes. These are based on the considerations documented in [UX considerations](#ux-considerations), and should be adjusted accordingly to match your approach. > Tip: > For another example of supporting media in a theme, you can refer to Dawn's implementation in the [`main-product.liquid` section](https://github.com/Shopify/dawn/blob/main/sections/main-product.liquid) and [`product-thumbnail.liquid` snippet](https://github.com/Shopify/dawn/blob/main/snippets/product-thumbnail.liquid). ## UX considerations Every theme requires a different approach to create responsive media that works across all screen sizes and devices. The following general recommendations can help ensure that you're offering a good customer experience: - [Make media elements responsive](#responsive-media-elements) - [Preserve media element interactivity](#interactive-media-elements) A product can have multiple videos, so if your theme has a thumbnail view for each media element, or displays multiple media elements at once, you should ensure that only the active video is playing. > Tip: > For more in-depth information, refer to [Product media UX guidelines](/docs/storefronts/themes/product-merchandising/media/media-ux). ### Responsive media elements Shopify-hosted 3D models use [Google’s model viewer](https://modelviewer.dev/) component, and externally rendered videos are rendered in `