-
Notifications
You must be signed in to change notification settings - Fork 109
Creation of the metadata file
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.
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).
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).
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).
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.
-
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": "",
-
A blank cell for XLSX files (Excel):