Toolset to create NFTs from Photoshop layer group combinations.
mknft
was created rather quickly to POC a NFT project. Originally it included tools to deploy NFTs to the OpenSea marketplace but policy changes in their service now prevent that solution from being viable. Features were subsequently removed from mknft
in order to provide a minimum toolset for generating NFT, images, using Photoshop layer group combinations. There is the possibility of this package including a deployment mechanism to the Polygon network in the future, but that's far from a guarantee.
- Attributes are organized by PSD layer groups
- Attribute values comprised of layers in each group
- Combinations of attribute values, random layers from groups, for unique NFTs
- Weighted selection of layers using configuration file
- Exclusion lists prevent incompatible layers from being combined
- PSD groups or layers can be ignored with _ prefix
- Image probabilities calculated for odds of assembling attributes together (factors weights)
- Sort composite images by probability
Status: Alpha Experimentation
- Photoshop PSD (layers in groups)
- Rust / Cargo
- Photoshop layers must not have hidden pixels outside canvas
- Size of output collection cannot be too close to total number of possible combinations (due to random selection)
- Install Rust and Cargo
- Install
mknft
using Cargo command:cargo install mknft
mknft
is a command line interface utility.
NFT projects have been broken down into three distinct states.
Each state created by mknft
produces a new directory with respective configuration and assets. These directories are NOT meant to be the same path for other states. They must be unique to prevent file name collisions.
This state is not created by mknft
.
The project directory should contain a structured Photoshop project file (PSD) with a configuration file identifying layers and weights.
This state represents a configuration of the prepared layer images without each individual generated NFT. The preapred project can be used to generate new combinations of NFTs more than once using the same parameters but, due to probablistic outcomes, should produce different results each execution.
The final state for making NFTs. The results of this state include a configuration file identifying attributes and name of each NFT. This configuration file can be used to publish NFTs.
This state includes ALL the final NFT files and will consume disk space respectively.
Help menu can be displayed using --help
or -h
option with any mknft
command.
$ mknft --help
OR
$ mknft prepare --help
Included in this package is an example project that is composed of a configuration JSON file and PSD with three layer groups.
Run the prepare
command and subsequently the package
command to observe how mknft
functions.
mknft
was used to build the nfshibes NFT project.
GitHub Pages website hosts NFTs minted with mknft
.