Skip to main content
GET
Stream Denoise Progress
Subscribes to live progress events for a denoising job over Server-Sent Events (SSE). The connection emits a processing event as work advances and terminates with either a done event (carrying the final audio URL) or an error event.

Authentication

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

Request

Path Parameters

Headers

Response

Status Code: 200 OK Headers:
  • Content-Type: text/event-stream
  • Cache-Control: no-cache
  • Connection: keep-alive
The body is an SSE stream. Each message is delivered as a data: line whose payload is a JSON object. The connection automatically closes after a terminal event (done or error), or after 15 minutes of inactivity. When you connect to an already-completed job, the server immediately emits the cached final event and closes — no need to poll separately.

Event Schema

The stage field discriminates the event:

Example Stream

Error Responses

404 Not Found — emitted as a JSON body, not as SSE:
401 Unauthorized

Example Usage

JavaScript (fetch + ReadableStream)

Python (httpx)

cURL

Reconnecting: If you reconnect after a job has already finished, the server replays the cached terminal event immediately so clients never miss completion.

Authorizations

x-api-key
string
header
required

API key for authentication

Path Parameters

denoiseId
string<uuid>
required

The denoiseId returned by POST /denoise.

Response

SSE stream of denoising events. Each message is a data: <json> line where the JSON conforms to DenoiseProgressEvent.

An SSE event payload for a denoising job. The stage field discriminates between processing, done, and error.

stage
enum<string>
required
Available options:
processing
pct
number
required

Completion percentage.

Required range: 0 <= x <= 100
message
string

Optional human-readable progress message.