Skip to content

Creation of the metadata file

Maxime edited this page Dec 6, 2023 · 19 revisions

Introduction

By following these tables, you will learn how to create your metadata file with the correct structure.
In addition to the tables, example files are available here.


  • Required value includes a *.
  • The case in which a value is mandatory is in brackets.

Drag the slider at the bottom of each table to see the entire content.

Upload and Sale metadata file

During the upload and listing process and in case of failure, a file containing the information of the main metadata file will be generated in the data/ folder. This file can be used to retry the upload or listing of the NFTs that could not be uploaded or listed.

Details Data Types Literal examples JSON examples CSV examples XLSX examples
File Path * String or List   "file_path": "C:/Users/Admin/Desktop/NFT/nft_0001.png",
"file_path": ["C:/Users/Admin/Desktop/NFT/nft_0001.mp4", "C:/Users/Admin/Desktop/NFT/nft_0001-preview.png"],
C:/Users/Admin/Desktop/NFT/nft_0001.png;;
["C:/Users/Admin/Desktop/NFT/nft_0001.mp4", "C:/Users/Admin/Desktop/NFT/nft_0001-preview.png"];;
C:/Users/Admin/Desktop/NFT/nft_0001.png
["C:/Users/Admin/Desktop/NFT/nft_0001.mp4", "C:/Users/Admin/Desktop/NFT/nft_0001-preview.png"]
NFT Name * String   "nft_name": "NFT #1", NFT #1;; NFT #1
External Link String   "external_link": "https://github.com/maximedrn/opensea-automatic-bulk-upload-and-sale",
"external_link": "",
https://github.com/maximedrn/opensea-automatic-bulk-upload-and-sale;; https://github.com/maximedrn/opensea-automatic-bulk-upload-and-sale
Description String   "description": "This is my first NFT.",
"description": "",
This is my first NFT.;; This is my first NFT.
Collection String   "collection": "my-nfts",
"collection": "",
my-nfts;; my-nfts
Properties List[[String, String], ...]
List[String, String]
["type", "name"]
[["type", "name"], ["type", "name"]]
"properties": [{ "type": "Dog", "name": "Male" }, { "type": "Cat", "name": "Female" }],
"properties": [{ "type": "Dog", "name": "Male" }],
"properties": "",
[["Dog", "Male"], ["Cat", "Female"]];;
[["Dog", "Male"]];;
["Dog", "Male"];;
[["Dog", "Male"], ["Cat", "Female"]]
[["Dog", "Male"]]
["Dog", "Male"]
Levels List[[String, Integer, Integer], ...]
List[String, Integer, Integer]
["name", value_from, value_to]
[["name", value_from, value_to], ["name", value_from, value_to]]
"levels": [{ "name": "Speed", "from": 2, "to": 5 }, { "name": "Width", "from": 1, "to": 10 }],
"levels": [{ "name": "Speed", "from": 2, "to": 5 }],
"levels": "",
[["Speed", 2, 5], ["Width", 1, 10]];;
[["Speed", 2, 5]];;
["Speed", 2, 5];;
[["Speed", 2, 5], ["Width", 1, 10]]
[["Speed", 2, 5]]
["Speed", 2, 5]
Stats List[[String, Integer, Integer], ...]
List[String, Integer, Integer]
["name", value_from, value_to]
[["name", value_from, value_to], ["name", value_from, value_to]]
"stats": [{ "name": "Strenght", "from": 10, "to": 100 }, { "name": "Age", "from": 1, "to": 99 }],
"stats": [{ "name": "Strenght", "from": 10, "to": 100 }],
"stats": "",
[["Strenght", 10, 100], ["Age", 1, 99]];;
[["Strenght", 10, 100]];;
["Strenght", 10, 100];;
[["Strenght", 10, 100], ["Age", 1, 99]]
[["Strenght", 10, 100]]
["Strenght", 10, 100]
Unlockable Content List[Boolean, String]
List[Boolean]
Boolean
[True, "unlockable_content"]
[False]
False
"unlockable_content": [true, "Thank you for purchasing my NFT!"],
"unlockable_content": [false],
"unlockable_content": false,
"unlockable_content": "",
[True, "Thank you for purchasing my NFT!"];;
[False];;
False;;
[True, "Thank you for purchasing my NFT!"]
[False]
False
Explicit And Sensitive Content Boolean   "explicit_and_sensitive_content": true,
"explicit_and_sensitive_content": false,
"explicit_and_sensitive_content": "",
True;;
False;;
True
False
Supply Integer   "supply": 1,
"supply" : "",
1;; 1
Blockchain String   "blockchain": "Polygon",
"blockchain" : "",
Polygon;; Polygon
Sale Type String   "sale_type": "Timed Auction",
"sale_type": "",
Timed Auction;; Timed Auction
Price * List[Float or Integer, String]   "price": [5, "ETH"],
"price": [0.25, "MATIC"],
[5, "ETH"];;
[0.25, "MATIC"];;
[5, "ETH"]
[0.25, "MATIC"]
Method List[String, Float] ["method", price]
["method, ""]
"method": ["Sell with declining price", 0.002],
"method": ["Sell to highest bidder", 1.05],
"method": ["Sell to highest bidder", ""],
"method": "",
["Sell with declining price", 0.002];;
["Sell to highest bidder", 1.05];;
["Sell to highest bidder", ""];;
["Sell with declining price", 0.002]
["Sell to highest bidder", 1.05]
["Sell to highest bidder", ""]
Duration List[String, String]
List[String]
String
["from_date", "to_date"]
["days/weeks/months"]
"days/weeks/months"
"duration": ["01-01-2022 14:00", "01-04-2022 15:00"],
"duration": ["1 week"],
"duration": "1 week",
"duration": "",
["01-01-2022 14:00", "01-04-2022 15:00"];;
["1 week"];;
1 week;;
["01-01-2022 14:00", "01-04-2022 15:00"]
["1 week"]
1 week
Specific Buyer List[Boolean, String]
[Boolean]
Boolean
[True, "wallet"]
[False]
False
"specific_buyer": [true, "0xDD135d5be0a23f6daAAE7D2d0580828c9e09402E"],
"specific_buyer": [false],
"specific_buyer": false,
"specific_buyer": "",
[True, "0xDD135d5be0a23f6daAAE7D2d0580828c9e09402E"];;
[False];;
False;;
[True, "0xDD135d5be0a23f6daAAE7D2d0580828c9e09402E"]
[False]
False
Quantity * Integer   "quantity": 4
"quantity": ""
4 4

And it gives you something like this: JSON, CSV, XLSX (must be downloaded to view it).

Upload Only metadata file

During the upload process and in case of failure, a file containing the information of the main metadata file will be generated in the data/ folder. This file can be used to retry the upload of the NFTs that could not be uploaded.

Details Data Types Literal examples JSON examples CSV examples XLSX examples
File Path * String or List   "file_path": "C:/Users/Admin/Desktop/NFT/nft_0001.png",
"file_path": ["C:/Users/Admin/Desktop/NFT/nft_0001.mp4", "C:/Users/Admin/Desktop/NFT/nft_0001-preview.png"],
C:/Users/Admin/Desktop/NFT/nft_0001.png;;
["C:/Users/Admin/Desktop/NFT/nft_0001.mp4", "C:/Users/Admin/Desktop/NFT/nft_0001-preview.png"];;
C:/Users/Admin/Desktop/NFT/nft_0001.png
["C:/Users/Admin/Desktop/NFT/nft_0001.mp4", "C:/Users/Admin/Desktop/NFT/nft_0001-preview.png"]
NFT Name * String   "nft_name": "NFT #1", NFT #1;; NFT #1
External Link String   "external_link": "https://github.com/maximedrn/opensea-automatic-bulk-upload-and-sale",
"external_link": "",
https://github.com/maximedrn/opensea-automatic-bulk-upload-and-sale;; https://github.com/maximedrn/opensea-automatic-bulk-upload-and-sale
Description String   "description": "This is my first NFT.",
"description": "",
This is my first NFT.;; This is my first NFT.
Collection String   "collection": "my-nfts",
"collection": "",
my-nfts;; my-nfts
Properties List[[String, String], ...]
List[String, String]
["type", "name"]
[["type", "name"], ["type", "name"]]
"properties": [{ "type": "Dog", "name": "Male" }, { "type": "Cat", "name": "Female" }],
"properties": [{ "type": "Dog", "name": "Male" }],
"properties": "",
[["Dog", "Male"], ["Cat", "Female"]];;
[["Dog", "Male"]];;
["Dog", "Male"];;
[["Dog", "Male"], ["Cat", "Female"]]
[["Dog", "Male"]]
["Dog", "Male"]
Levels List[[String, Integer, Integer], ...]
List[String, Integer, Integer]
["name", value_from, value_to]
[["name", value_from, value_to], ["name", value_from, value_to]]
"levels": [{ "name": "Speed", "from": 2, "to": 5 }, { "name": "Width", "from": 1, "to": 10 }],
"levels": [{ "name": "Speed", "from": 2, "to": 5 }],
"levels": "",
[["Speed", 2, 5], ["Width", 1, 10]];;
[["Speed", 2, 5]];;
["Speed", 2, 5];;
[["Speed", 2, 5], ["Width", 1, 10]]
[["Speed", 2, 5]]
["Speed", 2, 5]
Stats List[[String, Integer, Integer], ...]
List[String, Integer, Integer]
["name", value_from, value_to]
[["name", value_from, value_to], ["name", value_from, value_to]]
"stats": [{ "name": "Strenght", "from": 10, "to": 100 }, { "name": "Age", "from": 1, "to": 99 }],
"stats": [{ "name": "Strenght", "from": 10, "to": 100 }],
"stats": "",
[["Strenght", 10, 100], ["Age", 1, 99]];;
[["Strenght", 10, 100]];;
["Strenght", 10, 100];;
[["Strenght", 10, 100], ["Age", 1, 99]]
[["Strenght", 10, 100]]
["Strenght", 10, 100]
Unlockable Content List[Boolean, String]
List[Boolean]
Boolean
[True, "unlockable_content"]
[False]
False
"unlockable_content": [true, "Thank you for purchasing my NFT!"],
"unlockable_content": [false],
"unlockable_content": false,
"unlockable_content": "",
[True, "Thank you for purchasing my NFT!"];;
[False];;
False;;
[True, "Thank you for purchasing my NFT!"]
[False]
False
Explicit And Sensitive Content Boolean   "explicit_and_sensitive_content": true,
"explicit_and_sensitive_content": false,
"explicit_and_sensitive_content": "",
True;;
False;;
True
False
Supply Integer   "supply": 1,
"supply" : "",
1;; 1
Blockchain String   "blockchain": "Polygon",
"blockchain" : "",
Polygon;; Polygon

And it gives you something like this: JSON, CSV, XLSX (must be downloaded to view it).

Sale Only metadata file

If you have already uploaded your NFTs with this bot, a file has been generated containing the URLs of the NFTs. You have to complete it with sale values such as price and duration of listing.

Details Data Types Literal examples JSON examples CSV examples XLSX examples
NFT URL * String   "nft_url": "https://opensea.io/assets/matic/...", https://opensea.io/assets/ethereum/...;; https://opensea.io/assets/matic/...
Supply Integer   "supply": 1,
"supply" : "",
1;; 1
Blockchain String   "blockchain": "Polygon",
"blockchain" : "",
Polygon;; Polygon
Sale Type String   "sale_type": "Timed Auction",
"sale_type": "",
Timed Auction;; Timed Auction
Price * List[Float or Integer, String]   "price": [5, "ETH"],
"price": [0.25, "MATIC"],
[5, "ETH"];;
[0.25, "MATIC"];;
[5, "ETH"]
[0.25, "MATIC"]
Method List[String, Float] ["method", price]
["method, ""]
"method": ["Sell with declining price", 0.002],
"method": ["Sell to highest bidder", 1.05],
"method": ["Sell to highest bidder", ""],
"method": "",
["Sell with declining price", 0.002];;
["Sell to highest bidder", 1.05];;
["Sell to highest bidder", ""];;
["Sell with declining price", 0.002]
["Sell to highest bidder", 1.05]
["Sell to highest bidder", ""]
Duration List[String, String]
List[String]
String
["from_date", "to_date"]
["days/weeks/months"]
"days/weeks/months"
"duration": ["01-01-2022 14:00", "01-04-2022 15:00"],
"duration": ["1 week"],
"duration": "1 week",
"duration": "",
["01-01-2022 14:00", "01-04-2022 15:00"];;
["1 week"];;
1 week;;
["01-01-2022 14:00", "01-04-2022 15:00"]
["1 week"]
1 week
Specific Buyer List[Boolean, String]
[Boolean]
Boolean
[True, "wallet"]
[False]
False
"specific_buyer": [true, "0xDD135d5be0a23f6daAAE7D2d0580828c9e09402E"],
"specific_buyer": [false],
"specific_buyer": false,
"specific_buyer": "",
[True, "0xDD135d5be0a23f6daAAE7D2d0580828c9e09402E"];;
[False];;
False;;
[True, "0xDD135d5be0a23f6daAAE7D2d0580828c9e09402E"]
[False]
False
Quantity * Integer   "quantity": 4
"quantity": ""
4 4

And it gives you something like this: JSON, CSV, XLSX (must be downloaded to view it).

Explanation of the different details for the listing part

Supply number equal to 1 Supply number higher than 1
Fixed Price Timed Auction
Sell to highest bidder Sell with declining price
Price Duration Specific buyer Price Duration Reserve price Specific buyer Starting price Duration Ending price Specific buyer Quantity Price Duration Specific buyer
  • Make sure to pay the gas fee for Ethereum before proceeding to the listing on Ethereum. Otherwise the bot will cancel the sale.
  • From a date to an other date ("DD-MM-YYYY HH:MM") or 1 day, 3 days, 7 days, 1 month, 3 months, 6 months.
  • The reserve price must be greater than 1 ETH and greater than the starting price.
  • The ending price must be less than the starting price.

Important things to know

  • The file path should not contain a unique \\. It can be a / or a \\\\, as you can see for the JSON file (it applies to all file formats):

    // You can use this format for your path:
    "file_path": "C:/Users/Admin/Desktop/MyNFTs/nft_0001.png",
    // or this one:
    "file_path": "C:\\Users\\Admin\\Desktop\\MyNFTs\\nft_0001.png",
    // but not this one (you can see that "\" is highlighted in red):
    "file_path": "C:\Users\Admin\Desktop\MyNFTs\nft_0001.png",
  • If you do not want to add details to the values not required (all details are required), leave:
    • A blank cell for XLSX files (Excel):

      File Path NFT Name Description
      C:/Users/Admin/Desktop/NFT/nft_0001.png NFT #1
    • A white space with two semicolons for CSV files:

      file_path;; nft_name;; description;;
      C:/Users/Admin/Desktop/NFT/nft_0001.png;; NFT #1;; ;;
      
    • An empty string for JSON files:

      "file_path": "C:/Users/Admin/Desktop/NFT/nft_0001.png",
      "nft_name": "NFT #1",
      "description": "",