DeepFilterNet · Enhancement
DeepFilterNet3
Neural speech enhancement that suppresses noise while preserving voice clarity.
deepfilternet3Current model-specific price from our catalog. Requests require your project API key and sufficient balance. Availability is checked at execution time.
Input and capabilities
Upload a short audio or video file using multipart/form-data: at most 30 seconds and 20 MiB. Use WAV for the examples below. Container compatibility depends on the model.
- enhancement
Automatic language detection: not supported.
No language-specific selection is declared for this model.
API endpoint
POST https://api.speechinfra.com/v1/inference/deepfilternet3
Authenticate with your Speechinfra project key. Read the quickstart and billing guide.
cURL
curl --fail-with-body "https://api.speechinfra.com/v1/inference/deepfilternet3" \
-H "Authorization: Bearer $SPEECH_API_KEY" \
-F "file=@clip.wav" \
--form-string "audio_format=mp3" \
--form-string "bitrate=192k" \
--output enhanced.mp3Python
# pip install httpx
import os
import httpx
headers = {"Authorization": "Bearer " + os.environ["SPEECH_API_KEY"]}
with open("clip.wav", "rb") as audio:
response = httpx.post(
"https://api.speechinfra.com/v1/inference/deepfilternet3",
headers=headers, files={"file": ("clip.wav", audio, "audio/wav")},
data={
"audio_format": "mp3",
"bitrate": "192k"
}, timeout=90,
)
response.raise_for_status()
from pathlib import Path
Path("enhanced.mp3").write_bytes(response.content)Node.js / fetch
// Node.js 22+, no SDK required.
import { readFile } from 'node:fs/promises';
const form = new FormData();
form.set('file', new Blob([await readFile('clip.wav')]), 'clip.wav');
for (const [key, value] of Object.entries({
"audio_format": "mp3",
"bitrate": "192k"
})) form.set(key, value);
const response = await fetch("https://api.speechinfra.com/v1/inference/deepfilternet3", {
method: 'POST', body: form, signal: AbortSignal.timeout(90000),
headers: { Authorization: 'Bearer ' + process.env.SPEECH_API_KEY },
});
if (!response.ok) throw new Error(await response.text());
const {writeFile} = await import('node:fs/promises');
await writeFile('enhanced.mp3', Buffer.from(await response.arrayBuffer()));Request parameters
Generated from the API schema for this deployment. Conditional parameters apply only when their controlling setting is enabled.
| Parameter | Type | Details |
|---|---|---|
fileRequired | string | Short audio or video file. Direct API limit: 30 seconds, 20 MiB. |
audio_format | string | enum: mp3, aac, m4a, ogg, opus, flac, wav · default: "mp3" All accepted values[ "mp3", "aac", "m4a", "ogg", "opus", "flac", "wav" ] |
bitrate | string | default: "192k" · pattern: ^[1-9][0-9]{1,3}k$ |
Complete request schema
{
"type": "object",
"additionalProperties": false,
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"format": "binary",
"description": "Short audio or video file. Direct API limit: 30 seconds, 20 MiB."
},
"audio_format": {
"type": "string",
"enum": [
"mp3",
"aac",
"m4a",
"ogg",
"opus",
"flac",
"wav"
],
"default": "mp3"
},
"bitrate": {
"type": "string",
"pattern": "^[1-9][0-9]{1,3}k$",
"default": "192k"
}
}
}Response schema
Returns audio bytes in the selected output format.
View complete response schema
{
"type": "string",
"format": "binary",
"description": "Audio in the requested output format."
}