# Suno chirp-v3-5 — Atlas Cloud API

> Suno text-to-music via APIMart: inspiration mode (custom=false) turns a description into a song; custom mode (custom=true) uses your own lyrics. Async; returns 2 tracks per generation.

This is the machine-readable API reference for **Suno chirp-v3-5** on Atlas Cloud,
a unified API platform for 400+ AI models across text, image, video, audio and 3D.

- **Model ID**: `suno/chirp-v3-5`
- **Built by**: SUNO
- **Modality**: Audio
- **Model page**: https://www.atlascloud.ai/models/suno/chirp-v3-5
- **API key**: https://www.atlascloud.ai/console/api-keys
- **Docs**: https://www.atlascloud.ai/docs

## Pricing on Atlas Cloud

- $0.132 per generation
- Pay-as-you-go. No minimum spend, no subscription required.

> **These are the authoritative Atlas Cloud rates for this model.** Any price that
> appears in the vendor description further down refers to a different platform or
> a different model variant and does not apply here.

## Use this model from an AI agent

Atlas Cloud ships three first-party integration surfaces. All three authenticate
with the same API key via the `ATLASCLOUD_API_KEY` environment variable.

### MCP server

The official MCP server (`atlascloud-mcp`) exposes this model to any
MCP-compatible host — Claude Code, OpenAI Codex, Cursor, Gemini CLI, Goose,
Claude Desktop. One-line install:

```bash
# Claude Code
claude mcp add atlascloud -- npx -y atlascloud-mcp

# OpenAI Codex CLI
codex mcp add atlascloud -- npx -y atlascloud-mcp

# Gemini CLI
gemini mcp add atlascloud -- npx -y atlascloud-mcp

export ATLASCLOUD_API_KEY="your-api-key"
```

Then ask in plain English; the agent calls `atlas_generate_audio` with `model: "suno/chirp-v3-5"`.
The server fetches each model's schema and validates parameters before submitting,
so invalid requests fail fast without spending credits.

MCP docs: https://www.atlascloud.ai/docs/mcp-server

### Agent Skills

`atlas-cloud-skills` is a portable skill package (API reference, code templates in
Python / Node.js / cURL, model IDs with pricing) for Claude Code, Cursor, Codex and
12+ other agents:

```bash
npx skills add AtlasCloudAI/atlas-cloud-skills
export ATLASCLOUD_API_KEY="your-api-key"
```

Skills docs: https://www.atlascloud.ai/docs/skills

### CLI

The `atlas` binary runs Atlas Cloud from a terminal or CI script. Async media jobs
are polled and downloaded automatically (use `--no-download` when a script only
needs the output URLs):

```bash
# Install (Homebrew, npm, or shell installer)
brew install AtlasCloudAI/tap/atlascloud
# npm install -g atlascloud-cli
# curl -fsSL https://raw.githubusercontent.com/AtlasCloudAI/cli/main/install.sh | sh

atlas auth login
atlas models get suno/chirp-v3-5 --json
```

CLI docs: https://www.atlascloud.ai/docs/cli

## HTTP API reference

- **Submit endpoint (POST)**: `https://api.atlascloud.ai/api/v1/model/generateAudio` — start an async generation; returns a `prediction_id`
- **Poll endpoint (GET)**: `https://api.atlascloud.ai/api/v1/model/prediction/{prediction_id}` — poll this until the prediction finishes
- **Model ID**: `suno/chirp-v3-5`


## API Information

This model can be used via our HTTP API or more conveniently via our client libraries.
See the input and output schema below, as well as the usage examples.


### Input Schema

The API accepts the following input parameters:

- **`model`** (`string`, _required_):
  Model name.
  - Default: `"suno/chirp-v3-5"`
  - Options: "suno/chirp-v3-5"

- **`prompt`** (`string`, _optional_):
  With custom=false (default): an inspiration description of the song (style, mood, genre, theme). With custom=true: the actual lyrics, e.g. "[Verse]\n...\n[Chorus]\n...". Required unless custom=true and instrumental=true.
  - Default: `"Late-night city lo-fi piano with the sound of rain"`

- **`custom`** (`boolean`, _optional_):
  false = inspiration mode (prompt is a description). true = custom mode (prompt is used as lyrics, and title / style / negative_tags / auto_lyrics / persona_id / style_weight / weirdness_constraint / audio_weight take effect).
  - Default: `false`

- **`instrumental`** (`boolean`, _optional_):
  Instrumental only, no vocals.
  - Default: `false`

- **`vocal_gender`** (`string`, _optional_):
  Vocal gender. Takes effect in both modes.
  - Options: "Male", "Female"

- **`title`** (`string`, _optional_):
  Song title. Only takes effect when custom=true (ignored otherwise).

- **`style`** (`string`, _optional_):
  Style tags, e.g. "synthwave, female vocal, cinematic". Only takes effect when custom=true (ignored otherwise).

- **`negative_tags`** (`string`, _optional_):
  Styles to avoid. Only takes effect when custom=true.

- **`auto_lyrics`** (`boolean`, _optional_):
  Let the model rewrite the supplied lyrics creatively. Only when custom=true.
  - Default: `false`

- **`style_weight`** (`number`, _optional_):
  How strongly to follow style. Only when custom=true.
  - Min: 0
  - Max: 1

- **`weirdness_constraint`** (`number`, _optional_):
  Creativity / weirdness. Only when custom=true.
  - Min: 0
  - Max: 1

- **`audio_weight`** (`number`, _optional_):
  Audio reference weight. Only when custom=true.
  - Min: 0
  - Max: 1

- **`persona_id`** (`string`, _optional_):
  Persona (voice identity) id. Only when custom=true.



**Required Parameters Example**:

```json
{
  "model": "suno/chirp-v3-5"
}
```


**Full Example**:

```json
{
  "model": "suno/chirp-v3-5",
  "prompt": "Late-night city lo-fi piano with the sound of rain",
  "custom": false,
  "instrumental": false,
  "vocal_gender": "Male",
  "title": "",
  "style": "",
  "negative_tags": "",
  "auto_lyrics": false,
  "style_weight": 0,
  "weirdness_constraint": 0,
  "audio_weight": 0,
  "persona_id": ""
}
```


### Output Schema

The API returns the following output format:


- **`id`** (`string`, _optional_):

- **`model`** (`string`, _optional_):

- **`status`** (`string`, _optional_):
  created|processing|completed|failed

- **`outputs`** (`array[string]`, _optional_):
  Generated song URLs (2 tracks per generation).

- **`thumbnail`** (`string`, _optional_):
  Cover art generated alongside the song.

- **`urls`** (`object`, _optional_):



**Example Response**:

```json
{
  "id": "",
  "model": "",
  "status": "",
  "outputs": [
    ""
  ],
  "thumbnail": "",
  "urls": {}
}
```


## Usage Examples

### cURL

```bash
# Step 1: Start generation (async)
curl -X POST "https://api.atlascloud.ai/api/v1/model/generateAudio" \
  -H "Authorization: Bearer $ATLASCLOUD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "suno/chirp-v3-5",
  "prompt": "Late-night city lo-fi piano with the sound of rain",
  "custom": false,
  "instrumental": false,
  "vocal_gender": "Male",
  "title": "",
  "style": "",
  "negative_tags": "",
  "auto_lyrics": false,
  "style_weight": 0,
  "weirdness_constraint": 0,
  "audio_weight": 0,
  "persona_id": ""
}'

# Response will contain: {"code": 200, "data": {"id": "prediction_id", "status": "processing"}}

# Step 2: Poll for result (replace {prediction_id} with the id returned above)
curl -X GET "https://api.atlascloud.ai/api/v1/model/prediction/{prediction_id}" \
  -H "Authorization: Bearer $ATLASCLOUD_API_KEY"

# Keep polling until status is "completed", "succeeded" or "failed"
# When completed, outputs will contain the generated content URL(s)
```

## Additional Resources

### Documentation

- [Model Playground](https://www.atlascloud.ai/models/suno/chirp-v3-5)

## About this model

_Vendor-supplied description. Any pricing or endpoint mentioned below refers to_
_other platforms — use the Atlas Cloud values above._

### Suno chirp-v3-5

Generate a **full song** — vocals or instrumental — from a text prompt, powered by Suno
(`version v3.5`). Each generation returns **2 tracks** plus cover art.

#### Two modes

| mode | set | `prompt` means |
|---|---|---|
| Inspiration | `custom: false` (default) | a description of the song: style, mood, genre, theme |
| Custom | `custom: true` | the **actual lyrics**, e.g. `[Verse] ... [Chorus] ...` |

In custom mode you can also set `title`, `style`, `negative_tags`, `auto_lyrics`,
`persona_id`, `style_weight`, `weirdness_constraint` and `audio_weight`. Those fields are
**silently ignored** in inspiration mode. `vocal_gender` and `instrumental` work in both.

#### Parameters

| field | required | notes |
|---|---|---|
| `prompt` | yes | description (inspiration mode) or lyrics (custom mode), ≤3000 chars. Optional only when `custom: true` **and** `instrumental: true` |
| `custom` | no | `false` = inspiration (default), `true` = your own lyrics |
| `instrumental` | no | instrumental only, no vocals |
| `vocal_gender` | no | `Male` / `Female` — both modes |
| `title` | no | song title — custom mode only |
| `style` | no | style tags, e.g. `synthwave, female vocal, cinematic` — custom mode only |
| `negative_tags` | no | styles to avoid — custom mode only |
| `auto_lyrics` | no | let the model rewrite your lyrics — custom mode only |
| `style_weight` | no | 0.00–1.00 — custom mode only |
| `weirdness_constraint` | no | 0.00–1.00 — custom mode only |
| `audio_weight` | no | 0.00–1.00 — custom mode only |
| `persona_id` | no | voice identity id — custom mode only |

#### Output

`outputs` holds **2 audio URLs** (two takes of the same request); the cover art is returned
separately in `thumbnail` so it is never mixed into the audio list.

#### Notes

_(Description truncated. Full text on the model page.)_

---

Atlas Cloud — one API for 400+ AI models. Model page: https://www.atlascloud.ai/models/suno/chirp-v3-5 · Docs: https://www.atlascloud.ai/docs
