Skip to main content
POST
/
api
/
kits
/
v1
/
vocal-separations
curl -X POST https://arpeggi.io/api/kits/v1/vocal-separations \
-H "Authorization: Bearer your_api_key" \
-F "inputFile=@file_path"
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()
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
{
  "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": []
}
Authentication was not provided or was invalid.
Request body is invalid.
Rate limit exceeded.
Creates a 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

Authorization*
String
Bearer (api-key)

Request Body

inputFile*
Buffer
Supports wav, webm, mp3 or flac. Max file size is 50MB.

Response

Vocal Separation Job
curl -X POST https://arpeggi.io/api/kits/v1/vocal-separations \
-H "Authorization: Bearer your_api_key" \
-F "inputFile=@file_path"
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()
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
{
  "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": []
}
Authentication was not provided or was invalid.
Request body is invalid.
Rate limit exceeded.