Noise Suppressor · API

Remove noise (bulk)

Clean up to 25 files in one request with the same settings, and get them back as a ZIP.

POSThttps://internal.audiclabs.com/v1/noise-suppressor/denoise/batch

Request

Send multipart/form-data and repeat the files field once per file. 1 credit per call; up to 200 MB per request. Needs the noise-suppressor:denoise-batch scope.

filesfile, repeatedrequired
1 to 25 audio files, up to 100 MB each.
modelstringoptional
Applied to every file. Default audic-2.
attenuation_limit_dbnumberoptional
0 to 100. Default 0 (maximum reduction).
output_formatwav | flacoptional
Encoding of every output. Default wav.
keep_input_sample_ratebooleanoptional
Default true.
responsezip | jsonoptional
zip (default) returns denoised.zip; json returns the manifest with audio_base64 per file.

Example

curl https://internal.audiclabs.com/v1/noise-suppressor/denoise/batch \
  -H "Authorization: Bearer $AUDICLABS_API_KEY" \
  -F files=@call-1.wav \
  -F files=@call-2.mp3 \
  -F files=@interview.m4a \
  -F model=audic-2 \
  -o denoised.zip

Response

denoised.zip holds every cleaned file plus manifest.json. Output names follow <name>_denoised.<format>; duplicates get a numeric suffix so nothing is overwritten.

{
  "model": "audic-2",
  "output_format": "wav",
  "files": 3,
  "succeeded": 3,
  "failed": 0,
  "processing_s": 7.9,
  "items": [
    {
      "index": 0,
      "input": "call-1.wav",
      "status": "ok",
      "output": "call-1_denoised.wav",
      "bytes": 312364,
      "stats": { "duration_s": 9.77, "processing_s": 2.61, "rtf": 0.27 }
    }
  ]
}
One bad file never fails the batch: it is listed in the manifest with "status": "error" and its message, and the rest are processed. The X-NS-Batch header summarises files, succeeded, failed and processing time.

More than 25 files returns 413. See Errors for the full list.