NMKR Docs
ProductsContact
English
English
  • Welcome to NMKR Docs
  • Introduction
    • About NMKR
    • Powered by NMKR
    • What is an NFT?
      • What is IPFS?
    • Why Cardano?
  • NMKR Studio
    • Introduction - NMKR Studio
    • Features Overview
    • 🖥️Learn NMKR Studio in 3 minutes
      • Basic Workflow
    • How to - Quick Start Tutorials
      • Quickstart Full Video Tutorial
      • Guidelines Planning a Project
      • How To Add Tokens
      • How to set up Metadata
      • How To Sell Tokens
      • How To Set Up Sales Conditions
      • How To Do a Reveal
      • How To Burn Tokens
      • How To Enable Royalties
      • How To Enable DIDs
      • How To Set up Whitelisting
      • How to Airdrop Tokens
    • Pricing
    • Account
      • Registration & KYC
      • Security
      • Wallets
      • Mint Coupons
      • Dashboard
      • Transactions
      • Invoices
      • API Keys
    • Project
      • Policy
        • Managing policies
      • Create
      • Edit
      • Metadata Template
      • Statistics
      • DID - Decentralized Identifier
      • Notifications
      • Royalties
      • Additional Payout Wallets
      • Affiliate links
      • Export Metadata as Zip
      • Export NFT as csv
      • Mint and Send Jobs
      • Export placeholder.csv
    • Token
      • Manage Tokens Tab
      • Upload
        • Upload single tokens
        • Bulk Upload Files and Metadata
          • Bulk Upload via Drag and Drop
          • Bulk upload via SFTP
      • Edit
      • Metadata
        • Add Token-specific Metadata
        • Fingerprint (Metadata preview)
        • Metadata Check
        • Metadata Standard for fungible Tokens
        • Fully on-Chain NFTs
          • Partial URL-Encoding
        • CIP-68
      • Duplicate
      • Delete
      • Burn
      • Update (Edit after Mint / Reveal)
    • Set up Sales
      • Manage prices / Pricelist
        • Create new Prices
        • Free Drops
        • Custom Token payment
        • Discounts
      • Sales Conditions & Whitelisting
        • Sales conditions depending on policy ID or stake pool
        • Whitelist with Count
        • Blacklist
        • Test Sales Condition
      • Block Tokens
      • NMKR Pay
        • Set up NMKR Pay
        • MultiSig Payment
        • Website Integration
        • Specific Payment Links
        • Manual sending in NMKR Pay
        • FIAT ETH and SOL Payment
      • Pay-In Address
      • Auction
    • Minting
      • Minting on Demand
      • Manual Minting
      • Airdropper
        • Airdrop with random distribution
        • Airdrop with specific distribution
    • Tools
      • Managed Wallets
      • Split Addresses
      • Direct Sales
      • Policy Snapshot
      • Integrations & Plugins
        • NFT Pal
        • Zapier
    • Testnet
      • Create Testnet Account
      • Testnet Wallet & tADA
      • Testnet API Swagger
  • NMKR Studio API
    • Introduction - NMKR Studio API
    • API Features
    • Swagger API Endpoints
    • Get started with the API
    • API Swagger
      • Get Started with the Swagger
      • Swagger Responses and Error Codes
    • API Examples
      • Users
        • Payout Wallets
        • Subcustomers
      • Project
        • Create Project
        • Upload File and Metadata
      • Payment
        • Create unique NMKR Pay Link for random Token sales
        • Create NMKR Pay Link for specific Token sales
        • Get Payment Address for single NFT sales with native Tokens
        • Create NMKR Pay Link for a multi-specific Tokens sale
      • Minting
        • Manual Minting
      • Smart Contract
        • Secondary Sales via NMKR Pay
    • API Open Source Contributions
  • NMKR Mint
    • Introduction - NMKR Mint
    • Mint single NFTs
    • Mint Collection
  • NMKR Playground
    • Introduction - NMKR Playground
    • ADA Payment Link
    • Paperwallet
  • NMKR Pool
    • What is Staking?
    • Stake with NMKR Pool
  • Helpful Links
    • Cardano NFT Ressources
    • Cardano Resources
    • Cardano Wallets
    • Open Source Repositories
    • Security Practices
    • Deal with Bots
Powered by GitBook
On this page
  • Metadata Template
  • File section
  • Placeholders and fields
  1. NMKR Studio
  2. Project

Metadata Template

How to use the metadata template and the placeholders it contains

PreviousEditNextStatistics

NMKR Studio allows you to specify a metadata template for each project individually. This metadata template contains placeholders that will be replaced by the actual values from the metadata provided by each unique token, means each token uploaded to this project will use the metadata structure and placeholders of the metadata template. NMKR Studio uses the , a proposal that defines an NFT Metadata Standard as the standard structure of the metadata templates in your project. It is important to use this structure also with your .

Common mistakes are that the Cardano specific character limits are exceeded. The asset_name for example only allows 32 characters and no special characters. The standard limit for any field is 63 characters including whitespaces. If you want to add longer text, .

Metadata Template

You can identify placeholders by the form how they are written, anything could be a placeholder if they are framed with <>.

{
  "721": {
    "<policy_id>": {
      "<asset_name>": {
        "name": "<display_name>",
        "image": "<ipfs_link>",
        "mediaType": "<mime_type>",
        "description": "<description>",
        "files": [
          {
            "name": "<display_name>",
            "mediaType": "<mime_type>",
            "src": "<ipfs_link>"
          }
        ]
      }
    },
    "version": "1.0"
  }
}

Also make sure to use strings (" ") and not only values. E.g. "traitcount": "12" would be correct. "traitcount: 12 would NOT be correct.

File section

        "files": [
          {
            "name": "<display_name>",
            "mediaType": "<mime_type>",
            "src": "<ipfs_link>"
          }
        ]

Add files directly to the metadata template

        "files": [
          {
            "name": "<display_name>",
            "mediaType": "<mime_type>",
            "src": "<ipfs_link>"
          },
          {
            "name": "subfile",
            "mediaType": "<mime_type>",
            "src": "ipfs://QmZNqgUHhGukXD27pAZtZE5BEkx6VXB1AhQVmK55QCd31y" 
          }
        ]

Add a "," between each file to add more than 1 subfile directly to the template.

Placeholders and fields

policy_id

asset_name

Since the recent update of NMKR Studio, the asset_name can hold special characters and spaces.

display_name

image

The <ipfs_link> placeholder of this field will be replaced by the IPFS hash of your token. If your token has not only an image as mainfile, but also images as subfiles, this field will specify the thumbnail of your project and it could make sense to add a smaller sized version of your image/animated gif here.

mediaType

This field defines the file format of the thumbnail image, or if used in the file section below a subfile, the <mime_type> placeholder will automatically replace by the file format of the file.

src

detail data

"detaildata": "<detail_data>"

description and extended description with more than 63 characters

You can add up to 63 characters to the description without using an array. If you want to add a longer description, please use the array method to break your text into multiple lines:

        "description": [
          "text part abc...",
         "...def...",
          "...xyz"
        ],

Custom placeholders

Custom placeholders are very helpful to add your tokens so-called traits or token specific values. To specify unique placeholders you have to add a custom field to your metadata template. It is recommended to add them below the "description" line in the metadata code. To add a custom field, please give the custom field a "name" and then the <placeholder> as below:

"body": "<body>",

or

"background": "<background>",

Custom placeholders to name the stack (pool.pm)

Pool.pm stacks NFTs of a collection, if you want to name this stack you can use custom fields like:

"collection": "<collection>",
"artist": "<artist>",
"project": "<project>",

But if the project should share the same stack name anyway, you would like to put hard values in there without using the placeholder method (remove <>):

"collection": "My Collection",
"artist": "The Artist",
"project": "The Project",

Links in the metadata

Links can be easily added directly to your metadata with custom fields.

"website": "https://nmkr.io",

Also, when using https// links in your metadata, you need to respect the 63 characters limit per line. Please add links like stated below in an array.

        "download": [
          "https://drive.google.com/file/d/1CVmtR5VCHWENY",
          "GV-5OiuKGkAXsdmhGDA7p/view?usp=sharing"
        ],

To add a link to a field name, without showing the whole link, please use the following format.

          "links": {
            "website": "https://website.com/"
          },

Of course, this format can be combined with an array.

        "links": {
          "download": [
            "https://download.com/",
            "xyzabc..."
          ]
        },

The standard metadata can be found in the of your project settings.

It is very important that you keep the basic structure of this metadata template. A very useful tool to check your metadata structure is the .

The file section in the metadata template will always replace all its placeholders with the specific values of the files that are uploaded to the token. If you have multiple this file section will automatically multiply itself for every uploaded subfile. Therefore, it is recommended to not touch the file section and its placeholders.

For some projects where all tokens share identical it makes sense to add them directly to the metadata template instead of uploading them as subfiles to each single token. In order to do so, you want to upload the desired files in a test project to receive the IPFS hash of the file. You can then or the details column and add it as showed below to the metadata template.

Every field in the metadata consists of a name (e.g. "name") of the field and it's placeholder (e.g. "<display_name>". <placeholders> are as the name already said, are meant to hold the place for values that will be given by each unique NFT. It is recommended to use the already specified placeholders in the standard metadata template, but you can s too.

This fields placeholder <policy_id> replaces by the policy ID of the project. It is highly recommended to keep it in your metadata template and .

This <asset_name> placeholder will be the name of the asset on-chain and should match the Asset Name of your token in the manage NFTs Tab.It can have maximum 32 characters. It is highly recommended to keep the placeholder in your metadata template and .

We recommend that the numbering of your tokens rarities are not related to the token numbers. If this needs to be the case, we recommend that the of an asset does not correlate in any way with the and is randomly generated. Please use the to override the display names of your tokens. The reason for that is simple; if you are going to use in your project, the buyer could see the (not the ) in the transaction when he is signing the payment transaction. Therefore, a buyer could decide to cancel the transaction if he sees an "not rare/common number" and start over again.

When a <display_name> is specified, it replaces the token's on pool.pm, secondary markets, and other websites. This name is how the holder identifies the token. It can hold up to 63 characters, including special characters. If you want to have your name like "Token #124", this is where you want to put it that way.

The <ipfs_link> placeholder in the field "src" belongs to the file section and will be replaced by the ipfs hashes of every uploaded .

The detail data field can be given if you want to add additional details to your . These can be specified in the or directly in the .

After specifying the custom fields in your metadata template, you will give the values with .

If these custom fields are not given in the metadata, pool.pm will create a name out of a sequence in the or the (if not given, the ) of the tokens.

Edit Metadata Tab
JSON Editor Online
subfiles
subfiles
copy the IPFSH hashes from the file tab of the token
Manage NFTs Tab
specify your own fields and placeholder
unique metadata of the token
unique metadata of the token
asset_name / token name
display_name
placeholder.csv method
MultiSig Payment
asset_name
display_name
asset_name
subfile
subfiles
files tab when you edit or upload a token
custom metadata
the tokens' unique metadata
description
display_names
asset_name
CIP-0025
tokens unique metadata
please use an array
CIP-0025 | Cardano Developer Portal
Logo
JSON Editor Online - view, edit and format JSON online
Logo
The Metadata Tab of your Project shows the Metadata Template