turbo-eth / template-ai-pfp-app

0 stars 0 forks source link

User Story: AI + NFT Web3 Application (Ethereal Nexus) #1

Open kamescg opened 1 year ago

kamescg commented 1 year ago

👨‍💻 User Story

As a player in the Web3 universe I want a unique profile picture (PFP) generated using artificial intelligence.

More specifically I want to use a Dreambooth API to generate profile pictures that is minted as a 1-of-1 non-fungible token (NFT) hosted using distributed storage like IPFS and/or Arweave.

📜 Disclaimer

To be eligible for the payout you must first get approval to work on the bounty.

It's recommended to share a link to your personal Github account.

🧱 Project

Create a Web3 application that combines Dreambooth AI and ERC721 NFTs.

The application should allow users to generate personalized "Web3 Metaverse" profile pictures.

The PFPs will be generated using Dreambooth, which is AI program that can be trained on object, like a person, and recreate that object in a variety of different environments. The NFT will be minted on the Optimism network, which is a popular Ethereum rollup and permantely stored on either IPFS or Arweave.

Application Features

  1. Purchase NFT Access Control Pass User are required to purchase an access control NFT for 10 USDC. The cost of the NFT will be used to run the servers required to generate the AI profile pictures.

The access control NFT is separate from the PFP NFT. And is used as solely as purchase receipt and as an API access control trigger.

  1. Upload Images to Server User should be able to upload 5-10 photos of themselves on a private server. The images should be stored in Vercel object storage and be erased after the PFP has been generated.

  2. Generate AI Profile Pictures User should be able to generate 100 unique profile pictures using a model trained on the upload images in the previous step. Users can save all of the hi-res images at no additional cost.

  3. Select Favorite & Mint on Blockchain Users should be able to select a single PFP, which will be uploaded to IPFS or Arweave, and minted on the Optimism L2 rollup.

Required Functionality:

  1. Dreambooth API Integration
  2. ERC721 Access Control Smart Contract
  3. ERC721 PFP Smart Contract
  4. IPFS Image Upload

Developer Tasks:

Example Application Template

The Places TurboETH template is good example of how to setup a turbo monorepo that includes independent TurboETH application and smart contract packages.

The WAGMI CLI is used to connect the application and smart contracts. React read, write and events are automatically generated.

Mockups

The initial mockups and ideas are available on Figma and are free to download, copy and update.

combo