Skip to main content
Every music generation job moves through a defined set of status values. Understanding the lifecycle lets you write polling logic that reacts correctly to each state and extracts the right fields when a job finishes. This page describes each status, specifies which fields are available at each stage, and provides a complete reference for the result object returned when generation completes.

Status lifecycle

The job has been accepted and generation is in progress. The Whisul backend is actively processing your prompt.What to expect:
  • status is "running"
  • result is null
  • error is null
  • finished_at is not present
  • started_at is populated
What to do: Continue polling GET /jobs/{job_id} at a reasonable interval until status changes. See the polling guide for recommended intervals.

Timestamp fields

Both endpoints return timing information for the job.

Result object fields

The result object is only present when status is "completed". For all other statuses, result is null.
result fields are only guaranteed to be populated when status is "completed". Do not attempt to read result fields before confirming the status value.