Description

The Soul Minter project brings artistic expression of one's soul to the minting of NFTs as avatars for the wallet holder. Users can immutably mint their crypto soul as in heaven, hell or purgatory. What could be more valuable than immutably minting your soul onto the blockchain? The problem was to create a scalable pipeline to enable easy minting of NFTs that are based on the user's unique wallet address and base image (avatar or profile picture). One challenge to this project was enabling on-demand minting of the NFTs from the AI/ML stack that can take as long as 30 minutes to complete. Our project also requires the use of GPUs to run because it requires the training of multiple AI/ML models to generate the underlying images for the NFTs. We have created a pipeline for generating PFP NFTs that are unique to their wallet holders from AI-generated art. Our solution will accept input from the wallet holder in the form of avatars/profile pictures, text prompt and wallet transactions to render an NFT that unique to the wallet holder's soul. These NFTs can then be sold, traded or burned.

Soul Minter showcase

How it's made

Our project uses: Opensea/Rarible, NFT marketplace, IPFS, Decentralized storage, Moralis (One stop shop for multi-chain Dapp/super easy to use), Polygon Network (for low cost NFT minting) via ERC-1155 (allows for variations and evolution of NFTs), Images and metadata stored on IPFS, Rarible (for lazy minting off-chain until formally minted so no gas until on-chain) and NFTs can also be viewed on OpenSeas. Every NFT requires a new model to be trained and takes 5 to 30 minutes to complete. We used Artificial Intelligence (AI) to generate the NFT images, which require GPUs to train model. Our solution leverages the VQGAN and CLIP machine learning models to generate the image. Python is currently run in Google Colab notebooks to leverage the free GPUs, but private, virtualized (cloud) GPUs will be in used in the future. The code is called after the user clicks the button to Mint the NFT. The project is easy to use by the user but may take an extra 5-30 minutes to complete the minting process, primarily due to the time needed to generate the NFT image from the user's inputs.