Prepare Asset Metadata

Define the name, image and other attributes for your NFTs

Metadata format

Open a text editor, and start drafting what the contents of your NFT will look like.

NFT contents must be specified in JSON format. Specifically, it's crucial to follow industry conventions around how each field in the NFT is names and what each field contains. Doing so will ensure that the NFT can render appropriately across all NFT-compatible applications, from wallets to marketplaces.

The standard is slightly different across blockchains. Refer to it below:

EVM chains (Polygon, Ethereum, Binance, Arbitrum, Optimism and Base)

EVM chains follow the OpenSea standard (even if your NFTs won't be sold there, they defined the standard). Read their guide for reference on all the attributes that can be included.

Note: the standard requires that name and image are always set, at a minimum. Any other fields are optional.


Adding audio, video and other rich content:

The Mint API natively supports rich metadata within ERC 721 and ERC 1155, including audio, video and/or HTML. Populate the animation_url field as per the OpenSea metadata spec: Metadata Structure


In Solana, the mint API follows the Metaplex Metadata Standard. Refer to the official Metaplex documentation (look at the JSON structure section) for more information on what fields are accepted.


    "metadata": {
        "name": "TEST NFT",
        "symbol": "TESTS",
        "description": "This is a test NFT",
        "seller_fee_basis_points": 5000,
        "image": "",
        "attributes": [
                "trait_type": "sun_size",
                "value": "l"
                "trait_type": "sun_pos",
                "value": "center"
                "trait_type": "random_seed",
                "value": 61
        "properties": {
            "files": [
                    "uri": "",
                    "type": "image/png"
            "category": "image"

Determining how to store asset metadata

Every NFT or collection contains 'metadata' such as the name, description, image or other traits represented by the asset. With the mint API, such metadata can be specified in two ways:

  1. Directly, as a JSON object encoded as a string
  2. Indirectly, as a URL to an endpoint that contains a JSON with the metadata

Choose the first method if you don't have a server or CDN to store asset metadata, and want for Crossmint to handle uploading it to IPFS. Choose the second method if you have existing assets, or if you want to create dynamic NFTs whose content varies over time.


File-size Limits

When specifying asset metadata route as described above, we limit JSON metadata objects to 10mb. If you'd like to get around with with larger files you should provide a URL with the metadata object instead