> ## Documentation Index
> Fetch the complete documentation index at: https://docs.toapis.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Music Task Status

> Query the status and result of a Suno music task

* Query async music task status and results
* Real-time progress tracking
* Retrieve audio, cover, and video URLs (mirrored to our CDN) on completion
* Failed tasks are refunded automatically

All music tasks run asynchronously. Poll this endpoint after submission.

## Authorizations

**Authorization** `string` *required*

Bearer Token. Get your API Key: [API Key management](https://toapis.com/console/token)

## Path Parameters

**task\_id** `string` *required*

Task ID returned by the music generation API (`tsk_aud_` prefix)

## Response

**id** `string`

Task ID

**status** `string`

`submitted` / `queued` / `in_progress` / `completed` / `failed`

**progress** `integer`

Progress 0-100

**cost** `number`

Actual upstream cost (USD)

**created** `integer`

Created timestamp (Unix)

**completed** `integer`

Completed timestamp (Unix)

**result** `object`

Task result; structure varies by operation:

**result structure**

**music** `array`

Tracks with `audio_url`, `image_url`, `title`, `tags`, `lyrics`, `duration`

**instruments** `array`

`midi` result: per-instrument `name`/`program`/`is_drum`/`notes[]`

**files** `array`

`download` result: multi-format file URLs

**videoUrl** `string`

`generateMp4` result: video URL

**avg\_bpm** `number`

`bpm` result (also `max_bpm`/`min_bpm`)

**error** `object`

Error info on failure (`code`/`message`)

```bash cURL theme={null}
curl --request GET \
  --url https://toapis.com/v1/music/tasks/tsk_aud_01M3EXAMPLE \
  --header 'Authorization: Bearer <token>'
```

```python Python theme={null}
import time
import requests

task_id = "tsk_aud_01M3EXAMPLE"
while True:
    resp = requests.get(
        f"https://toapis.com/v1/music/tasks/{task_id}",
        headers={"Authorization": "Bearer <token>"}
    ).json()["data"]
    if resp["status"] in ("completed", "failed"):
        break
    time.sleep(5)
print(resp["result"])
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.