Overview

AudioPod AI’s Noise Reduction API uses advanced AI models to remove background noise, enhance speech clarity, and improve overall audio quality. Process recordings to eliminate unwanted sounds while preserving the natural characteristics of speech and music.

Key Features

  • AI-Powered Denoising: Advanced neural networks for intelligent noise removal
  • Multiple Quality Modes: Balanced, aggressive, and preserving modes
  • Spectral Processing: Traditional spectral subtraction for specific noise types
  • Voice Preservation: Maintain natural speech characteristics during cleanup
  • Video Support: Process audio from video files while preserving video streams
  • Batch Processing: Handle multiple files efficiently

Authentication

All endpoints require authentication:
  • API Key: Authorization: Bearer your_api_key
  • JWT Token: Authorization: Bearer your_jwt_token

AI Noise Reduction

Standard Denoising

Remove background noise using AI-powered denoising models.
from audiopod import Client

client = Client()

# Simple noise reduction
denoised = client.denoiser.denoise_audio(
    audio_file="noisy_recording.wav",
    quality_mode="balanced",  # "balanced", "studio"
    wait_for_completion=True
)

print(f"Denoising completed!")
print(f"Input file: {denoised.input_file}")
print(f"Denoised audio URL: {denoised.denoised_audio_url}")
print(f"Noise reduction level: {denoised.noise_reduction_db}dB")

# Download cleaned audio
clean_audio = client.download_file(denoised.denoised_audio_url)
with open("clean_recording.wav", "wb") as f:
    f.write(clean_audio)

# Studio quality denoising
studio_denoised = client.denoiser.denoise_audio(
    audio_file="interview_with_background_noise.wav",
    quality_mode="studio",  # Higher quality processing
    wait_for_completion=True
)

print(f"Studio denoising completed!")
print(f"Noise reduction level: {studio_denoised.noise_reduction_db}dB")

# Batch processing multiple files
noisy_files = [
    "meeting_room_recording.wav",
    "interview_outdoors.mp3",
    "podcast_home_setup.wav",
    "lecture_hall_audio.m4a"
]

batch_results = client.denoiser.denoise_batch(
    audio_files=noisy_files,
    quality_mode="balanced",
    wait_for_completion=True
)

for i, result in enumerate(batch_results):
    print(f"\nFile {i+1}: {noisy_files[i]}")
    print(f"Status: {result.status}")
    if result.status == "completed":
        print(f"Noise reduced: {result.noise_reduction_db}dB")
        print(f"Clean audio: {result.denoised_audio_url}")
        
        # Download and save
        clean_audio = client.download_file(result.denoised_audio_url)
        output_name = f"clean_{i+1}_{noisy_files[i].split('.')[0]}.wav"
        with open(output_name, "wb") as f:
            f.write(clean_audio)
        print(f"Saved: {output_name}")

# Process video files (audio cleaning)
video_denoised = client.denoiser.denoise_video(
    video_file="presentation_with_noise.mp4",
    quality_mode="studio",  # Higher quality processing
    preserve_video=True,        # Keep original video stream
    wait_for_completion=True
)

print(f"Video denoising completed!")
print(f"Clean video URL: {video_denoised.video_output_url}")
print(f"Audio-only URL: {video_denoised.denoised_audio_url}")

Denoise from URL

Process audio/video from URLs (YouTube, etc.) to remove noise.
# Note: SDK examples shown are conceptual and may not reflect the current SDK implementation
# For production use, refer to the Raw HTTP examples or check the latest SDK documentation
from audiopod import Client

client = Client()

# Denoise from YouTube URL
url_denoised = client.denoiser.denoise_from_url(
    url="https://youtube.com/watch?v=example123",
    quality_mode="studio",  # Higher quality processing for online content
    wait_for_completion=True
)

print(f"URL denoising completed!")
print(f"Source: {url_denoised.source_url}")
print(f"Clean audio URL: {url_denoised.denoised_audio_url}")
print(f"Noise reduction: {url_denoised.noise_reduction_db}dB")

# Batch URL processing
urls = [
    "https://youtube.com/watch?v=lecture1",
    "https://vimeo.com/meeting_recording",
    "https://example.com/noisy_podcast.mp3"
]

batch_url_results = client.denoiser.denoise_batch_from_urls(
    urls=urls,
    quality_mode="balanced",
    wait_for_completion=True
)

for i, result in enumerate(batch_url_results):
    print(f"\nURL {i+1}: {urls[i]}")
    print(f"Status: {result.status}")
    if result.status == "completed":
        print(f"Clean audio: {result.denoised_audio_url}")
Quality Modes:
  • balanced: Good balance between noise removal and audio preservation
  • studio: Higher quality processing with enhanced algorithms, best for professional use
Response:
{
  "id": 123,
  "status": "PROCESSING",
  "progress": 0,
  "input_path": "/uploads/noisy_recording.wav",
  "is_video": false,
  "task_id": "celery_task_uuid_here",
  "created_at": "2024-01-15T10:30:00Z",
  "original_filename": "noisy_recording.wav",
  "display_name": "noisy_recording.wav"
}

Spectral Noise Reduction

Advanced Spectral Processing

Use traditional spectral subtraction for specific noise types and fine control.
POST /api/v1/denoiser/spectral/denoise
Authorization: Bearer {api_key}
Content-Type: multipart/form-data

file: (audio file)
noise_type: general
prop_decrease: 0.8
stationary: true
Noise Types:
  • general: General background noise
  • electrical_hum: 50/60Hz electrical interference
  • air_conditioning: HVAC and fan noise
  • traffic: Vehicle and road noise
  • crowd: Background conversations and crowd noise

Job Management

Get Job Status

Monitor the progress of noise reduction jobs.
GET /api/v1/denoiser/jobs/{job_id}
Authorization: Bearer {api_key}
Response (Completed):
{
  "id": 123,
  "status": "COMPLETED",
  "progress": 100,
  "input_path": "/uploads/noisy_recording.wav",
  "output_path": "/processed/clean_recording_123.wav",
  "video_output_path": null,
  "is_video": false,
  "task_id": "celery_task_uuid_here",
  "created_at": "2024-01-15T10:30:00Z",
  "updated_at": "2024-01-15T10:32:15Z",
  "completed_at": "2024-01-15T10:32:15Z",
  "output_url": "https://api.audiopod.ai/download/clean_recording_123.wav",
  "video_output_url": null,
  "original_filename": "noisy_recording.wav",
  "display_name": "Clean Recording",
  "stats": {
    "noise_reduction_db": 15.2,
    "processing_time": 135.4,
    "audio_duration": 180.0
  }
}

List Denoising Jobs

Get all noise reduction jobs for the authenticated user.
GET /api/v1/denoiser/jobs?limit=50&skip=0
Authorization: Bearer {api_key}

Retry Failed Job

Retry a failed noise reduction job.
POST /api/v1/denoiser/jobs/{job_id}/retry
Authorization: Bearer {api_key}

Cancel Job

Cancel a pending denoising job.
POST /api/v1/denoiser/jobs/{job_id}/cancel
Authorization: Bearer {api_key}

Delete Job

Remove a completed job and its results.
DELETE /api/v1/denoiser/jobs/{job_id}
Authorization: Bearer {api_key}

Health Check

Check the denoising service availability and status.
GET /api/v1/denoiser/health
Authorization: Bearer {api_key}
Health Response:
{
  "status": "available",
  "device": "cuda:0",
  "model": "dns64",
  "cuda_available": true,
  "cuda_device_count": 1,
  "cuda_device_name": "NVIDIA GeForce RTX 4090"
}

Error Handling

Pricing

Noise reduction pricing is based on audio duration:
ServiceCostDescription
AI Denoising330 credits/minuteAdvanced neural network processing
Spectral Processing660 credits/minuteTraditional spectral subtraction

Cost Examples

DurationMethodCreditsUSD Cost
10 minutesAI Denoising3300$0.44
30 minutesSpectral19800$2.64
1 hourAI Denoising19800$2.64

Next Steps