Skip to content
NFT Machine
Share
Explore

Start Here

Generate your own PFP collection without writing a single line of code
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 👀

Let’s break it down.

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

Ouch.

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.”
Define Layers
— 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.
Create Template
— 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:
Define Traits
— 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.
Assign Rarities
— 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.
Generate Collection
— 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.

What’s Next?

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!

Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.