ElevenLabs Music Generator
Generate studio-grade AI music with elevenlabs-music-v1. One model exposes three generation
modes selected by promptObject.mode:
- Prompt — describe the song in natural language and set a target length.
- Composition Plan — control individual sections, lyrics placement, and per-section styles.
- Video — generate background music synced to a source video.
Supported Models
elevenlabs-music-v1— ElevenLabs Music V1
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
type | string | Yes | Must be "MUSIC_GENERATOR" |
model | string | Yes | Must be "elevenlabs-music-v1" |
promptObject | object | Yes | Mode-specific parameters (see below) |
Common promptObject fields (all modes)
| Field | Type | Required | Description |
|---|---|---|---|
mode | string (enum) | Yes | Generation mode discriminator. One of prompt, composition_plan, video |
output_format | string (enum) | Yes | Audio output format. One of 21 formats (see table below). Default mp3_44100_128 |
sign_with_c2pa | boolean | No | Sign output with C2PA content credentials. Default false |
Prompt mode (mode: "prompt")
| Field | Type | Required | Description |
|---|---|---|---|
prompt | string | Yes | Describe the song you want — mood, instruments, tempo, vibe... |
music_length_ms | integer | Yes | Target length in milliseconds. min 3000, max 600000 (3s – 10min) |
force_instrumental | boolean | No | Force an instrumental track (no vocals). Default false |
Composition Plan mode (mode: "composition_plan")
| Field | Type | Required | Description |
|---|---|---|---|
composition_plan | object | Yes | Full song plan with global styles and ordered sections (see nested table) |
respect_sections_durations | boolean | No | Respect the per-section duration_ms values exactly. Default false |
seed | integer | No | Reproducibility seed. min 0, max 2147483647. Accepted but not currently forwarded in plan mode |
composition_plan object
| Field | Type | Required | Description |
|---|---|---|---|
positive_global_styles | string[] | Yes | Styles and musical directions that should be present in the entire song. min 1 item. Use English for best results. |
negative_global_styles | string[] | Yes | Styles and musical directions that should not be present in the entire song. min 1 item. Use English for best results. |
sections | object[] | Yes | Ordered song sections (see nested table). min 1 item |
composition_plan.sections[] object
| Field | Type | Required | Description |
|---|---|---|---|
section_name | string | Yes | Name of the section (e.g. Verse 1, Chorus). 1–100 chars |
positive_local_styles | string[] | Yes | Styles that should be present in this section |
negative_local_styles | string[] | Yes | Styles that should not be present in this section |
duration_ms | integer | Yes | Section duration in milliseconds. min 3000, max 120000 |
lines | string[] | Yes | Lyric lines for this section. Each line ≤ 200 chars |
Video mode (mode: "video")
| Field | Type | Required | Description |
|---|---|---|---|
video_url | string | Yes | Source video asset key — S3 asset key (upload via the asset API first) |
description | string | No | Optional natural-language description. ≤ 1000 chars |
tags | string[] | No | Optional style tags. ≤ 10 items |
Source video file limits (enforced at upload time): ≤ 200 MB, ≤ 600 seconds.
Output Format Options
All 21 values accepted by the API. Default is mp3_44100_128.
| Value | Container | Description |
|---|---|---|
mp3_22050_32 | mp3 | MP3, 22.05 kHz, 32 kbps |
mp3_24000_48 | mp3 | MP3, 24 kHz, 48 kbps |
mp3_44100_32 | mp3 | MP3, 44.1 kHz, 32 kbps |
mp3_44100_64 | mp3 | MP3, 44.1 kHz, 64 kbps |
mp3_44100_96 | mp3 | MP3, 44.1 kHz, 96 kbps |
mp3_44100_128 | mp3 | MP3, 44.1 kHz, 128 kbps |
mp3_44100_192 | mp3 | MP3, 44.1 kHz, 192 kbps |
pcm_8000 | wav | PCM, 8 kHz (wrapped as .wav) |
pcm_16000 | wav | PCM, 16 kHz (wrapped as .wav) |
pcm_22050 | wav | PCM, 22.05 kHz (wrapped as .wav) |
pcm_24000 | wav | PCM, 24 kHz (wrapped as .wav) |
pcm_32000 | wav | PCM, 32 kHz (wrapped as .wav) |
pcm_44100 | wav | PCM, 44.1 kHz (wrapped as .wav) |
pcm_48000 | wav | PCM, 48 kHz (wrapped as .wav) |
ulaw_8000 | wav | μ-law, 8 kHz (wrapped as .wav) |
alaw_8000 | wav | A-law, 8 kHz (wrapped as .wav) |
opus_48000_32 | opus | Opus, 48 kHz, 32 kbps |
opus_48000_64 | opus | Opus, 48 kHz, 64 kbps |
opus_48000_96 | opus | Opus, 48 kHz, 96 kbps |
opus_48000_128 | opus | Opus, 48 kHz, 128 kbps |
opus_48000_192 | opus | Opus, 48 kHz, 192 kbps |
Interactive API Testing
API Playground
https://api.1min.ai/api/featurespopenergetic
slow
Section 1
ambient
heavy
Section 2
rock
quiet
Generated cURL Command:
curl -X POST "https://api.1min.ai/api/features" \
-H "API-KEY: <your-api-key>" \
-H "Content-Type: application/json" \
-d '{
"type": "MUSIC_GENERATOR",
"model": "elevenlabs-music-v1",
"conversationId": "MUSIC_GENERATOR",
"promptObject": {
"mode": "composition_plan",
"output_format": "mp3_44100_128",
"sign_with_c2pa": false,
"composition_plan": {
"positive_global_styles": [
"pop",
"energetic"
],
"negative_global_styles": [
"slow"
],
"sections": [
{
"section_name": "Intro",
"positive_local_styles": [
"ambient"
],
"negative_local_styles": [
"heavy"
],
"duration_ms": 10000,
"lines": [
""
]
},
{
"section_name": "Chorus",
"positive_local_styles": [
"rock"
],
"negative_local_styles": [
"quiet"
],
"duration_ms": 20000,
"lines": [
"We rise again"
]
}
]
},
"respect_sections_durations": false
}
}'
Response Format
Successful requests return an aiRecord echoing the submitted promptObject and a resultObject
containing the uploaded audio file path. For Video mode, temporaryUrlList also includes a
playback URL for the source video.
{
"aiRecord": {
"uuid": "9f4a2b1e-6c3d-4f5e-9a8b-2d1c0e3f4a5b",
"userId": "c937fbcc-fa8f-4565-a440-c4d87f56fcb2",
"teamId": "a4e176b2-dabb-451e-9c58-62b451fa9630",
"model": "elevenlabs-music-v1",
"type": "MUSIC_GENERATOR",
"status": "SUCCESS",
"createdAt": "2026-05-27T10:52:19.827Z",
"aiRecordDetail": {
"promptObject": {
"mode": "composition_plan",
"output_format": "mp3_44100_128",
"sign_with_c2pa": false,
"composition_plan": {
"positive_global_styles": ["pop", "energetic"],
"negative_global_styles": ["slow"],
"sections": [
{
"section_name": "Intro",
"positive_local_styles": ["ambient"],
"negative_local_styles": ["heavy"],
"duration_ms": 10000,
"lines": [""]
},
{
"section_name": "Chorus",
"positive_local_styles": ["rock"],
"negative_local_styles": ["quiet"],
"duration_ms": 20000,
"lines": ["We rise again"]
}
]
},
"respect_sections_durations": false
},
"resultObject": [
"development/audios/2026_05_27_17_52_25_414_538984.mp3"
],
},
"temporaryUrl": ""
}
}
Example Requests
Prompt mode
{
"type": "MUSIC_GENERATOR",
"model": "elevenlabs-music-v1",
"promptObject": {
"mode": "prompt",
"output_format": "mp3_44100_128",
"prompt": "Upbeat synthwave with a driving bassline and bright arpeggios",
"music_length_ms": 30000,
"force_instrumental": false,
"seed": 42,
"sign_with_c2pa": false
}
}
Composition Plan mode
{
"type": "MUSIC_GENERATOR",
"model": "elevenlabs-music-v1",
"promptObject": {
"mode": "composition_plan",
"output_format": "mp3_44100_128",
"sign_with_c2pa": false,
"composition_plan": {
"positive_global_styles": ["pokemon"],
"negative_global_styles": ["superman"],
"sections": [
{
"section_name": "Picachu",
"positive_local_styles": ["rock"],
"negative_local_styles": ["roll"],
"duration_ms": 120000,
"lines": ["helo helo"]
},
{
"section_name": "good bye",
"positive_local_styles": ["slow"],
"negative_local_styles": ["query"],
"duration_ms": 10000,
"lines": ["one two three 100"]
}
]
},
"respect_sections_durations": false,
"seed": 1
}
}
Each section's
duration_msmust be between 3000 and 120000. Total audio length is the sum of all section durations.
Video mode
Upload the source video to the asset API first; pass the returned S3 key as video_url.
{
"type": "MUSIC_GENERATOR",
"model": "elevenlabs-music-v1",
"promptObject": {
"mode": "video",
"output_format": "mp3_44100_128",
"video_url": "development/videos/2026_05_27_12_31_05_a1b2c3.mp4",
"description": "Cinematic, suspenseful orchestral score that builds toward the final shot",
"tags": ["cinematic", "orchestral", "suspense"],
"sign_with_c2pa": false
}
}
Use Cases
- 🎬 Film & video scoring — Generate custom soundtracks synced to your footage.
- 📢 Commercial content — Create music for ads, social media, podcasts, and marketing campaigns.
- 🎵 Music production — Compose original songs with vocals, instrumentals, or a cappella tracks.
- 🎮 Game audio — Produce dynamic background music for games and interactive experiences.
- 📱 App soundscapes — Generate ambient and branded audio for applications.
- 🎙️ Podcast branding — Create unique intros, outros, and transition music.