Interface AudioProgressEvent

Typed progress event emitted during audio generation.

The generation lifecycle flows through these statuses in order: queued -> processing -> downloading -> complete (or failed at any point).

Not all providers emit all statuses — synchronous providers (Stable Audio, ElevenLabs) may jump directly from processing to complete.

Example

emitter.on('audio:progress', (evt: AudioProgressEvent) => {
console.log(`[${evt.status}] ${evt.progress ?? '?'}% — ${evt.message}`);
});
interface AudioProgressEvent {
    status: "failed" | "queued" | "processing" | "downloading" | "complete";
    progress?: number;
    estimatedRemainingMs?: number;
    message?: string;
}

Properties

status: "failed" | "queued" | "processing" | "downloading" | "complete"

Current status of the generation job.

  • 'queued' — Request accepted, waiting for processing slot
  • 'processing' — Actively generating audio
  • 'downloading' — Generation complete, downloading result
  • 'complete' — Fully done, result available
  • 'failed' — Terminal error, see message
progress?: number

Estimated progress percentage (0-100).

Not all providers report granular progress; may remain undefined until the final status transition.

estimatedRemainingMs?: number

Estimated time remaining in milliseconds.

Only available when the provider reports ETA information.

message?: string

Human-readable status message or error description.