REST API
Create an Edit
Submit an audio or video file for AI-powered editing.
Endpoint
POST /v2/editsSubmit a new editing job. The job runs asynchronously — you receive an edit_id immediately, then retrieve the result by polling.
Request body
{
"input": {
"files": ["https://example.com/podcast.mp3"],
"config": {
"fillers": { "enabled": true },
"long_silences": { "enabled": true },
"mouth_sounds": { "enabled": true },
"stutters": { "enabled": true },
"breath": { "enabled": true },
"remove_noise": { "enabled": true },
"studio_sound": { "enabled": false },
"normalize": { "enabled": true },
"transcription": { "enabled": false },
"summarize": { "enabled": false }
}
}
}Multi-track
For interviews or multi-speaker recordings, pass multiple URLs in the files array and set upload_type to "multitrack":
{
"input": {
"files": [
"https://example.com/host.mp3",
"https://example.com/guest.mp3"
],
"upload_type": "multitrack",
"config": {
"fillers": { "enabled": true }
}
}
}Not sure which settings to enable? See Edit Settings for recommended presets.
Response
{
"id": "edit_abc123",
"status": "PENDING"
}Example
curl -X POST https://api.cleanvoice.ai/v2/edits \
-H "X-API-Key: $CLEANVOICE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": {
"files": ["https://example.com/episode.mp3"],
"config": {
"fillers": { "enabled": true },
"long_silences": { "enabled": true },
"mouth_sounds": { "enabled": true },
"normalize": { "enabled": true }
}
}
}'Configuration reference
See Edit Settings for a full list of configuration options and recommended presets.