If you spend any time in the world of Web3 (or even just on Twitter), you will have inevitably noticed the proliferation of PFP communities as of late. Projects like BAYC have raked in literally millions of dollars and inspired an avalanche of analysis about the future of communities, the web and even identity itself.
If you're an artist, you've probably wondered how to break into this space. After all, programmatically generating 10,000 dynamic NFT's isn't in every artist's bag of tricks. That got me thinking ... how could I simplify things for non-programmers looking to dip their toes into this world?
Turns out it's possible to automate a lot of the heavy lifting with no-code tools 👀
Anatomy of a PFP Collection
At their most basic, many PFP projects are just stacks of images that are assembled together, usually programmatically, in many different combinations. An avatar might have one layer for its mouth, one for its eyes and one for its clothing. Each variation of a given layer is called a “trait,” and different traits might have different “rarities” associated with them. So a collection might feature 100 characters with brown eyes, but only 10 with green eyes.
Sounds simple enough, right?
Now imagine you have a collection comprised of four layers, each consisting of 10 possible traits. To determine how many combinations are possible for this collection, we must multiply the sums of all traits in each layer by one another. Let’s write that out for the mathematically challenged 🙋♂️
10 x 10 x 10 x 10 = 10,000 Combinations
Generating that many images manually would take A LOT of time. Too much time. That’s why NFT artists typically rely on custom coding to generate these collections. If you’re a programmer, this is a fairly trivial lift. If you’re not a programmer, don’t know any programmers and don’t have any cash to hire one, it seems a lot more daunting.
A Simpler Way
Thankfully, it’s possible to automate this whole process using no-code tools. Here’s how it works:
Create a Collection
— Head over to the
page and add a new entry. In our example, we’ve created a collection called “Avatars in Hats.”
— Create a new “layer” for each set of traits you wish to define. We’ve added layers here for our avatar, their hat and their eyes.
— Coda doesn’t offer image generation as a service, so we’ll use a tool called Placid to actually assemble our NFT images. Placid is a paid service (starting at $19 per month), but they’re more affordable than competing solutions and offer a generous free trial. Once you’ve created your account, you’ll need to do the following:
Add Your First Project
— Once you’ve created your project, click “create new template,” and select “custom size.”
Define Your Layers
— You’ll be taken to the editor screen, where you can define your image layers. Be sure to use the exact same names for these layers as the ones you’ve defined in your Coda doc, since we’ll need to map these two sets of values together to generate our images.
Toggle “Preview Mode”
— Set your project to preview mode while generating test images, so that you won’t waste API credits.
Grab Your Template URL
— From the template listing on your project page, select the “Integrate” option. You’ll be taken to a new page, where you’ll see a dropdown for “code examples.” Select the option for “
” and copy the link. Now, head back to Coda, and paste this link into the “template URL” field of your new collection.
— Once you’ve created your template, it’s time to define the traits for each layer. For each trait, you’ll upload a transparent PNG image. These images will be used to assemble your NFT art.
— Once you’ve defined what traits are possible, you can decide whether to make certain ones rarer than others. These rules will determine what combinations are generated.
— At this point, all you have to do is click the “Generate Collection” button and watch Coda generate your NFT artwork for you. Note that it might take a few minutes for images to render from Placid.
So now you have a whole bunch of artwork, but none of it is actually on-chain. To mint your NFT’s, you’ll need to use a service like
, Open Sea or Rarible.
Unfortunately, automating that process is outside the scope of this document, though it should be possible to do so using a browser automation tool like
. I might tackle that in a later tutorial, but, for now at least, we’ve streamlined one of the thorniest pieces of creating your own PFP collection — allowing you to generate thousands of pieces of unique artwork in minutes, with minimal cost and no code.
I hope you find this document helpful. If you use it to build something awesome — or if you have ideas to make this doc better — I’d love to know about it. Give me a shout on Twitter 👇
‘Til then, happy building!