Remove reverb from an input audio file with optional webhook callback for asynchronous updates.
๐ท Endpoint
This endpoint removes reverberation (echo) from an uploaded or linked audio file. A webhook_url
can be provided for asynchronous task status updates.
๐ข Request Parameters
Parameter | Type | Required | Description |
---|
audio_url | String | Optional | The URL of an audio file to clean. Either audio_url or audio_file must be provided. |
audio_file | UploadFile | Optional | Upload the audio file directly. Either audio_url or audio_file must be provided. |
webhook_url | String | Optional | Callback URL for async response. |
๐ก Note: Either audio_url
or audio_file
must be provided โ one is required.
โถ๏ธ Sample Output
Listen to a real sample output:
Download Audio
๐งช Try it Yourself
Visit the Dereverb Endpoint Explorer to try your own text samples.
๐ก Tip: Set a webhook_url
to receive results automatically when your audio is ready.
๐ค Sample Request
๐ cURL
curl -X POST "https://api.musicgpt.com/api/public/v1/Dereverb" \
-H "accept: application/json" \
-H "Authorization: <api_key>" \
-F "audio_url=https://www.youtube.com/watch?v=jGflUbPQfW8" \
-F "webhook_url=http://webhook.musicgpt.com"
๐ Python
import requests
url = "https://api.musicgpt.com/api/public/v1/Dereverb"
headers = {
"accept": "application/json",
"Authorization": "<api_key>"
}
input_audio_file = open("{path_to_your_audio_file}", "rb")
payload = {
"audio_url": "",
"webhook_url": "http://abcd.requestcatcher.com/test"
}
response = requests.post(url=url,
headers=headers,
data=payload,
files={"audio_file": input_audio_file})
print(response.status_code, response.json())
๐ Replace {path_to_your_audio_file}
, api_key
, and webhook_url
before executing.
๐ฅ Sample Response
โ
Success (200 OK)
{
"success":true,
"task_id":"e99d00bb-2ddf-4279-a15e-6e22801ee575",
"conversion_id":"fbcf0c40-a33d-40aa-8c1d-7bb6f9df0b0f",
"eta":40,
"credit_estimate":0.48,
"message":"Message published to queue",
"status":"IN_QUEUE"
}
๐ฅ Webhook Response
โ
Success (200 OK)
{
"success": true,
"conversion_type": "Dereverb",
"task_id": "e99d00bb-2ddf-4279-a15e-6e22801ee575",
"conversion_id": "fbcf0c40-a33d-40aa-8c1d-7bb6f9df0b0f",
"audio_path": "files/4efbdeff-48a2-401c-a9e6-8a2ffe465487.wav",
"noreverb": "https://lalals.s3.amazonaws.com/conversions/e99d00bb-2ddf-4279-a15e-6e22801ee575_reverb.mp3",
"noreverb_wav": "https://lalals.s3.amazonaws.com/conversions/e99d00bb-2ddf-4279-a15e-6e22801ee575_reverb.wav",
"reverb": "https://lalals.s3.amazonaws.com/conversions/e99d00bb-2ddf-4279-a15e-6e22801ee575_noreverb.mp3",
"reverb_wav": "https://lalals.s3.amazonaws.com/conversions/e99d00bb-2ddf-4279-a15e-6e22801ee575_noreverb.wav",
"message": "de_reverb conversion Completed",
"conversion_duration": 136.83045351473922,
"conversion_cost": "0.48"
}
โ Common Errors
- 422 Unprocessable Entity: Both
audio_url
and audio_file
cannot be None
.
- 500 Internal Server Error: A server error occurred during processing.
๐ Webhook Response
Once reverb removal is completed, the webhook receives:
{
"success": true,
"conversion_type": "Dereverb",
"task_id": "123abc-dereverb",
"conversion_id": "456xyz-dereverb",
"audio_path": "files/audio_original.wav",
"no_reverb": "https://musicgpt.s3.amazonaws.com/conversions/123abc-dereverb_no_reverb.mp3",
"no_reverb_wav": "https://musicgpt.s3.amazonaws.com/conversions/123abc-dereverb_no_reverb.wav",
"reverb": "https://musicgpt.s3.amazonaws.com/conversions/123abc-dereverb_reverb.mp3",
"reverb_wav": "https://musicgpt.s3.amazonaws.com/conversions/123abc-dereverb_reverb.wav",
"message": "dereverb conversion Completed",
"conversion_duration": 275.48,
"conversion_cost": 2.75
}
You can stream or download the cleaned audio and isolated reverb in both .mp3
and .wav
formats.
โถ๏ธ Sample Output
Listen to a real sample output:
Input Audio :
Output :
Successfully initiated dereverberation
The response is of type object
.