> ## Documentation Index
> Fetch the complete documentation index at: https://docs.labelst.art/llms.txt
> Use this file to discover all available pages before exploring further.

# Bulk uploader

To upload a release, create a folder on your computer. The folder should include:

<ul>
  <li>audio file(s)</li>
  <li>artwork - optional</li>
  <li>metadata file - optional</li>
</ul>

<Accordion title="Preparing audio files">
  When uploading audio files, it is recommend to name them like this:

  <CodeBlock>
    <p>1. Track title 1.wav</p>
    <p>2. Track title 2.wav</p>
    <p>3. Track title 3.wav</p>
  </CodeBlock>

  <Info>
    The track numbers are important. They will be used to sort the tracks in the correct order.
  </Info>
</Accordion>

<Accordion title="Preparing artwork">
  <Info>The artwork file should always be named <strong>artwork</strong> like this: <strong>artwork.png</strong></Info>

  To prevent your artwork from being rejected, please make sure that:

  1. Text in the artwork should be readable
  2. The artwork should not contain any logos, trademarks, barcodes, QR codes, contact details, or any other information that is not part of the release metadata
  3. The artwork should not be blurry or pixelated
  4. Only add a parental advisory sticker if the release contains explicit content
  5. Parental advisory stickers may not be altered
</Accordion>

<Accordion title="Creating the metaddata file">
  <Info>The metadata file should always be named <strong>metadata</strong> like this: <strong>metadata.json</strong></Info>

  ```json theme={null}
  {
      "gtin": "", // Leave empty to generate
      "title": "It's An Illusion", // Required
      "version": "", // Leave empty for the original version
      "record_label": "Somebody's Records", // Required
      "release_date": "2024-05-01", // Format: YYYY-MM-DD
      "language": "en", // ISO 639-1 code
      "genres": {
          "main": "Electronic", // Required
          "secondary": "Instrumental" // Optional
      },
      "subgenres": {
          "main": "Trance", // Optional
          "secondary": "" // Optional
      },
      "artists": [
          // At least one artist is required
          {
              "name": "Artist1",
              "type": "Artist" // Artist, FeaturedArtist
          },
          {
              "name": "Artist2",
              "type": "FeaturedArtist"
          }
      ],
      "tracks": [
          // At least one track is required
          {
              "title": "It's An Illusion", // for single track releases, the title should be the same as the release title
              "version": "", // Leave empty for the original version
              "explicit": 0, // 0 = Not explicit, 1 = Explicit, 2 = Clean (Radio Edit)
              "language": "zxx", // ISO 639-1 code or zxx for instrumental
              "isrc": "US-ABC-01-00001", // Leave empty to generate - Format: CCXXXYYNNNNN or CC-XXX-YY-NNNNN-NN
              "preview": 10, // Seconds into the track where the preview should start (TikTok, Instagram, etc.)
              "songwriters": [
                  // At least one composer and lyricist (unless instrumental) is required
                  {
                      "name": "Martin Hansen", // Composer and lyricist has to be a real full legal name
                      "type": "Composer" // Composer, Lyricist, Producer, Remixer, Publisher
                  },
                  {
                      "name": "Martin Hansen",
                      "type": "Lyricist"
                  },
                  {
                      "name": "GoodProducer Inc.",
                      "type": "Producer"
                  }
              ],
              "artists": [
                  // Track artists are optional, same as release artists
              ]
          },
          {
              "title": "It's An Illusion",
              "version": "CoolRemixerName Remix",
              "explicit": 0,
              "language": "zxx",
              "isrc": "US-ABC-01-00002",
              "preview": 10,
              "songwriters": [
                  {
                      "name": "Martin Hansen",
                      "type": "Composer"
                  },
                  {
                      "name": "Martin Hansen",
                      "type": "Lyricist"
                  },
                  {
                      "name": "CoolRemixerName",
                      "type": "Producer"
                  },
                  {
                      "name": "CoolRemixerName",
                      "type": "Remixer" // Remixer is required for remixes, do not add in artists array
                  }
              ],
              "artists": []
          }
      ],
      // Your customer/artist who owns the release
      "user": {
          "external_id": 5, // Your internal user ID, optional
          "first_name": "Jonas", // Required
          "last_name": "Madsen", // Required
          "email": "jonas.vestergaard.madsen@gmail.com" // Required
      }
  }
  ```
</Accordion>
