1.0.9 ā€¢ Published 2 years ago

matr-art-generator v1.0.9

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago

šŸŽØ Matr NFT Art & Metadata Generator

Generate Solana NFT artwork and Metaplex metadata with a single command.

If you have any questions feel free to reach out on Discord or Twitter.

šŸ–„ Web UI (matr.world/art)

šŸ“¦ Download Example Project

demo

āš”ļø Usage

Once your project is set up and you have a matr.config.json file next to your attribute folders, you can run the following command to run matr-art-generator.

šŸ’” Tip

To get your project folder path into terminal, drag your project folder into terminal and it will paste the path. Once the path has been added, hit ENTER to start the generator.

npx matr-art-generator YOUR_PROJECT_FOLDER

šŸŽ‰ Result

The resulting metadata and artwork will be exported to YOUR_PROJECT_FOLDER/build.

šŸ¤ Getting Started

Install Node

Node is required for the npx command and generator to work. Install https://nodejs.org/en/download/ LTS.

āš ļø Issues when trying to run?

If you're having trouble installing/running the generator, try switching your Node version to 15. There is a known issue we are trying to fix where on some systems you have to be using Node 15.

You can view your current node version by running node --version in terminal.

To switch your Node version, you can use NVM which allows you to switch between Node versions and do something along the lines of nvm install 15 & nvm use 15.

šŸ“¦ Project Structure

Structure your attribute directories and value files like the following.

  • Each attribute has its own value files.
  • Attribute values must be .png format.
  • A matr.config.json exists at the top of the project.
my-project
    | - Background
        | - Black.png
        | - Red.png
        | - Yellow.png
    | - Face
        | - Happy.png
        | - Sad.png
        | - Sexy.png
    matr.config.json

āš’ļø Config

demo

In order for the generator to run, there needs to be a matr.config.json file at the top of your project. You can use our UI to design a config found at matr.world/art, or you can write your own using the following spec.

{
    "name": "PROJECT_NAME",
    "symbol": "YOUR_SYMBOL",
    "external_url": "YOUR_WEBSITE",
    "description": "YOUR_DESCRIPTION",
    "baseUri": "YOUR_IMAGE_HOSTING",
    "seller_fee_basis_points": 1000,
    "creators": [
        {
            "address": "YOUR_WALLET",
            "share": 100
        }
    ],
    "artwork": [
        {
            "count": 333,
            "attributes": [
                {
                    "directory": "ATTRIBUTE_DIRECTORY"
                },
                {
                    "directory": "ATTRIBUTE_DIRECTORY",
                    "name": "ATTRIBUTE_NICE_NAME"
                },
            ]
        }
    ]
}
PropertyDescription
nameThe name of your project and what will be before each NFTs edition. For example, a generated NFTs name could be PROJECT_NAME #111.
symbolProject symbol.
external_urlProject website.
descriptionProject description.
baseUriWhere your images are hosted. NFT image paths will be baseUri/some_number.png.
seller_fee_basis_pointsRoyalties. 1000 is 10%.
creatorsA list of creators and percentage amounts to split the royalties.
artworkA list of objects where each object represents an attribute directory. By default, the attribute Name will be the directory name. If you want the name to be something else, you can use the name property and still point to whatever directory you want to.

šŸ”„ Multiple Attribute Combinations

You can pass multiple attribute configs into the same generation. This lets you do cool things like only generate a set amount of a certain combo making them more rare.

{
    "artwork": [
        {
            "count": 333,
            "attributes": [
                {
                    "directory" : "ATTRIBUTE_DIRECTORY"
                },
                {
                    "directory" : "ATTRIBUTE_DIRECTORY",
                    "name": "ATTRIBUTE_NICE_NAME"
                }
            ]
        },
        {
            "count": 100,
            "attributes": [
                {
                    "directory": "ATTRIBUTE_DIRECTORY"
                },
                {
                    "directory": "ATTRIBUTE_DIRECTORY",
                    "name": "ATTRIBUTE_NICE_NAME"
                },
                {
                    "directory": "SPECIAL_THING",
                },
            ]
        }
    ]
}
1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago