Exploring NFTs with NFT Api getNFTLowestPrice and getNFTOwners

I’m having some trouble understanding a few things some basic NFT attributes through NFT Api. I’m experimenting with getNFTLowestPrice and getNFTOwners NFT API data.
So starting with the most simple:
1) What’s the currency unit of the price’ field? it seems to often comes in the realm of quadrillions – is the unit ‘wei’? An example response below:

{
  "transaction_hash": "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e",
  "transaction_index": "string",
  "token_ids": ["15", "54"],
  "seller_address": "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e",
  "buyer_address": "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e",
  "marketplace_address": "0x057Ec652A4F150f7FF94f089A38008f49a0DF88e",
  "price": "1000000000000000",  <------------< one quadrillion of wei? 
  "block_timestamp": "2021-06-04T16:00:15",
  "block_number": "13680123",
  "block_hash": "0x4a7c916ca4a970358b9df90051008f729685ff05e9724a9dddba32630c37cb96"
}

2) I’ve also encounter some specific NFTs where I get an error while getting the price but can’t understand where the error comes like in the image below:
Screen Shot 2022-04-22 at 13.46.59

Regarding the getNFTOwners requests, here’s an example of a response querying an specific NFT minted by my flatmate on a marketplace named Foundation:

Screen Shot 2022-04-22 at 15.06.21

3) It’s returning thousands of results. I know that this NFT wasn’t sold, and that my flatmate didn’t mint these many multiples (it’s a single edition). I can’t even figure what’s the current owner wallet from this response. I’m very confused. In regards to this specific case, and going back to the getNFTsLowestPrice, this NFTs retrieves 35000000000000000. As I said it wasn’t sold, so is it correct to assume that the price is showing the original minting cost? And if so, why do some NFTs retrieve 0 as a price?

Which leads me to a few other questions:

4) when someone mints an NFT with multiples (let’s say 1000 multiples) is the NFT token address always the same? What’s the role of the field token_id . I’ve also noticed that getNFTsLowestPrice retrieves token_ids as an array containing two token_ids!

5) Is there a pattern/way to know the type of file the NFT links to (is it a, jpg, png, 3d obj or a .mp4)? I know I can parse the metadata field and know to which file the uri points (and then do something with it), however not only the image might point to a uri without a format sufix, and actually point to a video file instead of an image. I guess the metadata has infinite variations from creator to creator, from minting platform to minting platform, so I’m unsure if there’s any off-the-shelf solution for this.

7) finally the last one, and possibly the most complex – when someone creates a generative/mutable NFTs… is it the case that the creator creates a smart-contract with instruction/variables to change the NFT, and also creates transactionable NFTs that look at that smart contract to change their shape?

I know it’s a lot but even if you only know something about to one of the topics it would help me making some sense of this. Many thanks in advance for your time!
Best! :slight_smile:

  1. Yes, the price is in wei.

  2. If there are no trades on opensea for that particular contract then you might get this error. For more details on error you can check the network tab in the browser for an error descriptions.

  3. If the NFT contract and minting function is public then anyone can also mint nft’s on the contract.
    If there are no NFT trades then i guess the NFT price may be the price that is set by the NFT owner.
    Can you share the NFT contract name and chain name for better understanding?

  4. NFT token address is the contract address and it is same for all NFT’s on that contract. and NFT tonek_id are used to identify different nft’s on that contract.

I guess there are more than one NFT with the same lowest price. Can you share the contract which gave an array with id’s.

  1. If the contract uses animation_url in the metadata structure then you can identify the video based on this property. Or else using the suffix is only the way.

  2. The way the mutable nft image is generated happens on the frontend and only the unique value that is generated on the contract is stored on the blockchain.
    For example: If you have access to the DNA of the cryptokitties contract then you can show you own version of crytpo kitties on your frontend.