# Bulk Mint

## Introduction

{% hint style="success" %}
Bulk mint is available for [Factory Contracts](/nft-marketplace-1/minting/contract-factory.md).
{% endhint %}

Bulk minting requires uploading data in a structured format. This data is then processed by Paintswap and uploaded with IPFS. This process can take some time, so be sure to:

* Validate all data is according to the format requirements in this page
* Have patience when uploading data
* Test first with a single item to have faster back-and-forth testing if something is not working

{% hint style="info" %}
This page is currently being improved. If you have a question or recommendation, come talk to us on [Discord](https://discord.com/invite/G4ZgtP52JK).
{% endhint %}

### Required Reading

To fully understand this page you should first read on the Supported NFTs, and Metadata within Paintswap.

{% content-ref url="/pages/QtQxITFpmVAlBy7dIz4x" %}
[Supported NFTs](/nft-marketplace-1/minting/supported-nfts.md)
{% endcontent-ref %}

{% content-ref url="/pages/zBxzscMG4nNpHDuxTaZp" %}
[Metadata](/nft-marketplace-1/minting/metadata.md)
{% endcontent-ref %}

## Data Format

{% hint style="info" %}
In addition to reading this section, make sure to have full knowledge on specific fields by checking out the Creating NFTs page
{% endhint %}

> any-name.zip
>
> > nfts.csv
> >
> > media
> >
> > > resource 01.jpg
> > >
> > > second\_video.mp4
> > >
> > > ...

A CSV file with the exact filename `nfts.csv` must be on the root folder of the zip to be uploaded. Also on the root of the zip a folder with name `media` , inside of which will go the media resources.

Each line in the CSV file must have the following structure:

`name,description,nft_type,media,high_res_media,external_uri,quantity,attributes`

Where:

* `nft_type` should be one of image/video/audio/3d/interactive . Read more in the [Supported NFTs](/nft-marketplace-1/minting/supported-nfts.md) page.
* `media` is the filename of a resource inside the media folder that is placed in the zip. This is equivalent to the **image** in the [Metadata](/nft-marketplace-1/minting/metadata.md) page.
* `high_res_media` is the filename of another resource inside the media folder that is placed in the zip. This is equivalent to the **animation\_url** in the [Metadata](/nft-marketplace-1/minting/metadata.md) page.
* `attributes` currently attributes are limited to key-value pairs, this is being worked on to support complex attributes, including rarity. Example, **including the quotes** if multiple attributes are needed:\
  `"type1=value1,type2=value2"`
* Other fields should be according to the [Metadata](/nft-marketplace-1/minting/metadata.md) page.\
  \
  An example .zip file contains the appropriate structure can be downloaded here:\
  <https://s3.amazonaws.com/bulk.paintswap.finance/paintswap_bulk_mint_test.zip>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.paintswap.io/nft-marketplace-1/minting/bulk-mint.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
