Skip to main content

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

ParameterTypeRequiredDescription
typestringYesMust be "MUSIC_GENERATOR"
modelstringYesMust be "elevenlabs-music-v1"
promptObjectobjectYesMode-specific parameters (see below)

Common promptObject fields (all modes)

FieldTypeRequiredDescription
modestring (enum)YesGeneration mode discriminator. One of prompt, composition_plan, video
output_formatstring (enum)YesAudio output format. One of 21 formats (see table below). Default mp3_44100_128
sign_with_c2pabooleanNoSign output with C2PA content credentials. Default false

Prompt mode (mode: "prompt")

FieldTypeRequiredDescription
promptstringYesDescribe the song you want — mood, instruments, tempo, vibe...
music_length_msintegerYesTarget length in milliseconds. min 3000, max 600000 (3s – 10min)
force_instrumentalbooleanNoForce an instrumental track (no vocals). Default false

Composition Plan mode (mode: "composition_plan")

FieldTypeRequiredDescription
composition_planobjectYesFull song plan with global styles and ordered sections (see nested table)
respect_sections_durationsbooleanNoRespect the per-section duration_ms values exactly. Default false
seedintegerNoReproducibility seed. min 0, max 2147483647. Accepted but not currently forwarded in plan mode

composition_plan object

FieldTypeRequiredDescription
positive_global_stylesstring[]YesStyles and musical directions that should be present in the entire song. min 1 item. Use English for best results.
negative_global_stylesstring[]YesStyles and musical directions that should not be present in the entire song. min 1 item. Use English for best results.
sectionsobject[]YesOrdered song sections (see nested table). min 1 item

composition_plan.sections[] object

FieldTypeRequiredDescription
section_namestringYesName of the section (e.g. Verse 1, Chorus). 1–100 chars
positive_local_stylesstring[]YesStyles that should be present in this section
negative_local_stylesstring[]YesStyles that should not be present in this section
duration_msintegerYesSection duration in milliseconds. min 3000, max 120000
linesstring[]YesLyric lines for this section. Each line ≤ 200 chars

Video mode (mode: "video")

FieldTypeRequiredDescription
video_urlstringYesSource video asset key — S3 asset key (upload via the asset API first)
descriptionstringNoOptional natural-language description. ≤ 1000 chars
tagsstring[]NoOptional 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.

ValueContainerDescription
mp3_22050_32mp3MP3, 22.05 kHz, 32 kbps
mp3_24000_48mp3MP3, 24 kHz, 48 kbps
mp3_44100_32mp3MP3, 44.1 kHz, 32 kbps
mp3_44100_64mp3MP3, 44.1 kHz, 64 kbps
mp3_44100_96mp3MP3, 44.1 kHz, 96 kbps
mp3_44100_128mp3MP3, 44.1 kHz, 128 kbps
mp3_44100_192mp3MP3, 44.1 kHz, 192 kbps
pcm_8000wavPCM, 8 kHz (wrapped as .wav)
pcm_16000wavPCM, 16 kHz (wrapped as .wav)
pcm_22050wavPCM, 22.05 kHz (wrapped as .wav)
pcm_24000wavPCM, 24 kHz (wrapped as .wav)
pcm_32000wavPCM, 32 kHz (wrapped as .wav)
pcm_44100wavPCM, 44.1 kHz (wrapped as .wav)
pcm_48000wavPCM, 48 kHz (wrapped as .wav)
ulaw_8000wavμ-law, 8 kHz (wrapped as .wav)
alaw_8000wavA-law, 8 kHz (wrapped as .wav)
opus_48000_32opusOpus, 48 kHz, 32 kbps
opus_48000_64opusOpus, 48 kHz, 64 kbps
opus_48000_96opusOpus, 48 kHz, 96 kbps
opus_48000_128opusOpus, 48 kHz, 128 kbps
opus_48000_192opusOpus, 48 kHz, 192 kbps

Interactive API Testing

API Playground

https://api.1min.ai/api/features
popenergetic
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_ms must 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.