Configuration Reference
Interactive builder and full reference for every option in the REST API.
Every option goes inside the config object of your POST /v2/edits request.
Option reference
All options go inside the config object of your request body. Values are flat — not nested with .enabled.
Audio cleaning
| Option | Type | Default | Description |
|---|---|---|---|
fillers | boolean | false | Remove "um", "uh", "like", and similar filler words |
long_silences | boolean | false | Trim long pauses and gaps between sentences |
mouth_sounds | boolean | false | Remove clicks, lip smacks, and tongue sounds |
breath | boolean | string | false | Remove audible breathing between sentences |
stutters | boolean | false | Remove repeated word fragments ("I— I— I think") |
hesitations | boolean | false | Remove short hesitation sounds that aren't full filler words |
muted | boolean | false | Silence edits instead of cutting — preserves original timing |
Filler and hesitation detection is language-aware. English, German, and Romanian have the most accurate models. See supported languages.
breath options:
| Value | Behavior |
|---|---|
true | Recommended 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. |
false | Disabled (default). |
Audio enhancement
Recommended default for audio enhancement: "remove_noise": true and "normalize": true. true, and omitting remove_noise on /v2/edits and /v2/noise, runs Noise v2. "legacy" pins the previous engine (DeepFilterNet). "v2" is still accepted and means the same as true. normalize: true is Normalize v2 (a boolean; there is no "v2" string). Filler, silence, and breath options stay off unless you ask for them.
{
"remove_noise": true,
"normalize": true
}| Option | Type | Default | Description |
|---|---|---|---|
remove_noise | boolean | string | true (Noise v2) | true is Noise v2 (recommended). Omitting it is the same as true. "legacy" pins the previous engine (DeepFilterNet). "v2" is still accepted. false turns it off. |
studio_sound | boolean | string | false | Optional, more aggressive enhancement. |
normalize | boolean | false | Normalize v2 when true. Levels loudness. Off when omitted. |
keep_music | boolean | false | Preserve music sections during noise reduction |
autoeq | boolean | false | Legacy automatic EQ option. Prefer studio_sound; autoeq will be removed in a future release. |
remove_noise values:
| Value | Behavior |
|---|---|
true | Recommended. Noise v2. This is also the default when the key is omitted. |
"legacy" | Previous engine (DeepFilterNet), pinned so it stays on that model. |
"v2" | Still accepted. Same as true (Noise v2). |
false | Off. |
studio_sound options:
| Value | Behavior |
|---|---|
true | Aggressive studio-quality enhancement. Optional, and stronger than Remove Noise v2. |
"nightly" | Advanced/experimental variant. Currently behaves similarly to true. |
false | Disabled (default). |
Output
| Option | Type | Default | Description |
|---|---|---|---|
export_format | string | "auto" | Audio-only output format: "mp3", "wav", "flac", "m4a", "opus", "aac", or "auto" (matches input). Video jobs keep the original video container format. |
target_lufs | number | omitted (-16 with Normalize v2) | Integrated loudness when normalize is true. Accepted range is -36 to -6. -16 is the podcast target and the value Normalize v2 uses when this field is omitted. |
mute_lufs | number | -120 | Gate level for LUFS measurement. Default -120 disables gating. |
export_timestamps | boolean | false | Return a JSON file with edit markers for use in a DAW or NLE |
Content generation
| Option | Type | Default | Description |
|---|---|---|---|
transcription | boolean | false | Full word-by-word transcript. Language auto-detected. |
summarize | boolean | false | Chapter markers, key learnings, and episode summary. Enables transcription automatically. |
social_content | boolean | false | Generate tweets, LinkedIn posts, and show notes. Enables summarize automatically. |
Delivery
| Option | Type | Default | Description |
|---|---|---|---|
signed_url | string | null | Pre-signed PUT URL. Cleanvoice uploads directly to your storage instead of hosting the file. |
Advanced
| Option | Type | Default | Description |
|---|---|---|---|
merge | boolean | false | Multi-track only. Merge all tracks into a single output file. |
audio_for_edl | boolean | false | Video workflows only. Return additional uncut enhanced audio alongside the edited video for EDL/NLE work. |
video | boolean | false | Must be set to true for video editing. Without it, the file is treated as audio-only and you will not get an edited video back. |
Full example
{
"input": {
"files": ["https://example.com/episode.mp3"],
"config": {
"remove_noise": true,
"normalize": true,
"fillers": true,
"long_silences": true,
"export_format": "mp3",
"transcription": true,
"summarize": true
}
}
}Multi-track note
Multi-track is not batch processing. When you pass multiple files, they are treated as separate tracks of the same recording (e.g. separate mics). To process independent files, create a separate request for each one.