API
On this section

Guide

Cleaning speech audio

Remove background noise from speech, then tune how much is removed and how loud the result is.

Clean Audio removes background noise from speech and returns the cleaned recording. It is the same model as Clean Audio in the VEED editor, with finer control over how much is removed and how loud the result is.

Send a recording

audio_urlurlrequired

URL of the recording to clean: any audio or video file, up to 30 minutes and 512 MB. A video's audio track is used; multi-channel audio is mixed down to mono.

Must be an http(s) URL.
terminal
# Submit a job
curl -X POST "https://api.veed.io/v1/clean-audio" \
  -H "Authorization: Bearer $VEED_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "audio_url": "https://static-assets.veed.io/api-examples/clean-audio-input.m4a"
}'

# Poll until COMPLETED (response includes data.job_id)
curl "https://api.veed.io/v1/clean-audio/{job_id}" \
  -H "Authorization: Bearer $VEED_API_KEY"

It is built for speech, in any language. Music and sound effects count as noise and are removed, so don't send a track whose music you want to keep. A video file works too: its audio track is cleaned, and you get audio back, not video.

The price is $0.0125 per minute of the input audio.

Tune the result

strengthnumberoptional

How much of the original is allowed to remain under speech: the suppression floor is 1 - strength. Lower keeps more room tone behind the voice; silence between words is always fully cleaned.

Between 0 and 1.Defaults to 0.874.
normalize_loudnessbooleanoptional

Set to false to skip loudness normalization and keep the input level.

Defaults to true.
target_lufsnumberoptional

Integrated loudness of the output in LUFS (ITU-R BS.1770); true peak is capped at -1.1 dBTP. Ignored when normalize_loudness is false. A null reads as omitted: set normalize_loudness to false to skip normalization.

Between -40 and -8.Defaults to -19.
output_formatenumoptional

Container for the 48 kHz mono 16-bit output. FLAC is lossless at about half the size of WAV.

AcceptsflacwavDefaults to "flac".
  • The voice sounds thin or processed? Lower strength from its default of 0.874. That leaves more of the room behind the speech, which usually sounds more natural. Silence between words is always cleaned fully.
  • Cleaning a batch that plays back to back? Keep loudness normalisation on, and the files come out at the same target_lufs.
  • Handling levels yourself further down the pipeline? Set normalize_loudness to false, and the input level is kept.
  • output_format is one of flac, wav. Keep the default unless your pipeline cannot read it: both carry the same audio.

Long recordings

One job takes a file within the limits in audio_url above. Split anything longer into separate jobs, and join the results.