Using ICME's API to Mint NFTs

ICME's NFT minting engine is now available via API. This means that you can mint and store NFTs entirely on chain from your own app simply by sending a few pieces of data.

Just add a "mint as NFT" button to your app and you're ready to go. ICME enables users to mint a wide variety of file types such as image, video, audio, and document files.

01 Upload File

The first step is to send the file you want to mint to ICME. Sending files to ICME from your own app takes the form of POST calls using the Form-data Body Type.

The parameter values for uploading are as follows:




your API key


the ICME storage canister ID


the actual file you want to mint

Once a file is uploaded, ICME will return a File ID.

02 Mint on-chain NFT

After uploading, the second step is to send data to ICME to mint the file as an NFT that is stored on chain.

The parameter values for minting a file on chain are as follows:




the same API key from the previous step


the File ID returned from the previous step


the storage canister ID used in the previous step


your specific minting canister ID

price, royalties, name, and description

the amounts and text of your choice


the type of file your are minting (image, audio, video, or pdf)

is_private and autoAcceptBuy

true or false depending on your choices

Once a file is minted as an NFT, ICME will return a count for NFTs in the canister.


You can view an example on-chain NFT here with its associated File ID, storage and minting canister IDs, and Token ID in the URL.

These steps can easily be combined so your users have a seamless "one-click" experience. ICME's API also enables bulk minting of NFT files.

Please get in touch with us to get started using ICME's API.

About the author

Houman Shadab is a cofounder of ICME