Generate Your NFT Metadata
NFT Metadata, a crucial element in an NFT smart contract

This is the second part of the four-part NFT Creator series:

What is NFT Metadata?
NFT metadata is the core of an NFT. It is a JSON document that often contains the following:
- NFT’s name
- Description of the NFT
- Link to the hosted image
- Traits
- …
This NFT metadata will be the input of your NFT smart contract which you will deploy on the Ethereum network in the third part.

Upload your NFT images in the cloud
Uploading images to the blockchain is very expensive since they are large in size.
The best practice is to only upload the link of your image to the blockchain and store your image on an Interplanetary File System (more on that later).
Pinata allows you to upload NFT images for free using IPFS (InterPlanetary File System). This is a distributed file-sharing system.
Sign up for a free account and upload your NFT images folder to the pinata cloud.
I called my project “NFT Creator” but feel free to choose a different name.

If the upload is successful, you should be able to see your uploaded files as shown below:

Click on your project and copy the link.
This is your “BASE URL”, which you will need later on.
The BASE URL of my project is https://gateway.pinata.cloud/ipfs/Qmb86L8mUphwJGzLPwXNTRiK1S4scBdj9cc2Sev3s8uLiB
Generate NFT metadata
all-traits.json
In the first part of the NFT creator series, you have created a list called “all_images” specifying the traits for each image.
Simply, dump this list into a .json file using the json.dump() function.










