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": "...",
"taskId": "<YOUR-VOICE-EXTRACTION-TASK-ID>",
"jobStatus": "Splitting Audio",
"jobProgress": [
"Queued",
"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",
"fileId": "<YOUR-VOICE-EXTRACTION-FILE-ID>",
"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.