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

# Suno Sounds

> Generate one-shot or looping sound effects with Suno. $0.0144 per request.

`suno-sounds` generates a sound effect from a description, as a single hit or a loop.

| Property | Value |
| - | - |
| Model ID | `suno-sounds` |
| Endpoint | `POST /v1/music/generations` (asynchronous task) |
| Group | Suno > Create |
| Input | Text: a description of the sound |
| Result | Tracks in `result.tracks` with `audio_url` |
| Price | \$0.0144 per request (1.44 credits) |

Confirm live rates on the [SnapGen models page](https://snapgen.org/models). Failed tasks are not charged.

<ParamField body="model" type="string" required>
  Set to `suno-sounds`.
</ParamField>

<ParamField body="prompt" type="string" required>
  What the sound should be, up to 3,000 characters. English prompts work best.
</ParamField>

<ParamField body="version" type="string" default="v6">
  Suno model version: `v6`, `v6-wild`, or `v6-mini`.
</ParamField>

<ParamField body="type" type="string" default="one-shot">
  `one-shot` for a single hit, or `loop` for a sound that loops.
</ParamField>

<ParamField body="bpm" type="integer">
  Tempo in beats per minute, from 1 to 300.
</ParamField>

<ParamField body="key" type="string">
  Musical key from `C` to `B`, with sharps such as `C#`; add `m` for a minor key, such as `F#m`. Flats such as `Db` aren't accepted.
</ParamField>

<ParamField body="audio_format" type="string">
  Output format: `mp3`, `m4a`, or `wav`. The provider picks one if you omit it.
</ParamField>

<ParamField body="webhook" type="string">
  Optional public `https` URL that receives one signed event when the task finishes. See [Task webhooks](/api-reference/webhooks).
</ParamField>

<ParamField body="webhook_secret" type="string">
  Required with `webhook`: 16 to 256 characters, used to sign the delivery.
</ParamField>

## Request

```bash theme={null}
curl https://api.snapgen.org/v1/music/generations \
  -H "Authorization: Bearer $SNAPGEN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "suno-sounds",
    "prompt": "Thunderstorm with distant church bells",
    "type": "one-shot"
  }'
```

The response is HTTP `202` with a task object and a `Location: /v1/tasks/{id}` header. Poll [`GET /v1/tasks/{id}`](/api-reference/task-status) every 10 to 20 seconds until `status` is `succeeded` or `failed`.

## Result

`result.tracks[]` lists every track in its original order, each with its `index` and `audio_url`, plus `title`, `image_url`, `duration_seconds`, `lyrics`, and `tags` when the provider returns them. `result.urls` lists the audio URLs.

```json theme={null}
{
  "urls": [
    "https://cdn.example.com/music/night-drive.mp3"
  ],
  "tracks": [
    {
      "index": 1,
      "id": "clip_8f3a2c",
      "title": "Night Drive",
      "audio_url": "https://cdn.example.com/music/night-drive.mp3",
      "image_url": "https://cdn.example.com/music/night-drive.jpg",
      "duration_seconds": 184.6,
      "tags": "lo-fi, soft piano, rain"
    }
  ]
}
```

<Note>
  Result URLs are kept for about 72 hours. Download the files you want to keep.
  See [Music generation tasks](/api-reference/music-generations) for the task lifecycle, result fields, webhooks, and errors.
</Note>
