Create a PFP NFT collection in less than one hour with Bueno

Create a PFP NFT collection in less than one hour with Bueno
The Stupid Faces NFT collection

Have you ever dreamed of creating a PFP (profile picture) NFT collection, all by yourself? Yeah, me neither, but in case it becomes a dream of yours at some point in the future, let's see how you can do it very quickly.

In this article, we'll only be talking about how to create the "art" (the coding of the smart contract will be the subject of another article) and for that, we decided to focus on Bueno, a very nice tool that launched a few weeks ago. Bueno is amazing and will save you a lot of time, but it all starts with your favorite design tool. I'm not a designer myself so I don't really have a favorite design tool, there's just one I don't feel too uncomfortable with and that's Figma.

Before going any further, note that Figma and Bueno might not be the best options for you in all cases. These tools are great for 2D PFPs but if you want to go 3D, you obviously have to do things a bit differently, by using software like Blender or Spline and rendering each asset individually (still with some automation in place of course).

As you can see in the screenshot below, I started by drawing each attribute (aka "trait") individually. I ended up with 6 different noses, 6 different mouths, 4 different hairstyles, 6 different eyes, 5 different eyebrows, 2 different bodies, 6 different body backgrounds, and 6 different backgrounds. If you do the calculation, it gives us a total of 311,040 possibilities. As we only want to create a collection of 1,000 assets in this case, we’re good.

Isn't it incredibly well drawn?

I tried to organize things neatly so it's easier to export afterward. Each trait is a separate layer, in a group of the trait name. In my case, I want to have NFTs with a width and a height of 2,048 pixels so I created a slice on top of everything and exported each trait individually with these dimensions. Make sure you export everything as PNG files with transparent backgrounds, and that everything is in separate folders with explicit names so Bueno can more easily find its way from there.

This is how it should look after exporting from Figma and before importing in Bueno.

You can now upload your folder containing all the subfolders and image files by clicking on "Create New" in Bueno.

It will show a panel where you can drag and drop everything.

After the upload, the first thing you will be asked to do is to adjust the default template, to make sure all the traits are applied in the right order. For example, you obviously want the background to be completely in the back, or if you decide to have shades as a trait (which is not my case), you want them to appear over the eyes.

Then, you can adjust the traits' rarity. This is something pretty standard in all NFT collections, tokens with rare traits usually being much more valuable. In this case, you can see I created the "bogdan" eyebrows (I hope you got the reference without having to click here), and only 0.5% of the tokens will have this specific trait (only about 5 tokens out of the 1,000).

After that, you can have a first look at your collection in the "Preview" section of Bueno.

That looks incredible.

Before generating it for real, you first need to fill in some information about your collection, like its name, its symbol, and its token count (we have to change it to 1,000 because the default is 10,000). This is also where we can set the artwork size (2,048 pixels in our case).

Now let's generate our collection by clicking on the "Generate" tab on top. We're presented with two options but we'll choose the second one: "Generate New".

It will open a wizard where you'll be shown a preview with the trait percentages, something that you can see on NFT marketplaces like OpenSea or Rarible.

The last step is where you need to get your wallet out (literally). Bueno makes you pay 0.0001 ETH per token generated. So, in our case, we have to pay 0.1 ETH (and now you understand why I chose to generate a collection of 1,000 and not a more standard collection of 10,000 😅).

After our 1,000 tokens are generated, Bueno gives us the option to upload everything on IPFS. If you don't know what it is, IPFS (an acronym for InterPlanetary File System) is a protocol and peer-to-peer network for storing and sharing data in a distributed file system. To vulgarize a lot, you can see it as some kind of decentralized Dropbox, where files are stored in many different locations, making sure they never disappear, even in case of a major failure of a few servers hosting them. This is the preferred option for NFT projects because it makes sure that your NFT will always be available, contrary to what could happen if you host them on private services like AWS or Google Cloud.

It happens I like this IPFS option a lot, so I will use it.

Clicking on the button will show a modal where you're invited to enter your Admin Pinata JWT. Pinata is a service built on top of IPFS and that facilitates all the interactions with it.

If you have a Pinata account, it's very straightforward to create a new API key. Just go to and create the key from there (make sure you enable the "Admin" option on top).

After entering your Admin Pinata JWT in Bueno, it will start uploading your tokens and their metadata to IPFS. When it's done, the "Upload to IPFS" button will be replaced by a "Copy Base URI" which will be super useful when we'll write our smart contract (but this is for another article, as I said earlier).

Note that you can also directly download all the generated files on your computer as well...

... so you can enjoy your beautiful NFT collection directly in your file manager.

I hope you enjoyed this quick tutorial. Stay tuned for the next one where we'll cover the creation of the smart contract.