Skip to main content
POST
Submit Denoise Job
Queues an audio (or video) file for voice isolation. The endpoint accepts the upload, persists the original, creates a pending record, and enqueues a background job. Use the returned denoiseId with the progress SSE endpoint to track completion.

Authentication

Requires API key authentication via x-api-key header.

Request

Content-Type: multipart/form-data

Form Data

File Limits

  • Maximum file size: 200 MB
  • Maximum duration: 15 minutes
  • Source type detection: files with extension mp4, mov, mkv, webm, avi, or m4v are treated as video and their audio track is extracted before denoising. All other extensions are treated as audio.
Supported audio formats: WAV, MP3, M4A, FLAC, OGG.

Response

Status Code: 200 OK Content-Type: application/json

Response Schema

Example Response

Error Responses

400 Bad Request
401 Unauthorized
402 Payment Required

Example Usage

JavaScript

Python

cURL

Async workflow: This endpoint only enqueues the job. The denoised audio URL is delivered via the progress SSE endpoint (done event) or can be fetched from the list endpoint once the record’s status is success.

Authorizations

x-api-key
string
header
required

API key for authentication

Body

multipart/form-data
audio
file
required

Audio or video file to denoise (max 200 MB, max 15 minutes duration). Video containers (mp4, mov, mkv, webm, avi, m4v) have their audio track extracted automatically.

Response

Denoising job queued

jobId
string
required

Background job identifier (mirrors denoiseId).

denoiseId
string<uuid>
required

Unique identifier of the denoising record. Use this with /denoise/{denoiseId}/progress and as the record id in /denoise.