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

# Udio Model

> Generate music with the Udio AI music model. Single-call generation with optional user-supplied lyrics or instrumental output.

# Udio Model

<Warning>
  **Unofficial API** — sunor is not affiliated with, endorsed by, or officially connected to Udio Inc. This is a third-party integration that provides programmatic access to Udio's music generation capabilities.
</Warning>

Udio is an AI music generation model that creates songs with vocals or instrumental tracks from a short style description. Compared to Suno, Udio's strength is rich production polish and natural vocal delivery on shorter prompts.

## Available task types

| Task Type | Credits | Description                                                                   |
| --------- | ------- | ----------------------------------------------------------------------------- |
| `music`   | 5       | Generate a music clip from a short prompt. Returns \~2 audio tracks per call. |

Other operations (extend, remix, voice clone, audio upload) are not yet available for Udio. Use the [Suno model](/models/suno) for upload, lyrics-only, and concatenation tasks.

## Model version

sunor uses Udio's **udio32-v1.5** model. Set automatically — no need to specify it.

***

## Music generation

### Quick generate (Udio writes lyrics)

The simplest way to use Udio: a short style description. Udio's prompt expansion writes lyrics that match.

```json theme={null}
{
  "model": "udio",
  "task_type": "music",
  "input": {
    "prompt": "lofi hip hop, chill, rainy night, jazz piano"
  }
}
```

**Key fields**:

* `prompt` — Short style/mood description. Udio's GPT layer expands it.

<Note>
  **Migrating from Suno?** Udio uses `prompt` for the style description. The Suno-style `gpt_description_prompt` and `make_instrumental` fields are **not** accepted — submissions using them will be rejected with a `400` error. For instrumental output, set `lyrics_type: "instrumental"` (see below).
</Note>

### With user-supplied lyrics

Pass your own lyrics and tell Udio to use them verbatim.

```json theme={null}
{
  "model": "udio",
  "task_type": "music",
  "input": {
    "prompt": "indie folk, acoustic, melancholy",
    "lyrics": "[Verse]\nWalking down the midnight road\nStars above begin to glow\n\n[Chorus]\nWe are the dreamers in the night",
    "lyrics_type": "user"
  }
}
```

**Key fields**:

* `lyrics` — Your lyrics, with section markers (`[Verse]`, `[Chorus]`, `[Bridge]`).
* `lyrics_type` — Set to `"user"` to use your lyrics verbatim.

### Instrumental (no vocals)

```json theme={null}
{
  "model": "udio",
  "task_type": "music",
  "input": {
    "prompt": "cinematic orchestral, sweeping strings, dramatic",
    "lyrics_type": "instrumental"
  }
}
```

**Key fields**:

* `lyrics_type: "instrumental"` — No vocal track in the output.

***

## Optional fields

| Field         | Type    | Description                                                 |
| ------------- | ------- | ----------------------------------------------------------- |
| `tags`        | string  | Comma-separated style tags. Udio merges them with `prompt`. |
| `seed`        | integer | Deterministic seed. Omit for random.                        |
| `lyrics_type` | enum    | `generate` (default), `user`, or `instrumental`.            |

***

## Tips for better results

<CardGroup cols={2}>
  <Card title="Keep prompts short" icon="bullseye">
    Udio's GPT layer expands a short style description into a full prompt. Long descriptions can fight that expansion. Aim for 5–15 words.
  </Card>

  <Card title="Use section markers" icon="list">
    When supplying your own lyrics, use `[Verse]`, `[Chorus]`, `[Bridge]`, `[Outro]` to control structure.
  </Card>

  <Card title="Two tracks per call" icon="layer-group">
    One Udio task returns \~2 generated songs. Pick the one you like best. Both are billed as one call (5 credits).
  </Card>

  <Card title="Iterate on style" icon="rotate">
    Wrong vibe? Re-submit with adjusted style words rather than tweaking the seed. Udio is sensitive to genre/mood vocabulary.
  </Card>
</CardGroup>

***

## Differences from Suno

|                         | Suno                                  | Udio                          |
| ----------------------- | ------------------------------------- | ----------------------------- |
| Task types              | `music`, `lyrics`, `upload`, `concat` | `music` only (P1)             |
| Cost per call           | 10 credits (\$0.10)                   | 5 credits (\$0.05)            |
| Tracks returned         | 2                                     | \~2                           |
| Style description input | `gpt_description_prompt`              | `prompt`                      |
| Instrumental flag       | `make_instrumental: true`             | `lyrics_type: "instrumental"` |
| Lyrics-only generation  | Yes (`task_type: "lyrics"`)           | Not yet                       |
| Audio upload / cover    | Yes (`task_type: "upload"`)           | Not yet                       |
| Voice cloning           | Not exposed via API                   | Not yet                       |
