Skip to main content

What to expect in the Webhook Payload

For the Voice Extraction API, every time the status of your extraction job changes you will receive the following json payload in your webhook endpoint. Make sure to register a webhook endpoint by following the instructions here

JSON Payload

"eventType": "voice-extraction",
"data": {
"apikey": "...",
"jobStatus": "Splitting Audio",
"jobProgress": [
"Job Started",
"Loading Model",
"Model Loading Complete",
"Splitting Audio"
"results": {
"output": {
"instrument_path": "uploads/<YOUR-BACKGROUND-AUDIO-FILE-ID>",
"instrument_file_id": "<YOUR-BACKGROUND-AUDIO-FILE-ID>",
"vocal_path": "uploads/<YOUR-VOICE-AUDIO-FILE-ID>",
"vocal_file_id": "<YOUR-VOICE-AUDIO-FILE-ID>"
"message": "job completed successfully",
"filePath": "uploads/<YOUR-VOICE-EXTRACTION-FILE-ID>",
"createdAt": "2022-10-31T08:07:43.033Z"

Every time the jobStatus changes you will receive a new object with a new jobStatus and updated field values. E.g., when jobStatus becomes Completed then you will see values in the results field.

Failure Handling

When transcription fails due to some reason the jobStatus field is set to Failed. Whenever that happens you can handle the failure case with some custom logic.