curl --request GET \
--url https://toapis.com/v1/music/tasks/tsk_aud_01M3EXAMPLE \
--header 'Authorization: Bearer <token>'
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"])
{
"id": "<string>",
"status": "<string>",
"progress": 123,
"cost": 123,
"created": 123,
"completed": 123,
"result": {
"music": [
{}
],
"instruments": [
{}
],
"files": [
{}
],
"videoUrl": "<string>",
"avg_bpm": 123
},
"error": {}
}Get Music Task Status
Get Music Task Status
Query the status and result of a Suno music task
GET
/
v1
/
music
/
tasks
/
{task_id}
curl --request GET \
--url https://toapis.com/v1/music/tasks/tsk_aud_01M3EXAMPLE \
--header 'Authorization: Bearer <token>'
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"])
{
"id": "<string>",
"status": "<string>",
"progress": 123,
"cost": 123,
"created": 123,
"completed": 123,
"result": {
"music": [
{}
],
"instruments": [
{}
],
"files": [
{}
],
"videoUrl": "<string>",
"avg_bpm": 123
},
"error": {}
}- 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
Authorizations
string
required
Bearer Token. Get your API Key: API Key management
Path Parameters
string
required
Task ID returned by the music generation API (
tsk_aud_ prefix)Response
string
Task ID
string
submitted / queued / in_progress / completed / failedinteger
Progress 0-100
number
Actual upstream cost (USD)
integer
Created timestamp (Unix)
integer
Completed timestamp (Unix)
object
Task result; structure varies by operation:
object
Error info on failure (
code/message)curl --request GET \
--url https://toapis.com/v1/music/tasks/tsk_aud_01M3EXAMPLE \
--header 'Authorization: Bearer <token>'
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"])