Galleries, Libraries, Archives, and Museums digitise paintings, photographs, and manuscripts at very high resolution in order to share and study them online. Recently, open access images have been minted as NFTs without the permission of GLAM organisations. This raises concerns over copyright, authenticity, and accurate acknowledgement of ownership. This project aims to demonstrate that GLAM orgs can mint very high resolution images in order to retain ownership of their digital collections, while sharing them online in an accessible way.

High Resolution Image NFTs showcase

How it's made

We built a next.js and tailwindcss frontend hosted on, that uses firebase's firestore to store the relevant metadata for each uploaded image, and Google Cloud Storage to host the image uploads themselves. When an image is uploaded, a Google Cloud function detects it and creates a thumbnail, and stores the uploaded image in IPFS using In future we would like to add image tiling using sharp (the same lib we are already using to generate thumbnails). These tiles would be loaded in OpenSeadragon on the frontend, giving users the ability to zoom in fluidly to very high resolution images. Unfortunately we were unable to get image tiling working in the time available, due to how Google Cloud Storage works with folders. Since we're working with NFTs we created a contract conforming to the ERC721 standard. Due to the fact that we differentiate between normal NFTs and high resolution NFTs for cultural heritage the contract offers the functionality to authorize artists. When an artist mints a new NFT that NFT receives a special property which can be used in the UI to highlight the NFT or give it a badge. The minting function is straightforward. The sole parameter is the metadata which has been uploaded to IPFS. As mentioned above there are functions for authorizing and unauthorizing an artist to be a cultural organization. In this sense anybody can mint an NFT, however some will have a special property.

Technologies used