# AI music generation
Source: https://docs.aden.space/docs/help/make-music/ai-music-generation

Generate a track from a description, or a genre variant as a new version on an existing track. Lyria through OpenRouter, ElevenLabs Music 2.5 with ELEVENLABS_API_KEY, Stable Audio 3 with STABILITY_API_KEY. Admin preview billed to Aden.
{/* Generated by `bun docs:publish` from docs/features/ai-music-generation.md: edit the spec, not this file. */}

## What it is [#what-it-is]

Describe a piece of music and a model plays it for you. On the generate page
the result becomes a new track in your team, with the audio as its first
version. From a track, you can also generate a new version in a genre or
style (house, drum and bass, acoustic). In a version's comments the result
comes back as a reply with the audio attached.

Each generation is priced per song or per clip. The price is on the button
before you click it. While the feature is in admin preview, Aden carries the
cost.

## Using it [#using-it]

### On the generate page [#on-the-generate-page]

1. Open **Generate** from the create-track page header (admins only for
   now), or go to `/app/tracks/generate`.
2. Describe the music. Genre, mood, instruments and tempo all help.
3. Write lyrics, leave the box empty for the model to write its own, or turn
   on **Instrumental**.
4. Give it a title if you have one, pick a model, click **Generate**.
5. A minute or two later the track shows up in the list on the right, with a
   play button and a link to its page. It is a normal track: status *idea*,
   tags `ai` and `ai:<model>`, the prompt as its description.

### On a track (genre version) [#on-a-track-genre-version]

1. Open the track, open the chevron on **Add version** and pick
   **Generate a version** (admins only for now). The empty state of a track
   with no versions still shows it as its own button.
2. Type a genre or pick one (house, drum and bass, acoustic, and so on).
3. Lyrics start from the latest version that has them. Edit or turn on
   **Instrumental**.
4. Pick ElevenLabs Music or a Google model, then **Generate**.
5. The new version appears in the list with a name like `ElevenLabs · house`.
   It does not replace the current version. Play it like any other upload.
   Waveform is computed on first play, same as other generated audio.

The same page also mounts under `/org` for organisation workspaces.

### In a version's comments [#in-a-versions-comments]

* **From your draft.** Type what you want in the comment box and click the
  sparkles button next to **Comment** (or next to **Reply** in a thread). Pick
  a model and generate. The draft is the prompt; the audio arrives as an AI
  reply in the thread.
* **From someone's comment.** Hover a comment and click its sparkles action.
  That comment's text is the prompt, and the reply lands under it, pinned to
  the same timestamp when the comment had one.

An AI reply shows an **AI · model** badge. Its audio plays inline like any
attachment, and **Add as stem** lays it onto the version's timeline.

### Finding AI-generated work later [#finding-ai-generated-work-later]

Every generated version and its track get the tags `ai` and `ai:<model>`, for
example `ai:lyria-3-pro` or `ai:elevenlabs-music`. Genre versions also get a
slug tag such as `house` or `drum-and-bass`. Group the tracks board by tag or
filter the list on `ai` to see everything a model touched.

### Who can generate [#who-can-generate]

Admins only, while the feature is in preview. For everyone else the controls
are not there at all: no Generate link on the create-track page, no Generate
version on a track, no sparkles action in version comments. The generate page
itself still explains the preview if someone opens the URL directly. Guests on
share links cannot generate.