# Revealing the art (IPFS)

To ensure each NFT in your collection has a distinct image and set of attributes, you must upload the images and metadata for each NFT to IPFS. Then, set the generated IPFS CID as the baseURI in your collection. Follow these detailed steps to accomplish this:

1. **Prepare your images**
   1. Create an "images" folder on your computer.
   2. Name your images to correspond with token IDs ranging from 0 to maxSupply - 1. For example, for a collection of 1000 NFTs, name them from 0 to 999.
   3. For this guide, we will use a smaller collection of 5 NFTs as an example.

<figure><img src="https://4098154389-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMGigojsCWiJ3UT5Kv5k8%2Fuploads%2FVYKnBq4P81JHa01S5BTh%2FCapture%20d%E2%80%99e%CC%81cran%202024-05-16%20a%CC%80%2016.19.20.png?alt=media&#x26;token=95cc4761-829a-4bd4-9b2b-fe1ee8c6e179" alt=""><figcaption></figcaption></figure>

2. **Upload images to IPFS**
   1. Create a free account at <https://pinata.cloud>.
   2. Upload your folder of images and copy the CID (Content Identifier) of the folder.

<figure><img src="https://4098154389-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMGigojsCWiJ3UT5Kv5k8%2Fuploads%2FPFgWOZwBJsT7WgAOB9wZ%2FCapture%20d%E2%80%99e%CC%81cran%202024-05-16%20a%CC%80%2015.53.32.png?alt=media&#x26;token=a9bdab20-cd29-4342-846d-22bae251cfa9" alt=""><figcaption></figcaption></figure>

3. **Create your Metadata**
   1. Create a JSON file following this structure (replace YOUR\_CID\_FROM\_ABOVE with the CID you copied in the previous step).
   2. Save it as `0.json` on your computer.

```
{
  "name": "My First NFT #0",
  "description": "This is my first NFT ever!",
  "image": "ipfs://YOUR_CID_FROM_ABOVE/0.png"
}
```

4. **Duplicate and modify the Metadata**
   1. Duplicate `0.json` for each NFT in your collection, naming each file according to its token ID (e.g., `0.json`, `1.json`, `2.json,` etc.).
   2. Modify each file to reflect the correct token ID and image link. For example, `4.json` would look like this:

```
{
  "name": "My First NFT #4",
  "description": "This is my first NFT ever!",
  "image": "ipfs://QmPuBcJgNqPEBLdrcKvNLQy2NnQR5t56q1rCSiG16bVUcm/4.png"
}
```

5. **Prepare Metadata for Upload:** Ensure all metadata files have no file extension (e.g., remove `.json`)

<figure><img src="https://4098154389-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMGigojsCWiJ3UT5Kv5k8%2Fuploads%2FSgOEDpg5UNi7n04h2BkK%2FCapture%20d%E2%80%99e%CC%81cran%202024-05-16%20a%CC%80%2016.35.43.png?alt=media&#x26;token=8a939c56-2a3e-4bed-9022-e1c4fb3e8eea" alt=""><figcaption></figcaption></figure>

6. **Upload Metadata to IPFS**
   1. Upload your folder of metadata files to Pinata, similar to how you uploaded the images.
   2. Copy the CID of this metadata folder.

<figure><img src="https://4098154389-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMGigojsCWiJ3UT5Kv5k8%2Fuploads%2FM9Tg6xrsOl6hd54lHuef%2FCapture%20d%E2%80%99e%CC%81cran%202024-05-16%20a%CC%80%2016.01.18.png?alt=media&#x26;token=43bd0283-0bfd-4149-8286-37a9f31ad3fd" alt=""><figcaption></figcaption></figure>

7. **Set the BaseURI in Your Contract:** In the `Owner menu` -> `Contract`on BLASTR, set the baseURI to `ipfs://YOUR_METADATA_FOLDER_CID/`&#x20;
8. **Done!** Your NFTs will be revealed shortly after setting the baseURI.

<figure><img src="https://4098154389-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMGigojsCWiJ3UT5Kv5k8%2Fuploads%2FhoUKNfKBcsGfCnX9l7qp%2FCapture%20d%E2%80%99e%CC%81cran%202024-05-16%20a%CC%80%2016.02.49.png?alt=media&#x26;token=bda44715-0e09-4d71-9f30-93478c5be21f" alt=""><figcaption></figcaption></figure>

NOTE: We cover only the basic fields in the metadata: name, description, and image. If you want to add attributes, please refer to the [OpenSea documentation](https://docs.opensea.io/docs/metadata-standards).
