Skip to content
speechinfraConsole

DeepFilterNet · Enhancement

DeepFilterNet3

Neural speech enhancement that suppresses noise while preserving voice clarity.

deepfilternet3
$0.005 / audio minuteTry in Console

Current 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.mp3
Python
# 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.

ParameterTypeDetails
file

Required

string

Short audio or video file. Direct API limit: 30 seconds, 20 MiB.

audio_formatstring

enum: mp3, aac, m4a, ogg, opus, flac, wav · default: "mp3"

All accepted values
[
  "mp3",
  "aac",
  "m4a",
  "ogg",
  "opus",
  "flac",
  "wav"
]
bitratestring

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."
}