How to Mint an NFT

Mint an NFT using the application

Did you try to mint an NFT using the application? You can check out this guide for minting an NFT using our no-code application.

Mint an NFTs using API's

The process of minting NFTs using the API takes on the same approach as minting it on the NFT.Kred application, There are two ways to mint an NFT using API, either using /nft/draft or /nft/mint APIs.

❗️

Currently, the mint/upload API is not functioning properly - we are working on this issue! In the meantime, please reach out to us at [email protected] or mint through our no-code solution.

/nft/mint API is used to mint the NFT but this API require all other details with the API call such as name, images, colors, and background pattern, number of NFTs in the batch, NFTs are combined in a mesh, etc at the time of calling the API. Once an NFT has been distributed, its appearance and core properties are frozen, though the NFT metadata can be updated at any time.

curl --request POST \
     --url 'https://api.nft.kred/nft/mint?token=tokenValue&name=Cat Coll&count=10&wallet=931497&value=100&type=custom&color=f1f1f1&pattern=prism&pattern_color=green&text_color=000000&mesh=false&nsfw=true' \
     --header 'Accept: application/json' \
     --header 'Authorization: Basic am9obndvb2R5OTg1MkBnbWFpbC5jb206QWRtaW5AMTI=='

/nft/draft API is used to design a new NFT and it does not mint an NFT directly on the blockchain. The user may pass the parameters to save the design. By saving the NFT using the /nft/draft method the design is stored without immediately creating an NFT, and the details are saved for retrieval by the /nft/draft method. Users can page through existing designs, modify them using the NFT designer, and save them again using /nft/draft or mint an NFT using /nft/mint.

curl --request POST \
     --url 'https://api.nft.kred/nft/draft?token=tokenValue&draft=1212121name=Cat Coll&count=10&wallet=931497&value=100&type=custom&color=f1f1f1&pattern=prism&pattern_color=green&text_color=000000&mesh=false&nsfw=true' \
     --header 'Accept: application/json' \
     --header 'Authorization: Basic am9obndvb2R5OTg1MkBnbWFpbC5jb206QWRtaW5AMTI=='

/nft/upload API is used to upload your images. You can't change existing NFT images which are minted, but you can upload new images and then use /nft/edit to update your draft NFT as long as it has not yet been distributed to users.

curl --request POST \
     --url 'https://api.nft.kred/nft/upload?name=catAngle&content=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAApgAAAKYB3X3/OAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAANCSURBVEiJtZZPbBtFFMZ/M7ubXdtdb1xSFyeilBapySVU8h8OoFaooFSqiihIVIpQBKci6KEg9Q6H9kovIHoCIVQJJCKE1ENFjnAgcaSGC6rEnxBwA04Tx43t2FnvDAfjkNibxgHxnWb2e/u992bee7tCa00YFsffekFY+nUzFtjW0LrvjRXrCDIAaPLlW0nHL0SsZtVoaF98mLrx3pdhOqLtYPHChahZcYYO7KvPFxvRl5XPp1sN3adWiD1ZAqD6XYK1b/dvE5IWryTt2udLFedwc1+9kLp+vbbpoDh+6TklxBeAi9TL0taeWpdmZzQDry0AcO+jQ12RyohqqoYoo8RDwJrU+qXkjWtfi8Xxt58BdQuwQs9qC/afLwCw8tnQbqYAPsgxE1S6F3EAIXux2oQFKm0ihMsOF71dHYx+f3NND68ghCu1YIoePPQN1pGRABkJ6Bus96CutRZMydTl+TvuiRW1m3n0eDl0vRPcEysqdXn+jsQPsrHMquGeXEaY4Yk4wxWcY5V/9scqOMOVUFthatyTy8QyqwZ+kDURKoMWxNKr2EeqVKcTNOajqKoBgOE28U4tdQl5p5bwCw7BWquaZSzAPlwjlithJtp3pTImSqQRrb2Z8PHGigD4RZuNX6JYj6wj7O4TFLbCO/Mn/m8R+h6rYSUb3ekokRY6f/YukArN979jcW+V/S8g0eT/N3VN3kTqWbQ428m9/8k0P/1aIhF36PccEl6EhOcAUCrXKZXXWS3XKd2vc/TRBG9O5ELC17MmWubD2nKhUKZa26Ba2+D3P+4/MNCFwg59oWVeYhkzgN/JDR8deKBoD7Y+ljEjGZ0sosXVTvbc6RHirr2reNy1OXd6pJsQ+gqjk8VWFYmHrwBzW/n+uMPFiRwHB2I7ih8ciHFxIkd/3Omk5tCDV1t+2nNu5sxxpDFNx+huNhVT3/zMDz8usXC3ddaHBj1GHj/As08fwTS7Kt1HBTmyN29vdwAw+/wbwLVOJ3uAD1wi/dUH7Qei66PfyuRj4Ik9is+hglfbkbfR3cnZm7chlUWLdwmprtCohX4HUtlOcQjLYCu+fzGJH2QRKvP3UNz8bWk1qMxjGTOMThZ3kvgLI5AzFfo379UAAAAASUVORK5CYII=' \
     --header 'Accept: application/json' \
     --header 'Authorization: Basic am9obndvb2R5OTg1MkBnbWFpbC5jb206QWRtaW5AMTI=='

/nft/edit API is used to edit the NFT details which are on draft mode and not minted yet.

Once a design is completed and the NFT is minted, the system automatically generates image files for the NFT, to be embedded in sites that don't need or can't use the full SVG layout, such as light mobile apps or notification feeds. The full list of available images is provided via the metadata call, /nft/data. The metadata endpoint is also linked directly from ERC721 tokens, so that third-party wallets and exchanges can automatically detect and display your NFTs.

curl --request GET \
     --url 'https://api.nft.kred/nft/data?nft=134571' \
     --header 'Accept: application/json' \
     --header 'Authorization: Basic am9obndvb2R5OTg1MkBnbWFpbC5jb206QWRtaW5AMTI=='

All the data and metadata for an NFT can be retrieved by a call to /nft/nft in native API format, and public data can be retrieved via to/nft/data in ERC721-compatible format.

curl --request GET \
     --url 'https://api.nft.kred/nft/nft?nft=134571&uuid=615c1567e9b6cca632112de6' \
     --header 'Accept: application/json' \
     --header 'Authorization: Basic am9obndvb2R5OTg1MkBnbWFpbC5jb206QWRtaW5AMTI=='

When an NFT is minted, it is immediately listed on the blockchain. With POA, this only takes around five seconds, and multiple NFTs can be batched and listed simultaneously.

How to know when the minting is successful?

Minting an NFT is all about publishing a token on the blockchain, and making it purchasable. After uploading your artwork, the NFT minting process is automatically started and the smart contract executes a code on the blockchain. Once the transaction has been confirmed, you will now be able to see your minted NFT on your profile.

You can also check whether NFTs are minted or not using API. /nft/nft API is used to get the NFT details. This API uses lots of parameters like nft, uuid, symbol and sequence but you can use your NFT ID to fetch the NFT details. This API will return the "Address" parameter as a response once your NFT is minted.

"nft": {
        "address": "0x3e90Bc4b1883c916Bb8E7AF1dEDCce36A2c1Fc2d",
        "back": "https://imgcdn.socialos.io/web/files/615c1567e9b6cca632112de6/1633518011336_images.jpeg",
        "background_blur": 0,
        "blockchain": "polygon",
        "channel": "nft.kred",
        "type": "coin",
        .
        .
        .
        .
        .
        "user": "615c1567e9b6211cca632112de6",
        "uuid": "C3PGVUWQ211H34H3ARL7DMSY7YMR7QO",
        "wallet": 022312
    }

Mint an NFTs using Python SDK

Minting an NFT using Python-SDK is simple. This Python SDK bridges the gap between your applications and NFT.Kred APIs. Full-scale NFT solutions can be built in hours - instead of months. You can use NFT.Kred functionality via this python package and interact with the NFT.Kred APIs directly in your app.

Installation & Usage
We have created a tutorial on how you can install the Python SDK on your machine. Read our step-by-step guide on “How to install Python SDK” for more details. After importing the python SDK, please follow the below steps to mint an NFT using Python SDK.

Step 1: Import SDK Files
Import below necessary library files by adding the following code.

from kred import services
from kred import models

Step 2: Define Which API method you want to use
Now we need to define which API method we want to use. Right now, we want to mint an NFT so we will use a "mint" method. For more available methods, please have a look at the Example References documentation section, where all the available examples are given.

def mint(token, name=None, count=1, type='custom', wallet=None, value=None, layout=None, front=None, back=None, color=None, pattern=None, pattern_color=None, text_color=None, payload=None, wrapper=None, mesh=None, nsfw=None):
    """Mint a batch of NFTs.
    """
    logger = logging.getLogger(__name__)
    logger.info('Post a mint request')

    # service class
    service = services.NftClient(token)
    model = models.NftModel()

    # parameters
    model.name = name
    model.count = count
    model.type = type
    model.wallet = wallet
    model.value = value
    model.layout = layout
    model.front = front
    model.back = back
    model.color = color
    model.pattern = pattern
    model.pattern_color = pattern_color
    model.text_color = text_color
    model.payload = payload
    model.wrapper = wrapper
    model.mesh = mesh
    model.nsfw = nsfw

    # Service API calling
    response = service.mint(model)
    logger.info(json.dumps(response, indent=2))

Step 3: Call your Defined method to mint NFT
We are using the mint NFT methods and the mint API method uses lots of parameters to mint an NFT. We will pass that the parameters to the method list and call the defined method.

$ # Define your token here
$ token = "token value"
$
$ # Call define method with values
mint(token, name, count, type, wallet, value, layout, front, back, color, pattern, pattern_color, text_color, payload, wrapper, mesh, nsfw)

Now that your NFT has been minted using Python SDK, you might want to be able to access its metadata from the network. To do this, you can use the data method from the Python SDK.