Art (+metadata) generation from your provided layers. Possibility to specify rarity percentage for each layer or even occurrence percentage of layer groups. For example "necklaces" can have only 10% chance to even appear on your NFT and so on
Rarity reports of generated NFTs.
IPFS upload and pinning to Pinata,
ERC721 smart contract
Whitelist and/or presale
NFT reveal mechanism