Token Media

Supported media types

For tokens that support recognized NFT contracts, the original metadata and media links will always be provided in each response. For convenience, SimpleHash also provides cached preview versions of media files associated with an NFT. Listed below are the supported media formats, and how to handle each media option.

If there is a specific or custom format that you require support for, please reach out to [email protected].

Cached Media URLs

SimpleHash caches and saves the media files of all NFTs on the indexed chains. If an NFT has an image / media file cached on the SimpleHash CDN, it will appear in the following format, with one or all of the fields image_url, video_url, audio_url and model_url: <>.

In rare cases, only the original media links are available. Original media links (e.g., in the response on the image_original_url field within extra_metadata are usually returned as either base64 format (e.g., data:image/svg+xml;base64,PHN2Z...), in which case they can be rendered directly, or as an external link (e.g., ipfs://QmbAhtqQqiSQqwCwQgrRB6urGc3umTskiuVpgX7FvHhutU/8667.png).

In the case of an IPFS link, you have the option of appending an IPFS gateway to serve the image (such as, which will result in a link similar to this: <

Media Previews

For most NFT responses, SimpleHash provides preview versions of the relevant media file within the previews field. These are a set of URLs linking to resized preview images of the media, including an opengraph image, and blurhash, where available.

All previews will be translated to one of jpeg, png or gif formats. When generating previews of SVGs, images are converted to png format for improved compatibility. Videos and 3D models will also be converted to png.

Previews are sized to fit the maximum dimension in pixels as follows: (small: 250px, medium: 512px, large: 1000px).

Metadata and Media refreshing

SimpleHash provides automatic refreshing of metadata and media across supported chains, to avoid content (such as dynamic NFTs, or new drops or reveals) from going stale.

  • On Solana, any change to the token metadata account will trigger a refresh
  • On EVM chains, certain on-chain topics will trigger refreshes, including the following:
    • "0x6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b", # URI(string,uint256)
    • "0xe3df41127db820c79e5b8d541a63e40e3e97b9af96f7a50bded13091b70df9ae", # TokenMetadataURIUpdated(uint256,address,string)
    • "0x702fe2dc2dc0f68023540aa4a1e11811c0f29112f6ebf01e61b90538e4f29810", # TokenURIUpdated(uint256,address,string)
    • "0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7", # MetadataUpdate(uint256)
    • "0x6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c", # BatchMetadataUpdate(uint256,uint256)
    • "0x6df1d8db2a036436ffe0b2d1833f2c5f1e624818dfce2578c0faa4b83ef9998d", # event TokenURIRevealed(uint256 indexed index, string revealedURI)
  • SimpleHash also employs other heuristics, and tracking of events on marketplaces to trigger automatic refreshes
  • Manual refreshes of contracts are also available on request via this endpoint

Supported original media formats:

All Chains:

  • image/bmp
  • image/gif
  • image/heic
  • image/jp2
  • image/jpeg
  • image/png
  • image/svg+xml
  • image/tiff
  • image/webp
  • image/x-icon
  • image/x-ms-bmp
  • model/gltf-binary
  • model/gltf+json
  • video/3gpp
  • video/MP2T
  • video/mp4
  • video/mpeg
  • video/ogg
  • video/quicktime
  • video/webm
  • video/x-flv
  • video/x-m4v
  • video/x-matroska
  • video/x-ms-asf
  • video/x-msvideo

Lens Protocol and Bitcoin Ordinals specific:

  • text/html

Bitcoin Ordinals specific:

  • text/plain
  • application/json

Supported without preview images:

  • application/pdf
  • audio/amr
  • audio/flac
  • audio/midi
  • audio/mp4
  • audio/mpeg
  • audio/mpegapplication/x-tar
  • audio/ogg
  • audio/x-aiff
  • audio/x-hx-aac-adts
  • audio/x-m4a
  • audio/x-mod
  • audio/x-mp4a-latm
  • audio/x-unknown
  • audio/x-wav