Inspiration

As corny as it sounds artificial intelligence... as well as the art community and people using tools derived from similar algorithms. As someone who doesn't have much talent in painting or drawing, I've always had a lot of respect for the incredible work people are able to create. It takes years to master that ability and to create good-looking art. Recently, the rise in popularity of machine learning has revolutionized many fields including computer vision where the algorithms can interpret and even generate images. Early machine learning algorithms with artist applications included style transfer, deep dream, various generative adversarial networks (GAN) for in-painting, etc. However, running one of these algorithms was usually only accessible to experienced software engineers with powerful GPUs. The art algorithms are highly addictive where that comes from being able to quickly iterate on in ~1 minute per image different parameters that control the features or style in the image. Being able to create infinite images with near real-time feedback and visual clarity is truly remarkable and a technology that will be applied for many years to come. It's only a matter of time before these images are turned into videos and eventually 3D models.

Creating art using an A.I. tool, especially in its early days, is troublesome because it usually lacks a visual interface and is all code which has led me to create this app, Mint More. Mint more is a mobile app for making art with A.I. tools. The user interface makes it easy to generate your own art or remix prompts from the community. Afterward, mint your work on the polygon blockchain. Try out the multiplayer feature with your friends where you can collaborate and share your creations in real-time!

View the collection today: https://opensea.io/collection/mint-more-art

Owners of these NFTs will have lifetime access to a variety of generative art tools through the Mint More app (e.g. MidJourney, DALL-E, Stable Diffusion, Deep Dream, VQGAN, StyleGAN, etc.). For more information visit: https://mintmore.art/

An image generated from the MidJourney algorithm using the prompt: "a 360 panorama of nature"

What it does

  • NFT wallet (view, send, sell)
  • Art Browser + "Live" Feed
  • Access to generative art tools with A.I. (e.g. MidJourney)
  • 3D model minter + Augmented Reality
  • Multiplayer + voice chat

How we built it

The main interface is built with Unity3D which has the advantage of being able to export to multiple devices. Currently, the app supports Android and iOS however a WegGL build is in the works. The app leverages data from the blockchain using multiple APIs including Moralis, Infura, and Alchemy. The backend uses a lot of python! The server infrastructure includes a web server on AWS with our own RESTful API and 2 dedicated home servers (some retired multi-gpu mining rigs) for on-demand A.I. processing and caching. We use a combination of services for file storage, when the art gets minted it is saved to IPFS using Pinata. Thumbnails for images in the app are generated and stored using AWS in order to provide a better user experience due to the faster network speeds than IPFS. The only interface for MidJourney right now is through discord and in order to get the remote execution working in the app I had to write a RESTful endpoint that can send authorized discord messages to the MidJourney bot. Then a second bot waits for messages on my server (https://discord.gg/pazn9UqF), encodes the prompt + image for an A.I. recommendation algorithm, and then archives images locally and in an s3 bucket on AWS so they can be accessed in the app in realtime. In order to get the discord messaging and MidJourney feed of top/hot/rising I had to reverse engineer some network requests using developer tools in chrome. I replicated the discord and midjourney API calls from their web client and made my own RESTful endpoints so I could have programmatic access to them from the app. The trick is getting an auth token from the header of a network request in the web client and to reconstruct a header+payload with the same key-value pairs in python. This is a hackathon after all ;)

Challenges we ran into

Blockchain functionality within Unity was a little challenging because the SDKs are still under active development so our app also had to go through a few iterations before converging on a final framework. Scaling the app up and thinking of all the features when you start can be challenging. Ideas evolve over time and/or you learn something new and have to rework the code in order to scale or be more efficient. App performance, asynchronous image loading, caching, etc..are all challenging aspects when it comes to providing a seamless user experience between functionalities.

What we learned

Smart contracts! About a year ago I didn't know much about programming on the blockchain and luckily developing on Polygon has been easy, reliable, and more cost-effective than other chains. Additionally, there are a ton of resources on youtube and websites like solidity by example which helped me get started with development.

Minting contracts:

Marketplace Contract:

What's next for Mint More Art

Right now we're accepting users for a closed beta on android and iOS while we scale services with more features. Please sign up for the beta at: https://forms.gle/V5mZG9wwfSUuMQBH7

Future updates include:

  • Marketplace (Buy/Sell, A.I. Recommendation System)
  • Affiliates Program
  • Physical merchandise + On-demand printing
  • More art algorithms (e.g. DALL-E 2, Stable Diffusion, Deep Dream)

Some images generated with the prompt: "immaculate conception, ethereum, eth, crypto tokens, investors"

Built With

Share this project:

Updates