With Easy mint, you can turn anything into an NFT in less than 5 minutes using one simple API call. If you are new to minting, see Easy minting quickstart.

After minting, the NFT will appear in the mint_to_address wallet. If you minted to your own wallet, you can also see the minted NFT on OpenSea in your profile after a few minutes.

You can mint up to 100 NFTs for free per chain. Maximum supported file size is 50MB. For higher limits, see pricing.

Useful for:


Example Requests in cURL, Python & JS

curl --request POST \
    --url 'https://api.nftport.xyz/v0/mints/easy/files?chain=polygon&name=NFT_Name&description=NFT_Description&mint_to_address=0x...' \
    --header 'Authorization: API Key Here' \
    --header 'Content-Type: multipart/form-data' \
    --form 'file=@/path/to/file_to_upload.png;type=image/png'
import requests

file = open("image.png", "rb")

query_params = {
    "chain": "polygon",
    "name": "NFT_Name",
    "description": "NFT_Description",
    "mint_to_address": Wallet_Address

response = requests.post(
    headers={"Authorization": "API-Key-Here"},
    files={"file": file}
const fs = require('fs');
const fetch = require('node-fetch');
const FormData = require('form-data');

const form = new FormData();
const fileStream = fs.createReadStream('/path/to/file_to_upload.png');
form.append('file', fileStream);

const options = {
  method: 'POST',
  body: form,
  headers: {
    "Authorization": "API-Key-Here",

fetch("https://api.nftport.xyz/v0/mints/easy/files?" + new URLSearchParams({
  chain: 'polygon',
  name: "NFT_Name",
  description: "NFT_Description",
  mint_to_address: "Wallet_Address",
}), options)
  .then(function(response) { return response.json() })
  .then(function(responseJson) {
    // Handle the response
Click Try It! to start a request and see the response here!