Adding NFT Metadata on DropKit

DropKit offers the ability to batch upload your artwork a few different ways. You will need to have your artwork and metadata prepared and ready to be put into a json or CSV format to be uploaded to NiftyKit drop. 

Visit Opensea for metadata structures to use for your NFTs: https://docs.opensea.io/docs/metadata-standards#metadata-structure

In this first step, we will discuss how to prepare your artwork and project metadata for each NFT in your collection. Creating the artwork and the metadata is the most challenging part of doing an NFT drop. There are different ways to prepare and create your artwork.

We’ll take a look at some common problems we see with creators when it comes to prepping the artwork and metadata for an NFT drop.

Prepare your art and metadata

If you are doing a reveal, you will need to create a separate placeholder image that everyone will see on Opensea when they mint. These placeholders will be loaded up in NiftyKit and will need to have as many placeholder records as you have NFTa in your collection.

For generative art projects, most of our users are using Hashlips Art Generator. This requires a little bit of knowledge of code but there are great tutorials you can check out on the Hashlips Youtube channel here: https://www.youtube.com/watch?v=3c2EFpCr_vY&list=PLvfQp12V0hS3AVImYdMNfkdvRtZEe7xqY

Many of these Art Generators help you prepare the final JSON file so that it is ready to upload and use with NiftyKit. You can usually find this master file beside each individual NFT’s JSON data in the folder you export your details to when using the Art Generators.

Methods of Uploading NFT Metadata

Let’s look at how NiftyKit makes it easy to upload metadata to your drops.
 
  1. CSV Export/Import in DropKit
  2. REST API endpoint
  3. Copy and Paste metadata directly in NiftyKit app
  4. Google Sheets Export

CSV Export/Import in DropKit

we have added the import/export CSV option which will allow you to download your current NFT list and the attributes that you can manually edit, then re-import into your DropKit project.

We saw how Update Metadata was confusing, so using your feedback we redesigned the way you handle your NFT metadata for your drop.

If you are bringing your own metadata in the form of JSON from an art generator like Hashlips, you will still be able to use the API to import your NFTs from the 3-dot dropdown.

Once they are uploaded, you will be able to export that data and make edits without having to regenerate the images and metadata.

REST API endpoint

Each individual collection has a unique API key that allows you to submit your metadata via API. You can always regenerate your API key in case you need to expire an existing key and provision a new one

You can access the API in the 3-dot drawer and copy your API key.

Using your API key, submit a POST request with the data to this endpoint.

POST https://api.niftykit.com/drops/tokens

Data uploaded via API is appended to the current list of NFTs in the DropKit NFT tab. It does not replace existing token IDs. If you want to replace, you must delete all and reupload.

Due to the size of some data payloads, it is recommended to upload NFT metadata in batches of 1000-1500. Running multiple requests will ensure that all your NFTs get into the NFT queue.

You can reference the API documentation here.  

Copy and Paste metadata directly in NiftyKit app

In the same API window you will see a pre-populated template of .json data that you can use as reference to upload your NFTs in batches.

You can paste your json data directly here. Make sure you have the correct syntax and that you have generated all of the key value pairs needed to maintain your traits and rarities.

Metadata Structure

Drops are configured using the following standards from Opensea.

Below is an example for creating 2 NFTs, one with an attribute of color.

Once you paste your data into the box, it will add on 2 NFTs.

Single NFT Metadata

				
					{
  data: [
    {
      description: 'This is an example #1',
      name: 'NFT Example #1',
      attributes: [
        {
          trait_type: 'color',
          value: 'red'
        }
      ],
      image: 'https://ipfs.io/ipfs/QmVsy5Uq8CuA7GPoyJFpsNQoDiC1csdJVEJU7SoveUAmzp/1.png',
      animation_url: '',
      background_color: '',
      youtube_url: '',
      external_url: ''
    }
  ]
}
				
			

Multiple NFT Metadata

				
					{
  data: [
    {
      description: 'This is an example #1',
      name: 'NFT Example #1',
      attributes: [
        {
          trait_type: 'color',
          value: 'red'
        }
      ],
      image: 'https://ipfs.io/ipfs/QmVsy5Uq8CuA7GPoyJFpsNQoDiC1csdJVEJU7SoveUAmzp',
      animation_url: '',
      background_color: '',
      youtube_url: '',
      external_url: ''
    },
    {
      description: 'This is an example #2',
      name: 'NFT Example #2',
      attributes: [],
      image: 'https://ipfs.io/ipfs/QmVsy5Uq8CuA7GPoyJFpsNQoDiC1csdJVEJU7SoveUAmzp',
      animation_url: '',
      background_color: '',
      youtube_url: '',
      external_url: ''
    }
  ]
}
				
			

Thumbnail Image Preview For Video NFTs

In order for video NFTs to show up correctly on Opensea you will need to configure the NFTs using the API.

You will need a separate image to set for the thumbnail for the video.

There are 2 important fields to note:

  1. animation_url
  2. image
{
name: "Sample NFT Title #1",
description: "Learn how to set up videos in DropKit",
animation_url: "https://ipfs.io/ipfs/QmSqyFafQPH9KAhyMzUdTqBHfm9pAqrUkAEsgxhbsQSXbg",
image: "https://ipfs.io/ipfs/Qmeam2afLjPRWuieHTYS6dBAwUosG1iYYE531JM9LYJfHU"
}

Animation URL

A URL to the video for the NFT. The file extensions GLTF, GLB, WEBM, MP4, M4V, OGV, and OGG are supported, along with the audio-only extensions MP3, WAV, and OGA.

Image

This is the URL to the image of the item. Can be just about any type of image (including SVGs, which will be cached into PNGs by OpenSea, and even MP4s)

We recommend using IPFS URLs or paths.

Opensea recommends using a 350 x 350 image for the best results.

Google Sheets Exporter

To set up your metadata using Google Sheets:

  1. Copy Example Google Sheet
  2. Add NFTs on each line by order of minting
  3. Click Export JSON
  4. Copy Generated JSON
  5. Paste in DropKit API window
  6. Run Request to add your NFTs to DropKit
Copy Google Sheets to get started: 
Generated from your google sheets list
Click on Export JSON. May need to authorize script to run.
Paste JSON in the API Key Window

Updating NFT Metadata

Metadata, images, and the order of your NFTs can be changed before, during, and after a drop by clicking Update Metadata in the 3-dot drawer menu in your dashboard.

Updating your metadata is done through your smart contract, so you will be required to pay gas each time you push metadata changes.

This action is updating the URI for your metadata and is the mechanism that will allow you to do the NFT reveal type drops.

The ability to change the metadata will allow you to:

  • Fix any broken attributes or properties after the NFT has been minted
  • Change the name of the NFT
  • Update the image creative for the NFT
  • Reorder and reassign NFTs by token ID number

It’s important to understand that changes are not reflected on Opensea until you click the Update Metadata button.

Refresh Metadata on Opensea

It may take some time for Opensea to fully update the metadata, so plan for this in your drop.

You can force the metadata to refresh on Opensea shown in the video below.

Still having issues with your metadata? Learn how you can use Opensea Metadata Validation tool to help you figure out if your metadata is uploaded correctly by visiting this link: https://docs.opensea.io/docs/4-debugging-your-metadata

Freezing Metadata

If you want to remove yourself and ensure that collectors know you aren’t able to change the metadata anymore, you could click the Renounce Ownership option, and this will remove the power for anyone to run admin functions on your contract. This essentially locks the contract for further changes, but still allows your NFTs to be openly traded, sold, and purchased on the secondary market. 

Join Us On Discord To Get Help

Accept and agree to NiftyKit's Terms of Use & Privacy Policy