Get Task
curl --request GET \
--url https://api.ephone.ai/suno/v2/fetch/{task_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.ephone.ai/suno/v2/fetch/{task_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.ephone.ai/suno/v2/fetch/{task_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.ephone.ai/suno/v2/fetch/{task_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"code": "success",
"data": {
"task_id": "5adac6ee-...",
"action": "music",
"model": "suno/music",
"status": "SUCCESS",
"progress": "100%",
"submit_time": 1757800000000,
"finish_time": 1757800120000,
"musics": [
{
"music_id": "89b20862-...",
"title": "Rain on Tin Roof",
"tags": "lo-fi piano",
"audio_url": "https://...",
"image_url": "https://...",
"duration": 187.56
}
]
}
}{
"error": {
"message": "Invalid Token",
"type": "rix_api_error"
}
}{
"code": "error",
"message": "task not found"
}{
"error": {
"message": "Too many requests, please try again later",
"type": "rix_api_error"
}
}Fetch
Get Task
Fetch a task’s status and result with the task_id returned on submission.
GET
/
suno
/
v2
/
fetch
/
{task_id}
Get Task
curl --request GET \
--url https://api.ephone.ai/suno/v2/fetch/{task_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.ephone.ai/suno/v2/fetch/{task_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.ephone.ai/suno/v2/fetch/{task_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.ephone.ai/suno/v2/fetch/{task_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"code": "success",
"data": {
"task_id": "5adac6ee-...",
"action": "music",
"model": "suno/music",
"status": "SUCCESS",
"progress": "100%",
"submit_time": 1757800000000,
"finish_time": 1757800120000,
"musics": [
{
"music_id": "89b20862-...",
"title": "Rain on Tin Roof",
"tags": "lo-fi piano",
"audio_url": "https://...",
"image_url": "https://...",
"duration": 187.56
}
]
}
}{
"error": {
"message": "Invalid Token",
"type": "rix_api_error"
}
}{
"code": "error",
"message": "task not found"
}{
"error": {
"message": "Too many requests, please try again later",
"type": "rix_api_error"
}
}| status | Meaning |
|---|---|
SUBMITTED | Accepted |
QUEUED | Waiting to start |
IN_PROGRESS | Running |
SUCCESS | Finished; outputs are in the response |
FAILURE | Failed; see fail_reason |
Authorizations
Send your API key in the Authorization: Bearer YOUR_API_KEY header.
Path Parameters
The task ID returned when you submitted the task.
Was this page helpful?