Building your own Stable Diffusion model to make your own NFT collection.

Building your own Stable Diffusion model to make your own NFT collection.

If you look at the link here you will see a NFT collection in a NFT marketplace

Bauhaus Dogs Optimism 0 | Quix
The Bauhaus Dogs GEN.0 NFT collection celebrates humanity’s best friends. Created with a small bit of help from our artistic AI overlord friends.

It is an NFT collection built with Ai Art sitting on an Ethereum layer 2 testnet, but there is a twist. Read on to see how I made it.

I generated 100 or so of the Bauhaus dogs from the list of the top 200 AKC dog by using InvokeAI's ability to automate by putting the same art prompts in a text file with just the breed as difference in the prompt.

Example Prompt:

portrait of a dog, Bulldog, bauhaus, red background, black and red colors, adobe illustrator, vector art

Once generated, I took about 40 of the best images and trained up my own Stable Diffusion model. I used the following Dreambooth Google Colab:

Google Colaboratory

After the model generation was complete I ran the prompt.txt list back through InvokeAI with my custom model loaded up. It generated the 100 images you see in the NFT collection.

I then used some scripting and internet magic to upload the metadata and images to IPFS. I used the Breed, seed, sampler, steps, and cfg to fill out the metadata for each NFT. Once uploaded, I used the ThirdWeb.io to fire up an ERC721 contract on Optimism in the Goerli Optimism testnet. I like using the ThirdWeb's dashboard UI as it makes releasing simple NFT contract easy.

Finally, once all that was done I minted out the 100 NFTs so they'd show up. On the L2 testnet the transactions are super cheap.

So, I used AI art to generate a model to generate more AI art and then put that on a layer 2 on Ethereum.

Pretty neat eh?

For more info on how to train your own Stable Diffusion model I wrote up a post here:

How to train a Stable Diffusion model using Google Collab and NFT art.
Let’s Doodle

If you have any questions or comments, please feel free to reach out to me on social networks.

Jeremy