NFTArtCreator
No description available
Install / Use
/learn @Kilros0817/NFTArtCreatorREADME
NFT Art Creator
A Python-based NFT art generator that creates layered images and metadata for Field, Yard, and Pot token types. Each type uses trait layers (backgrounds, effects, layers, plants, buildings, etc.) with configurable rarity to produce unique images and JSON metadata.
Project structure
NFTArtCreator/
├── generators/ # Image + metadata generation
│ ├── nft-generator_field.py
│ ├── nft-generator_yard.py
│ └── nft-generator_pot.py
├── models/ # Trait definitions and rarity data
│ ├── modelF.py # Field
│ ├── modelY.py # Yard
│ └── modelP.py # Pot
├── converters/ # JSON metadata format conversion
│ ├── json-converter_field.py
│ ├── json-converter_yard.py
│ └── json-converter_pot.py
├── docs/
│ └── ipfs.txt # IPFS hashes and links reference
├── assets/ # Source trait images (not in repo)
│ ├── field/
│ ├── yard/
│ └── pot/
└── data/ # Generated output (created on first run)
├── field/
├── yard/
└── pot/
- generators/ — Scripts that composite PNG layers by rarity, write JPGs and raw JSON into
data/<type>/<rarity>/imageand.../json. - models/ — Trait lists and chances (e.g.
background_data,layer_1_data,border_data) used by the generators. - converters/ — Turn the raw generator JSON into marketplace-style metadata (name, description, attributes, image placeholder) and write to
data/<type>/<rarity>/newJson. - docs/ipfs.txt — Reference IPFS CIDs and gateway URLs for images and JSON.
Requirements
- Python 3
- Pillow (PIL)
pip install Pillow
Setup
-
Clone the repo and install dependencies:
pip install Pillow -
Add trait assets under the project root:
assets/field/— folders like0 - BACKGROUND,1 - BACKGROUND EFFECTS, …11 - BORDERS REWARDSassets/yard/— same idea (see generator for exact folder names)assets/pot/— same idea
-
Run all commands from the project root (
NFTArtCreator/).
Usage
Generate NFTs
From the project root:
# Field (default 1000)
python generators/nft-generator_field.py
# Yard (default 10000)
python generators/nft-generator_yard.py
# Pot (default 100000)
python generators/nft-generator_pot.py
Output goes to:
data/<field|yard|pot>/<diamond|ruby|pearl|carbon>/image/<id>.jpgdata/<field|yard|pot>/<diamond|ruby|pearl|carbon>/json/<id>.json
Rarity caps (e.g. 20 Diamond, 100 Ruby for Yard) are enforced in each generator.
Convert metadata
After generation, convert raw JSON to marketplace-style metadata (with name, description, attributes):
python converters/json-converter_field.py
python converters/json-converter_yard.py
python converters/json-converter_pot.py
Converted files are written to data/<type>/<rarity>/newJson/.
Adjusting collection size
Edit TOTAL_NFT_COUNT in the corresponding generator:
- Field:
generators/nft-generator_field.py(e.g. 1000) - Yard:
generators/nft-generator_yard.py(e.g. 10000) - Pot:
generators/nft-generator_pot.py(e.g. 100000)
Rarity tiers
- Diamond — rarest
- Ruby
- Pearl
- Carbon — most common
Exact caps per type are defined in each generator.
IPFS
See docs/ipfs.txt for IPFS gateway URLs and CIDs for images and JSON (e.g. CloverNFT Field/Yard/Pot).
License
See repository for license information.
