hashlips_art_engine
HashLips Art Engine is a tool used to create multiple different instances of artworks based on provided layers.
A JavaScript tool that generates large collections of unique artwork by layering PNG files, assigning rarity weights to each asset, and outputting matching JSON metadata files, runs locally with Node.js, no online account needed.
HashLips Art Engine is a JavaScript tool for generating large collections of unique artwork automatically. It was built for the NFT space, where creators need to produce hundreds or thousands of images that each look distinct but share a common visual style. The project is accompanied by tutorials on the HashLips YouTube channel.
The core idea is layering. You organize your artwork into folders, where each folder represents one visual element, such as a background, a body, a face, or an accessory. Each folder contains multiple versions of that element as PNG files. The engine picks one image from each folder and stacks them on top of each other to produce a finished piece. By combining layers from different folders, it generates many unique combinations from a relatively small set of source images.
You control rarity by including a number in each filename. An asset named something like Common Background at 70 and Rare Background at 5 will appear much more often in the final collection than the rare one. The engine reads these weights and distributes the selections accordingly, so some traits end up being genuinely uncommon across the full collection.
Additional options let you control blending modes between layers, set per-layer transparency, specify the output image size, and decide whether to shuffle the order in which images are saved. Each generated image gets a matching metadata file in JSON format that lists its traits, which is the standard format NFT platforms use to display attributes like rarity scores and trait breakdowns.
When you run the build command, the engine writes all the images to one folder and all the metadata files to another. It also tracks which combinations it has already used so it does not produce duplicates. The project is self-contained and runs locally with Node.js, meaning you do not need any online service or account to generate a collection.
Where it fits
- Generate a 10,000-image NFT collection by combining layered PNG assets with weighted rarity rules.
- Produce JSON metadata files for each image that list its traits for display on NFT marketplaces.
- Create generative avatar collections for non-NFT uses like profile pictures or merchandise designs.