How to show audio, video or HTML media in your app

Most NFTs with audio, video or HTML media have several media files associated with them. In order to specify the precise media file you would like to render, you will need to follow a few steps:

  1. Determine the key of the media file you would like to render. Common keys include image and animation_url.
    1. In order to determine the key, you can either:
      1. Query the List NFT Media endpoint to retrieve a list of all media files available for a particular NFT.
      2. Query the Show NFT Metadata endpoint (or the batched version). An allMediaPaths array is returned which provides the list of all available media files.
    2. Center categorizes the available media into four categories: image, audio, video and other. We also provide the mime type for each, so that you can decide what you want to render.
  2. If rendering an image, audio or video file use the Center Render NFT endpoint with the following:
    1. Specify original for the filename parameter.
    2. Provide the key in the mediaPath parameter. This is often animation_url for audio and video NFTs.
  3. If rendering other (e.g., HTML files):
    1. You should not use the Center Render NFT endpoint. Due to issues like relative paths and CORS, it is often not possible for us to render these directly.
    2. You should take the source URL from the media array and render it directly in your application using an iFrame or similar.

Want to predict the file type and size ahead of time?

We provide the mime type of each media file associated with an NFT in our media array (available both in the List Media response and the NFT Metadata response).

To determine the file size, you can:

  1. Make a header request to the Render NFT endpoint. This will provide the content-length and content-type for the media.
  2. Query the Show NFT Metadata endpoint. A media array will be returned, which provides information about the small and medium presets. If this media has already been rendered by Center, we will provide the file size.