# Art Generator Asset Guidelines

By the end of this guide, you'll learn how to set up your file structure, export your files from Photoshop, and organize them into proper folders. No action is required from you, but we encourage you to watch the video to gain a better understanding of the process.&#x20;

{% embed url="<https://www.youtube.com/watch?v=kauZEyRpmqE>" %}
Simple Guide to Organizing Art Files for Your NFT Collection
{% endembed %}

{% hint style="success" %}
Download our Free Generative App (Windows/MacOS): <https://niftykit.com/products/art-generator>\
\
Upload Final Art to NFT collection: <https://app.niftykit.com/signup>&#x20;
{% endhint %}

### Folder Organization

Ensure that the traits are organized in a folder structure, with the folder name being the name of the trait category and individual files under the folder are traits.

Ensure that folders are named with the layering order, 0 being the bottom-most layer. The layering order should come first, then the underscore, and then the name of the trait category.

**Example:**

* 0\_Face
  * Oval.png
  * Round.png
  * Square.png
* 1\_Eyes
  * Round.png
  * Three Eyes.png
  * Anime.png
* 2\_Hair
  * Pink.png
  * Blue.png
  * Curly Black.png
* 3\_Weapon
  * Sword.png
  * Mace.png
  * Nunchaku.png

### Rarity

Rarity is defined by which trait will have a higher chance of appearing, almost like throwing a dart on a board.

For example:

```markdown
0_Face
- Oval.png
- Round.png
- Square.png
```

This setup will have an equal chance of getting each trait.

If we want to introduce rarity, we use the `__r` and a number assigned to it:

```markdown
0_Face
- Oval__r1000.png
- Round__r1.png
- Square__r500.png
```

By appending rarity numbers, this setup says **Oval** has a 1000/1501 chance of getting it, **Round** has a 1/1501 chance, and **Square** will have a 500/1501 chance.

Lower the number, rare it is.

### Empty Traits

Sometimes we want traits that don’t show up, and best way to do that is to create an empty transparent PNG file, called “None” or “Empty” whichever makes sense for your collection. For best results, try to keep the Empty file the same size dimension as your other layers.

```markdown
0_Face
- Oval__r1000.png
- Round__r1.png
- Square__r500.png
- Empty__r10000.png
```

This will have 10000/11501 chance of getting an empty face.

### Conditional Groups (new)

Sometimes, we have 2 traits that just simply doesn’t belong together.

Conditional groups allows only 1 of the “group” members to be selected. We use the `__g` and a number to specify the conditional group.

```markdown
0_Face
- Oval__r1000__g1.png
- Round__r1.png
- Square__r500.png
- Empty__r10000.png
1_Eyes
- Round.png
- Three Eyes__g1.png
- Anime.png
```

Because the layering logic works in sequential order (starts with `Face`, then `Eyes`), if `Oval` is selected, then `Three Eyes` will **never** be selected.

### Blend Modes (new)

The custom blend option can be one of `clear`, `source`, `over`, `in`, `out`, `atop`, `dest`, `dest-over`, `dest-in`, `dest-out`, `dest-atop`, `xor`, `add`, `saturate`, `multiply`, `screen`, `overlay`, `darken`, `lighten`, `colour-dodge`, `color-dodge`, `colour-burn`,`color-burn`, `hard-light`, `soft-light`, `difference`, `exclusion`.

You can read more about it here:

[sharp - High performance Node.js image processing](https://sharp.pixelplumbing.com/api-composite#composite)

You can apply any custom blend modes to any layers:

```markdown
0_Face
- Oval__r1000__g1__color-burn.png
- Round__r1.png
- Square__r500.png
- Empty__r10000.png
1_Eyes
- Round__darken.png
- Three Eyes__g1.png
- Anime.png
```

By default, is set to `over` which will allow the image to be placed on top of the previous layer.

If you are having trouble with your assets, contact us directly on our website.
