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

# Create

> task=create — Custom lyrics or Simple idea

New song. **Do not** send `create_mode` or `agentic_thinking`. The mode is inferred.

| Mode | When |
| - | - |
| **Custom** | `prompt` is non-empty (you write the lyrics) |
| **Simple** | Omit `prompt` (or `""`), omit `persona`, and send at least one of `gpt_description_prompt` / `audio_refs` / `attached_styles` / `image_urls` |
| **Still Custom** | Empty `prompt` and none of those four fields |

Spoken audio is the same task. See [Speech](/api-reference/suno/generateSpeech).

`POST /suno/v2/generate` returns `{ "taskId" }`. Poll [Get Task Status](/api-reference/suno/task). Schema: `GET /suno/v2/generate/schema?task=create`.

## Parameters

| Field | Required | Notes |
| - | - | - |
| `task` | Yes | `"create"` |
| `model` | Yes | `chirp-v6`, `chirp-v6-mini`, `chirp-v6-wild`, or `chirp-custom:<uuid>`. Older names convert to v6 Pro |
| `prompt` | Custom | Lyrics. Non-empty → Custom. With `audio_refs` or `image_urls` → **400** |
| `gpt_description_prompt` | Simple | Official idea box. Ignored when `prompt` has lyrics. May be `""` if you only send refs, `attached_styles`, or `image_urls` |
| `audio_refs` | No | Simple only. 1–4 items. `clip_id` is enough. With `prompt` or `persona` → **400**. Other-user clips may be remix |
| `attached_styles` | No | Simple style paragraph. Alone or with refs / images. Ignored on Custom |
| `image_urls` | No | Simple only. 1–5 jpeg or png URLs. See [Images](#images) |
| `persona` | No | Keeps the request in Custom. With `image_urls` → **400**. Voice Persona: `is_voice: true` and `persona_id` is enough |
| `is_speech` / `backing_music` | No | Speech only. See [Speech](/api-reference/suno/generateSpeech) |

`audio_refs[]`: `clip_id` required; `style_prompt`, `lyrics`, `duration_s` optional. Pick is ByModel — the clip does not have to belong to the pool account.

## Images

`image_urls` is the official Simple **+ Image** control. It is only for `task=create` with an empty `prompt` and no `persona`. Images alone are enough to enter Simple — you do not also need `gpt_description_prompt`. You can still send an idea, `audio_refs`, or `attached_styles` in the same body.

The server downloads each URL, uploads it on the account selected for this generate, and sends the resulting ids upstream. You only pass URLs. Omit the field to leave the request unchanged. Do not send an empty array.

| Rule | Detail |
| - | - |
| Count | 1–5. Each value is a URL with `http` or `https` |
| Type | JPEG or PNG, detected from the file bytes |
| Size | Each file at most 20MB |
| With lyrics or `persona` | **HTTP 400** |
| Any task other than `create` | **HTTP 400** |
| Download failure, wrong type, over 20MB, or moderation not approved | **HTTP 451** |

## Examples

Custom — you write the lyrics:

```json theme={null}
{
  "task": "create",
  "model": "chirp-v6",
  "title": "Summer Vibes",
  "tags": "Pop, Happy, Upbeat",
  "prompt": "[Verse]\nSunshine on my face today\nDriving down the coast away\n\n[Chorus]\nSummer vibes, feeling free\nThis is where I want to be",
  "make_instrumental": false
}
```

Simple — idea only. No `prompt`, no `persona`:

```json theme={null}
{
  "task": "create",
  "model": "chirp-v6",
  "gpt_description_prompt": "Emotive bossa nova song about the silence after a fight"
}
```

Simple — idea plus up to four reference songs. `clip_id` alone is enough:

```json theme={null}
{
  "task": "create",
  "model": "chirp-v6",
  "gpt_description_prompt": "Rework this as progressive rock",
  "audio_refs": [{ "clip_id": "3e7e9538-c474-45a7-8181-3da327bd654b" }]
}
```

Simple — idea plus images. No `prompt`, no `persona`:

```json theme={null}
{
  "task": "create",
  "model": "chirp-v6",
  "gpt_description_prompt": "Score this as neo-soul",
  "image_urls": ["https://example.com/cover.jpg"]
}
```

Other optional fields: [shared list](/api-reference/suno/generate-tasks#shared-optional-fields).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.