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

# Suno fetch

> GET /suno/fetch/{id} — poll a Suno task's status

Get the current status and result of a Suno music-generation task.

## Request

```bash theme={null}
curl https://openp.ai/suno/fetch/task_01... \
  -H "Authorization: Bearer $OPENPAI_API_KEY"
```

## Response

```json theme={null}
{
  "code": "success",
  "data": {
    "task_id": "task_01...",
    "status": "SUCCESS",
    "progress": 100,
    "clips": [
      {
        "id": "clip_a",
        "title": "Rainy Night",
        "audio_url": "https://...mp3",
        "video_url": "https://...mp4",
        "image_url": "https://...png",
        "duration": 180,
        "lyric": "...",
        "tags": "lofi, hiphop",
        "model_name": "chirp-v4"
      },
      {
        "id": "clip_b",
        "title": "Rainy Night",
        "audio_url": "https://...mp3",
        "duration": 175
      }
    ]
  }
}
```

### status

| Value             | Meaning                                 |
| ----------------- | --------------------------------------- |
| `PENDING`         | In the queue                            |
| `TEXT_GENERATING` | Generating lyrics                       |
| `FIRST_SUCCESS`   | The first segment is ready (streamable) |
| `STREAMING`       | Streaming generation in progress        |
| `SUCCESS`         | All complete                            |
| `FAILURE`         | Failed                                  |

## Batch query

```bash theme={null}
curl -X POST https://openp.ai/suno/fetch \
  -H "Authorization: Bearer $OPENPAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"ids":["task_01","task_02"]}'
```

## Notes

* Links like `audio_url` / `video_url` are usually accessible for only **24-48 hours** — download them to your own storage promptly.
* A task usually completes in 1-3 minutes; long tracks (continuations) may take longer.
* For failed tasks, check `failure_reason` first; common causes: upstream overload, upstream rejection, lyrics too long.
