Skip to main content

Noise Reduction API

The Noise Reduction API reduces continuous background noise mixed with one speaker's voice and returns an MP3 or WAV file.

API overview

ItemValue
Base URLhttps://api.kitschlabs.com
Authenticationxi-api-key: <API_KEY>
Requestmultipart/form-data
EndpointPOST /v1/audio-isolation
Required fieldaudio
Default outputmp3_44100_128 (audio/mpeg)
Additional outputwav_48000 (audio/wav)
Maximum input50 MiB, 60 seconds

How do I authenticate?

Send your issued API key in the xi-api-key header. Store the real key in a server environment variable or secret management service, and do not include it in browsers, app bundles, or logs.

xi-api-key: <API_KEY>

How do I reduce background noise?

Send a regular audio file with file_format=other. Save the response body to a file with the matching extension.

curl --request POST \
"https://api.kitschlabs.com/v1/audio-isolation" \
--header "xi-api-key: <API_KEY>" \
--form "audio=@sample.wav" \
--form "file_format=other" \
--output enhanced.mp3

For WAV output, set output_format=wav_48000 in the query.

curl --request POST \
"https://api.kitschlabs.com/v1/audio-isolation?output_format=wav_48000" \
--header "xi-api-key: <API_KEY>" \
--form "audio=@sample.wav" \
--output enhanced.wav

Which fields do I send?

FieldLocationTypeRequiredDescription
audioformfileYesVoice audio to process. Up to 50 MiB and 60 seconds
file_formatformstringNoother for regular files or pcm_s16le_16 for raw PCM
output_formatquerystringNomp3_44100_128 or wav_48000

pcm_s16le_16 is 16 kHz, mono, little-endian 16-bit raw PCM. Use other for encoded audio such as WAV, MP3, FLAC, and OGG.

Uploaded input files are not stored after processing is complete. Do not log API keys or complete file contents in your application.

Responses and errors

A successful request returns audio binary in the selected format. Use the response's x-kitsch-request-id when contacting support.

HeaderDescription
x-kitsch-request-idRequest tracking ID
StatusMeaningRecommended action
401API key is missing or invalidCheck the key and xi-api-key header
402Not enough available creditsCheck the Billing status
403Noise Reduction is not enabledCheck the service access for the account
413File size or input duration exceededReduce it to 50 MiB and 60 seconds or less
422Corrupted audio, invalid PCM, or unsupported formatCheck the file and file_format
429API key request limit exceededFollow Retry-After and apply backoff
503Temporarily unable to process the requestRecord the request ID and retry a limited number of times

Successful requests are billed by rounding the input audio duration up to the next started second. Failed requests and requests rejected during input validation are not charged.