Voice Cleaner is for spoken audio that was recorded in the wrong place: a kitchen, a hotel room, a street corner. It reduces the noise around the voice and hands back a cleaner file. Kadraris runs it at a moderate setting (level 1 of 2), chosen so the voice keeps its natural sound rather than turning metallic.
What you can make
- Podcast episodes recorded at home instead of a studio.
- Voiceovers captured on a laptop microphone.
- Interviews and field recordings, tidied up before transcription or dubbing.
- Lecture and webinar recordings that are easier to listen to.
Settings that matter
- Input: a public audio URL in
audio_url. - Strength: fixed at moderate. Choosing the level, dereverb and the output format is not available in Kadraris yet.
- Billing basis: per started minute, so cut empty stretches at the start and end.
- What to send: the raw recording, not a file that was already compressed or denoised by another app.
- Limits of cleanup: it can remove noise, but it cannot rebuild a voice that was recorded far from the microphone.
Example job
input: audio_url = https://example.com/interview-raw.wav
result: same speech, quieter backgroundRun a one-minute excerpt first, listen, and only then send the full file.
Questions
What does Voice Cleaner charge?
$0.50 per minute. You see the estimated cost before the job starts, and failed jobs cost nothing.
My room has a strong echo. Will this fix it?
Not directly. Echo needs a dereverb pass, which the engine has but Kadraris does not offer yet, so the tool targets noise only.
Can I clean a song with it?
It is made for speech. For music, use Vocal Remover or Music Extractor; the noise removal guide has more on cleaning voice recordings.
Voice Cleaner in your code
curl https://kadraris.com/v1/generate?wait=60 \
-H "Authorization: Bearer $KADRARIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "voice-cleaner",
"input": {
"audio_url": "https://example.com/input.mp3"
}
}'import os, time, requests
API = "https://kadraris.com/v1"
H = {"Authorization": f"Bearer {os.environ['KADRARIS_API_KEY']}"}
task = requests.post(f"{API}/generate", headers=H, json={
"model": "voice-cleaner",
"input": {
"audio_url": "https://example.com/input.mp3"
}
}).json()
while task["status"] in ("queued", "running"):
time.sleep(3)
task = requests.get(f"{API}/tasks/{task['id']}", headers=H).json()
print(task["status"], task["cost"], [o["url"] for o in task["output"]])const API = "https://kadraris.com/v1";
const headers = { Authorization: `Bearer ${process.env.KADRARIS_API_KEY}`, "Content-Type": "application/json" };
let task = await (await fetch(`${API}/generate`, {
method: "POST",
headers,
body: JSON.stringify({
"model": "voice-cleaner",
"input": {
"audio_url": "https://example.com/input.mp3"
}
}),
})).json();
while (task.status === "queued" || task.status === "running") {
await new Promise((r) => setTimeout(r, 3000));
task = await (await fetch(`${API}/tasks/${task.id}`, { headers })).json();
}
console.log(task.status, task.cost, task.output.map((o) => o.url));
Input fields
| Parameter | Type | Allowed | Default |
|---|---|---|---|
audio_url * | string |
Fetch this list as JSON with GET /v1/models/voice-cleaner.























