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 payload
Single file
{
"input": {
"files": ["https://example.com/episode.mp3"]
}
}Multiple files (multi-track)
Pass an array to process multi-speaker recordings with separate audio tracks:
{
"input": {
"files": [
"https://example.com/host.mp3",
"https://example.com/guest.mp3"
],
"upload_type": "multitrack"
}
}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.
| API | Python SDK | JavaScript SDK | |
|---|---|---|---|
| Key | fillers | fillers=True | fillers: true |
| Type | boolean | bool | boolean |
| Default | false | False | false |
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.
| API | Python SDK | JavaScript SDK | |
|---|---|---|---|
| Key | long_silences | long_silences=True | long_silences: true |
| Type | boolean | bool | boolean |
| Default | false | False | false |
mouth_sounds
Remove clicks, lip smacks, tongue sounds, and similar mouth noises that often appear between words.
| API | Python SDK | JavaScript SDK | |
|---|---|---|---|
| Key | mouth_sounds | mouth_sounds=True | mouth_sounds: true |
| Type | boolean | bool | boolean |
| Default | false | False | false |
breath
Remove audible breathing sounds between sentences and during pauses.
| API | Python SDK | JavaScript SDK | |
|---|---|---|---|
| Key | breath | breath=True | breath: true |
| Type | boolean | string | bool | str | boolean | string |
| Default | false | False | false |
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). |
stutters
Detect and remove repeated word fragments (e.g. "I— I— I think").
| API | Python SDK | JavaScript SDK | |
|---|---|---|---|
| Key | stutters | stutters=True | stutters: true |
| Type | boolean | bool | boolean |
| Default | false | False | false |
Audio enhancement
These options improve audio quality without cutting content.
Recommended default: Remove Noise v2 plus Normalize v2 (remove_noise: true and normalize: true). This is the enhancement the web app uses for a first clean pass. Filler, silence, breath, and other edit options stay off unless you ask for them.
{
"remove_noise": true,
"normalize": true
}remove_noise
Reduce background noise: hiss, hum, fan noise, AC, street noise, and similar sounds.
true is Noise v2 (recommended). Omitting the key on /v2/edits and /v2/noise is the same as true. "legacy" pins the previous engine (DeepFilterNet). "v2" is still accepted and means the same as true. false turns noise removal off.
| API | Python SDK | JavaScript SDK | |
|---|---|---|---|
| Key | remove_noise | remove_noise=True | remove_noise: true |
| Type | boolean | string | bool | str | boolean | string |
| Default | true (Noise v2) | True (Noise v2) | true (Noise v2) |
remove_noise values:
| Value | Behavior |
|---|---|
true | Recommended. Noise v2. This is also what you get 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
Apply aggressive audio enhancement to make the recording sound studio-quality. Best used on voice-only recordings in quiet environments.
| API | Python SDK | JavaScript SDK | |
|---|---|---|---|
| Key | studio_sound | studio_sound=True | studio_sound: true |
| Type | boolean | string | bool | str | boolean | string |
| Default | false | False | false |
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). |
studio_sound is optional. For most recordings, use remove_noise: true with normalize: true instead.
normalize
Normalize v2. Levels loudness across the recording so it stays consistent. This option is a boolean: true runs the current leveler (Normalize v2). There is no "v2" string.
| API | Python SDK | JavaScript SDK | |
|---|---|---|---|
| Key | normalize | normalize=True | normalize: true |
| Type | boolean | bool | boolean |
| Default | false | False | false |
Turn it on together with remove_noise: true. When normalize is true and target_lufs is omitted, loudness targets -16 LUFS. Pass target_lufs to override that. Accepted values are -36 to -6.
autoeq
Legacy automatic EQ correction. Prefer studio_sound; autoeq will be removed in a future release.
| API | Python SDK | JavaScript SDK | |
|---|---|---|---|
| Key | autoeq | autoeq=True | autoeq: true |
| Type | boolean | bool | boolean |
| Default | false | False | false |
mute_lufs + target_lufs
target_lufs sets the integrated loudness used when normalize is true. -16 is the podcast target and the Normalize v2 default when the field is omitted. Accepted range: -36 to -6. mute_lufs is the gate used while measuring loudness.
| API | Python SDK | JavaScript SDK | |
|---|---|---|---|
| Key | mute_lufs | mute_lufs=-120 | mute_lufs: -120 |
| Type | number | float | number |
| Default | -120 | -120 | -120 |
| API | Python SDK | JavaScript SDK | |
|---|---|---|---|
| Key | target_lufs | target_lufs=-16 | target_lufs: -16 |
| Type | number | float | number |
| Default | null | None | undefined |
{
"config": {
"mute_lufs": -120,
"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.
| API | Python SDK | JavaScript SDK | |
|---|---|---|---|
| Key | export_format | export_format="mp3" | export_format: "mp3" |
| Type | string | str | string |
| Default | "auto" | "auto" | "auto" |
| Values | auto mp3 wav flac m4a opus aac | auto mp3 wav flac m4a | auto mp3 wav flac m4a |
Content generation
transcription
Return a full word-by-word transcript of the audio.
| API | Python SDK | JavaScript SDK | |
|---|---|---|---|
| Key | transcription | transcription=True | transcription: true |
| Type | boolean | bool | boolean |
| Default | false | False | false |
Language is auto-detected. See supported languages.
summarize
Generate chapter markers, key learnings, and an episode summary from the transcript. Automatically enables transcription.
| API | Python SDK | JavaScript SDK | |
|---|---|---|---|
| Key | summarize | summarize=True | summarize: true |
| Type | boolean | bool | boolean |
| Default | false | False | false |
social_content
Generate social media post suggestions (tweets, LinkedIn, show notes) from the content.
| API | Python SDK | JavaScript SDK | |
|---|---|---|---|
| Key | social_content | social_content=True | social_content: true |
| Type | boolean | bool | boolean |
| Default | false | False | false |
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
| Option | API key | Python SDK | JavaScript SDK | Type | Description |
|---|---|---|---|---|---|
hesitations | hesitations | hesitations=True | hesitations: true | boolean | Remove short hesitation sounds that are not full filler words |
muted | muted | muted=True | muted: true | boolean | Silence edits instead of cutting them, preserving the original timing |
keep_music | keep_music | keep_music=True | keep_music: true | boolean | Preserve music sections during noise reduction |
autoeq | autoeq | autoeq=True | autoeq: true | boolean | Legacy automatic EQ option. Prefer studio_sound |
Additional output and delivery
| Option | API key | Python SDK | JavaScript SDK | Type | Description |
|---|---|---|---|---|---|
export_timestamps | export_timestamps | export_timestamps=True | export_timestamps: true | boolean | Return edit markers for DAW or NLE workflows |
signed_url | signed_url | signed_url="https://..." | signed_url: 'https://...' | string | Upload the finished output directly to your own storage using a pre-signed PUT URL |
Additional advanced workflow options
| Option | API key | Python SDK | JavaScript SDK | Type | Description |
|---|---|---|---|---|---|
video | video | video=True | video: true | boolean | Must be true for video editing in raw API requests. SDKs auto-detect many common video files, but being explicit is safest for ambiguous URLs |
merge | merge | merge=True | merge: true | boolean | Multi-track only. Merge all tracks into a single output file |
audio_for_edl | audio_for_edl | audio_for_edl=True | audio_for_edl: true | boolean | Video 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=-120,
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,
long_silences: true,
mouth_sounds: true,
breath: true,
stutters: true,
remove_noise: true,
studio_sound: false,
normalize: true,
mute_lufs: -120,
target_lufs: -16,
export_format: 'mp3',
transcription: true,
summarize: true,
social_content: false,
}
);{
"input": {
"files": ["https://example.com/episode.mp3"],
"config": {
"fillers": true,
"long_silences": true,
"mouth_sounds": true,
"breath": true,
"stutters": true,
"remove_noise": true,
"studio_sound": false,
"normalize": true,
"mute_lufs": -120,
"target_lufs": -16,
"export_format": "mp3",
"transcription": true,
"summarize": true,
"social_content": false
}
}
}Recommended presets
| Preset | Options |
|---|---|
| Enhance audio (recommended) | remove_noise: true, normalize: true |
| Studio polish | remove_noise: true, studio_sound, normalize: true |
| Full podcast edit | remove_noise: true, normalize: true, plus optional fillers, long_silences, mouth_sounds, breath, stutters |
| Transcript only | transcription |
| Full analysis | transcription, summarize, social_content |