CleanvoiceDocs

Configuration Reference

Every configuration option available when creating an edit, with types, defaults, and SDK equivalents.

This page documents every option you can pass to the POST /v2/edits endpoint (and the SDK process() / create_edit() methods).


Input media

Single file

{
  "input_media": {
    "url": "https://example.com/episode.mp3"
  }
}

Multiple files (multi-track)

Pass an array to process multi-speaker recordings with separate audio tracks:

{
  "input_media": [
    { "url": "https://example.com/host.mp3" },
    { "url": "https://example.com/guest.mp3" }
  ]
}

This is multi-track, not batch processing. Multiple files are treated as separate tracks of the same recording (e.g. host mic + guest mic). To process multiple independent files, create a separate edit request for each one.


Audio cleaning

These options detect and remove unwanted sounds from the recording.

fillers

Remove filler words such as "um", "uh", "like", "you know", and similar hesitation markers.

APIPython SDKJavaScript SDK
Keyfillers.enabledfillers=Truefillers: true
Typebooleanboolboolean
DefaultfalseFalsefalse

Filler detection is language-aware. Check supported languages — English, German, and Romanian have the most accurate detection.


long_silences

Trim long pauses and awkward gaps between sentences.

APIPython SDKJavaScript SDK
Keylong_silences.enabledlong_silences=TruelongSilences: true
Typebooleanboolboolean
DefaultfalseFalsefalse

mouth_sounds

Remove clicks, lip smacks, tongue sounds, and similar mouth noises that often appear between words.

APIPython SDKJavaScript SDK
Keymouth_sounds.enabledmouth_sounds=TruemouthSounds: true
Typebooleanboolboolean
DefaultfalseFalsefalse

breath

Remove audible breathing sounds between sentences and during pauses.

APIPython SDKJavaScript SDK
Keybreath.enabledbreath=Truebreath: true
Typeboolean | stringbool | strboolean | string
DefaultfalseFalsefalse

breath options:

ValueBehavior
trueRecommended for most audio. Best default for challenging recordings.
"legacy"Conservative removal. Safer choice for already-clean recordings.
"natural"Lighter touch — preserves more of the original breathing feel.
falseDisabled (default).

stutters

Detect and remove repeated word fragments (e.g. "I— I— I think").

APIPython SDKJavaScript SDK
Keystutters.enabledstutters=Truestutters: true
Typebooleanboolboolean
DefaultfalseFalsefalse

Audio enhancement

These options improve audio quality without cutting content.

remove_noise

Reduce background noise: hiss, hum, fan noise, AC, street noise, etc.

APIPython SDKJavaScript SDK
Keyremove_noise.enabledremove_noise=TrueremoveNoise: true
Typebooleanboolboolean
DefaultfalseFalsefalse
NotesOn by default; pass false to disable itOn by default; pass False to disable itOn by default; pass false to disable it

studio_sound

Apply aggressive audio enhancement to make the recording sound studio-quality. Best used on voice-only recordings in quiet environments.

APIPython SDKJavaScript SDK
Keystudio_sound.enabledstudio_sound=TruestudioSound: true
Typeboolean | stringbool | strboolean | string
DefaultfalseFalsefalse

studio_sound options:

ValueBehavior
trueRecommended. Applies aggressive studio-quality enhancement.
"nightly"Advanced/experimental variant. Currently behaves similarly to true.
falseDisabled (default).

studio_sound and remove_noise can be combined, but studio_sound is more aggressive. For most recordings, remove_noise alone is sufficient. If background noise is heavy, try remove_noise first.


normalize

Balance loudness levels across the recording so it sounds consistent throughout.

APIPython SDKJavaScript SDK
Keynormalize.enablednormalize=Truenormalize: true
Typebooleanboolboolean
DefaultfalseFalsefalse

autoeq

Legacy automatic EQ correction. Prefer studio_sound; autoeq will be removed in a future release.

APIPython SDKJavaScript SDK
Keyautoeqautoeq=Trueautoeq: true
Typebooleanboolboolean
DefaultfalseFalsefalse

mute_lufs + target_lufs

Target a specific integrated loudness level (LUFS). -16 LUFS is the standard for podcasts (Apple Podcasts standard).

APIPython SDKJavaScript SDK
Keymute_lufsmute_lufs=TruemuteLufs: true
Typebooleanboolboolean
DefaultfalseFalsefalse
APIPython SDKJavaScript SDK
Keytarget_lufstarget_lufs=-16targetLufs: -16
Typenumberfloatnumber
DefaultnullNoneundefined
{
  "config": {
    "mute_lufs": true,
    "target_lufs": -16
  }
}

Output format

export_format

The audio format for the cleaned output file. This only applies to audio outputs. Video jobs keep the original video container format.

APIPython SDKJavaScript SDK
Keyexport_formatexport_format="mp3"exportFormat: "mp3"
Typestringstrstring
Default"mp3""mp3""mp3"
Valuesmp3 wav flac m4asamesame

Content generation

transcription

Return a full word-by-word transcript of the audio.

APIPython SDKJavaScript SDK
Keytranscription.enabledtranscription=Truetranscription: true
Typebooleanboolboolean
DefaultfalseFalsefalse

Language is auto-detected. See supported languages.


summarize

Generate chapter markers, key learnings, and an episode summary from the transcript. Requires transcription to be enabled.

APIPython SDKJavaScript SDK
Keysummarize.enabledsummarize=Truesummarize: true
Typebooleanboolboolean
DefaultfalseFalsefalse

social_content

Generate social media post suggestions (tweets, LinkedIn, show notes) from the content.

APIPython SDKJavaScript SDK
Keysocial_content.enabledsocial_content=TruesocialContent: true
Typebooleanboolboolean
DefaultfalseFalsefalse

Additional options

These options are also supported by the current SDK/backend surface but are not covered in the sections above.

Additional cleanup and enhancement

OptionAPI keyPython SDKJavaScript SDKTypeDescription
hesitationshesitationshesitations=Truehesitations: truebooleanRemove short hesitation sounds that are not full filler words
mutedmutedmuted=Truemuted: truebooleanSilence edits instead of cutting them, preserving the original timing
keep_musickeep_musickeep_music=Truekeep_music: truebooleanPreserve music sections during noise reduction
autoeqautoeqautoeq=Trueautoeq: truebooleanLegacy automatic EQ option. Prefer studio_sound

Additional output and delivery

OptionAPI keyPython SDKJavaScript SDKTypeDescription
export_timestampsexport_timestampsexport_timestamps=Trueexport_timestamps: truebooleanReturn edit markers for DAW or NLE workflows
signed_urlsigned_urlsigned_url="https://..."signed_url: 'https://...'stringUpload the finished output directly to your own storage using a pre-signed PUT URL

Additional advanced workflow options

OptionAPI keyPython SDKJavaScript SDKTypeDescription
videovideovideo=Truevideo: truebooleanMust be true for video editing in raw API requests. SDKs auto-detect many common video files, but being explicit is safest for ambiguous URLs
mergemergemerge=Truemerge: truebooleanMulti-track only. Merge all tracks into a single output file. If you need automatic level balancing for a merged multi-track job, use automix as the companion option
audio_for_edlaudio_for_edlaudio_for_edl=Trueaudio_for_edl: truebooleanVideo workflows only. Return an additional uncut enhanced audio file for EDL or NLE workflows

Full example

result = client.process(
    "https://example.com/episode.mp3",
    fillers=True,
    long_silences=True,
    mouth_sounds=True,
    breath=True,
    stutters=True,
    remove_noise=True,
    studio_sound=False,
    normalize=True,
    mute_lufs=False,
    target_lufs=-16,
    export_format="mp3",
    transcription=True,
    summarize=True,
    social_content=False,
)
const result = await client.process(
  'https://example.com/episode.mp3',
  {
    fillers: true,
    longSilences: true,
    mouthSounds: true,
    breath: true,
    stutters: true,
    removeNoise: true,
    studioSound: false,
    normalize: true,
    muteLufs: false,
    targetLufs: -16,
    exportFormat: 'mp3',
    transcription: true,
    summarize: true,
    socialContent: false,
  }
);
{
  "input_media": {
    "url": "https://example.com/episode.mp3"
  },
  "config": {
    "fillers": { "enabled": true },
    "long_silences": { "enabled": true },
    "mouth_sounds": { "enabled": true },
    "breath": { "enabled": true },
    "stutters": { "enabled": true },
    "remove_noise": { "enabled": true },
    "studio_sound": { "enabled": false },
    "normalize": { "enabled": true },
    "mute_lufs": false,
    "target_lufs": -16,
    "export_format": "mp3",
    "transcription": { "enabled": true },
    "summarize": { "enabled": true },
    "social_content": { "enabled": false }
  }
}

PresetOptions
Noise reductionremove_noise, normalize
Studio polishremove_noise, studio_sound, normalize
Full podcast editfillers, long_silences, mouth_sounds, breath, stutters, remove_noise, normalize
Transcript onlytranscription
Full analysistranscription, summarize, social_content