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

# POST: Create a New Vocal Separation Job

> Create a new job to isolate vocals from audio tracks using the Kits API.

Creates a [vocal separation job](/api-reference/types-limits/vocal-separation-job) and adds it to the separator queue. All requests must be made as multipart form requests. The response will contain the job status.

### Headers

<ParamField query="Authorization*" type="String">
  Bearer (api-key)
</ParamField>

### Request Body

<ParamField query="inputFile*" type="Buffer">
  Supports wav, webm, mp3 or flac. Max file size is 50MB.
</ParamField>

### Response

[Vocal Separation Job](/api-reference/types-limits/vocal-separation-job)

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST https://arpeggi.io/api/kits/v1/vocal-separations \
  -H "Authorization: Bearer your_api_key" \
  -F "inputFile=@file_path"
  ```

  ```python Python theme={null}
  url = "https://arpeggi.io/api/kits/v1/vocal-separations"
  files = { 'inputFile': open(file_path, 'rb') }
  headers = { 'Authorization': f'Bearer {your_api_key}' }

  response = requests.post(url, files=files, headers=headers)
  vocal_separation_job = response.json()
  ```

  ```javascript JavaScript theme={null}
  const url = 'https://arpeggi.io/api/kits/v1/vocal-separations'
  const data = { inputFile: fs.createReadStream(file_path) }
  const headers = { Authorization: `Bearer ${your_api_key}` }

  const response = await axios.postForm(url, data, { headers })
  const vocalSeparationJob = response.data
  ```
</RequestExample>

<ResponseExample>
  ```json 200: OK theme={null}
  {
    "id": 1,
    "createdAt": "2023-09-19 20:13:50.428000 +00:00",
    "type": "separate",
    "status": "running",
    "jobStartTime": "2023-09-19 20:15:50.428000 +00:00",
    "jobEndTime": null,
    "vocalAudioFileUrl": null,
    "lossyVocalAudioFileUrl": null,
    "backingAudioFileUrl": null,
    "stemFileUrls": [],
    "lossyStemFileUrls": []
  }
  ```

  ```bash 401: Unauthorized theme={null}
  Authentication was not provided or was invalid.
  ```

  ```bash 422: Unprocessable Entity theme={null}
  Request body is invalid.
  ```

  ```bash 429: Too Many Requests theme={null}
  Rate limit exceeded.
  ```
</ResponseExample>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.