NFTClient

Methods

  • create_nft_collection
  • get_mint_fee_token
  • get_mint_fee

create_nft_collection

Creates a new SPG NFT Collection.

Method
create_nft_collection

Parameters:

  • name: The name of the collection.
  • symbol: The symbol of the collection.
  • is_public_minting: If true, anyone can mint from the collection. If false, only the addresses with the minter role can mint.
  • mint_open: Whether the collection is open for minting on creation.
  • mint_fee_recipient: The address to receive mint fees.
  • contract_uri: The contract URI for the collection. Follows ERC-7572 standard. See here.
  • base_uri: [Optional] The base URI for the collection. If baseURI is not empty, tokenURI will be either baseURI + token ID (if nftMetadataURI is empty) or baseURI + nftMetadataURI.
  • max_supply: [Optional] The maximum supply of the collection.
  • mint_fee: [Optional] The cost to mint a token.
  • mint_fee_token: [Optional] The token to mint.
  • owner: [Optional] The owner of the collection.
  • tx_options: [Optional] Transaction options dictionary.
# Create a new SPG NFT collection
#
# NOTE: Use this code to create a new SPG NFT collection. You can then use the
# `new_collection["nft_contract"]` address as the `nft_contract` argument in
# functions like `mint_and_register_ip_asset_with_pil_terms` in the Story SDK.
#
# You will mostly only have to do this once. Once you get your nft contract address,
# you can use it in SPG functions.
#
new_collection = story_client.NFTClient.create_nft_collection(
  name="Test NFT",
  symbol="TEST",
  is_public_minting=True,
  mint_open=True,
  mint_fee_recipient="0x0000000000000000000000000000000000000000",  # Zero address
  contract_uri=""
)

print(f"New SPG NFT collection created at transaction hash {new_collection['tx_hash']}")
print(f"NFT contract address: {new_collection['nft_contract']}")

get_mint_fee_token

Returns the current mint fee token of the collection.

Method
get_mint_fee_token

Parameters:

  • nft_contract: The address of the NFT contract.
mint_fee_token = story_client.NFTClient.get_mint_fee_token("0x01")

get_mint_fee

Returns the current mint fee of the collection.

Method
get_mint_fee

Parameters:

  • nft_contract: The address of the NFT contract.
mint_fee = story_client.NFTClient.get_mint_fee("0x01")