Suno/Get Music Details
Get Music Details
Poll a music task with its id to get status and the generated tracks. Call it after submitting; tracks (with a playable streamUrl) appear ~20–30s in, and the final mp3 fills in when generation completes. Recommended interval: every 5–10s.
GET
https://api.foxwire.ai/v1/media/generations/{id}#Request
bash
curl https://api.foxwire.ai/v1/media/generations/task_abc123 \
-H "Authorization: Bearer $CORRY_KEY"#Status values
| Status | Meaning |
|---|---|
queued | Accepted, submitting to the engine. |
running | Generating. Tracks with streamUrl/lyrics/cover may already be present — start previewing. |
succeeded | Done. Every track has its final audioUrl on our CDN. |
failed | Generation failed (see error). The hold is refunded. |
#Response
While running (~20–30s in)
json
{
"id": "task_abc123",
"status": "running",
"type": "music",
"model": "suno-music",
"tracks": [
{
"id": "trk_a1",
"title": "Summer Road",
"tags": "indie rock, upbeat",
"lyrics": "[Verse 1]\nMorning came in on the screen door ...",
"duration": null,
"streamUrl": "https://api.foxwire.ai/v1/media/stream/trk_a1/<token>",
"imageUrl": "https://cdn.sozdai.ai/music/cover/a1.jpeg"
}
],
"cost": "0"
}Succeeded
json
{
"id": "task_abc123",
"status": "succeeded",
"type": "music",
"model": "suno-music",
"tracks": [
{
"id": "trk_a1",
"title": "Summer Road",
"tags": "indie rock, upbeat",
"lyrics": "[Verse 1]\nMorning came in on the screen door ...",
"duration": 168.4,
"streamUrl": "https://api.foxwire.ai/v1/media/stream/trk_a1/<token>",
"audioUrl": "https://cdn.sozdai.ai/music/a1.mp3",
"imageUrl": "https://cdn.sozdai.ai/music/cover/a1.jpeg"
},
{ "id": "trk_a2", "title": "Summer Road", "duration": 142.1, "audioUrl": "https://cdn.sozdai.ai/music/a2.mp3", "streamUrl": "https://api.foxwire.ai/v1/media/stream/trk_a2/<token>", "imageUrl": "https://cdn.sozdai.ai/music/cover/a2.jpeg" }
],
"cost": "80000"
}Fields fill in over time
streamUrl, lyrics and imageUrl appear first (stage 2). duration and audioUrl appear when the track is fully done (stage 3). The task is succeeded only once every track has its audioUrl.
#Track object
| Field | Type | Description |
|---|---|---|
id | string | Track id (used in streamUrl). |
title | string | Track title. |
tags | string | Style tags from the engine. |
lyrics | string | Lyrics. "[Instrumental]" for instrumental tracks. |
duration | number | Length in seconds (present once final). |
streamUrl | string | Play immediately while generating; redirects to the CDN file once stored. |
audioUrl | string | Final mp3 on our CDN (present once the track is done). |
imageUrl | string | Cover image on our CDN. |
#Streaming URL
streamUrl is one stable address per track. While the song is generating it proxies the live audio so the user can start listening; once the final mp3 is stored, the same URL 302-redirects to the durable CDN file (seekable). The upstream provider URL is never exposed.
Tip
Put streamUrl straight into an <audio> tag — it works during generation and after.