Skip to main content
The GET /jobs/{job_id} endpoint returns the current state of a music generation job. Poll this endpoint after calling POST /generate to determine when your song is ready. While the job is running, the result field is null. When the job completes, result contains the audio URL, cover artwork, BPM, duration, and descriptive tags. Base URL: https://whisul.com/api

Request

Authentication

Every request must include your API key as a Bearer token in the Authorization header.

Path parameters

string
required
The UUID of the generation job returned by POST /compose. Example: 81fa5ff7-6197-4c24-8062-c0ff8b62d58d.

Example request

Response

200 OK

Returned for both running and completed jobs.

Job is running

When the job is still being processed, result is null and finished_at is not present.

Job is completed

When generation finishes, status becomes "completed" and the result object is populated.

Response fields

string
The current state of the job. One of running, completed, or failed. See the job status lifecycle for details.
string
The original prompt string submitted with POST /compose.
object
null while the job is running or if the job failed. Populated when status is "completed".
string | null
null for running and completed jobs. May contain an error message when status is "failed".
string
The timestamp when the job began processing, in YYYY-MM-DD HH:MM:SS format (UTC).
string
The timestamp when the job finished, in YYYY-MM-DD HH:MM:SS format (UTC). Only present when status is "completed" or "failed".

Error codes