GET

/v1/schemas/elevenlabs/audio/v1/music/upload?kind=output

kind outputactivity audiohash 8bd4f006…extracted Nov 5, 2026version currentsource upstream spec ↗
fieldrecorded source
schemaSource linked above.

upstream-spec

Source trace
1fbf939a1e97e541ce9b5f19ec2b8c81cd5610fb4b8426c6bb70fc579f32679f
{
  "fetchedAt": 1793856031,
  "extractorVersion": "1",
  "verifiedAt": null
}

Response body

4 properties · 1 required · 9 $defs
propertytypedescriptionconstraints
song_id*stringUnique identifier for the uploaded song
composition_planMusicPrompt | CompositionPlanThe composition plan extracted from the uploaded song. Only present if `extract_composition_plan` was provided in the request body.nullable
words_timestampsWordTimestamp[]Word-level timestamps transcribed from the uploaded song. Only present if `with_timestamps` was True in the request bodynullable
waveform_visualinteger[]A low-resolution waveform of the uploaded song, for showing a preview of it. Holds 4 values per second of audio, from -1000 to 1000. Stereo is mixed down to a single channel. Only present if `with_waveform_visual` was True in the request body.nullable

Types

9 $defs

AudioRefChunkobject

song_id*stringThe ID of the song to source the chunk from. You can find the song ID in the response headers when you generate a song.length ≥ 1 · length ≤ 100
range*TimeRangeThe time range to extract from the song.

CompositionPlanobject

Composition plan for the `music_v2` and `music_v2_5` models. Using this field with any other model will result in an error.

chunks*GenerationChunk-Input | AudioRefChunk[]The chunks that make up the generation.items ≤ 30

ConditionStrengthenum

low | medium | high | xhigh

GenerationChunk-Inputobject

text*stringThe text config to be generated for this chunk. Can contain an optional section name in square brackets at the beginning, e.g. [Verse 1], lyrics lines, and inline directions in curly braces, e.g. {scratching}. Section names must be between 1 and 100 characters…length ≤ 6132
duration_ms*integerThe duration of the chunk in milliseconds. Must be between 3000ms and 120000ms.3000 ≤ n ≤ 120000
positive_styles*string[]The styles and musical directions that should be present in this chunk. Use English language for best results. The styles for the first chunk are the most important as they set the overall tone and genre. Styles for subsequent chunks can be used to add nuance,…items ≤ 50
negative_stylesstring[]The styles and musical directions that should not be present in this chunk. Use English language for best results. Leaving empty is a good default, only use this field if you want to explicitly avoid a particular style or direction.items ≤ 50
context_adherenceenumHow much the model adheres to the context of its surrounding chunks. Low adherence means the model can deviate from the context and be more creative. High adherence means the model will be more consistent with the context.low | medium | high · default: "high"
conditioning_refAudioRefChunkThe audio reference to condition the generation on. The first chunk is the most important as it will influence the generation of all subsequent chunks. Thus, if you want to apply conditioning to the entire song, start conditioning from the first chunk.nullable
condition_strengthenumHow strongly the model adheres to the conditioning reference. Low strength means the model will be more creative and deviate from the reference. High strength means the model will be more consistent with the reference.low | medium | high | xhigh · nullable

MusicPromptobject

Composition plan for the `music_v1` model. Using this field with any other model will result in an error.

positive_global_styles*string[]The styles and musical directions that should be present in the entire song. Use English language for best result.items ≤ 50
negative_global_styles*string[]The styles and musical directions that should not be present in the entire song. Use English language for best result.items ≤ 50
sections*SongSection[]The sections of the song.items ≤ 30

SectionSourceobject

song_id*stringThe ID of the song to source the section from. You can find the song ID in the response headers when you generate a song.length ≥ 1 · length ≤ 100
range*TimeRangeThe range to extract from the source song.
negative_rangesTimeRange[]The ranges to exclude from the 'range'.items ≤ 10

SongSectionobject

section_name*stringThe name of the section. Must be between 1 and 100 characters.length ≥ 1 · length ≤ 100
positive_local_styles*string[]The styles and musical directions that should be present in this section. Use English language for best result.items ≤ 50
negative_local_styles*string[]The styles and musical directions that should not be present in this section. Use English language for best result.items ≤ 50
duration_ms*integerThe duration of the section in milliseconds. Must be between 3000ms and 120000ms.3000 ≤ n ≤ 120000
lines*string[]The lyrics of the section. Max 30 lines per section and max 200 characters per line.items ≤ 30
source_fromSectionSourceOptional source to extract the section from. Used for inpainting.nullable

TimeRangeobject

start_ms*integer
end_ms*integer

WordTimestampobject

word*string
start_ms*integer
end_ms*integer

Validate a payload

before you spend tokens
shell
$ curl -X POST https://modelschemas.com/v1/validate \
    -d '{"provider":"elevenlabs","endpointId":"v1/music/upload","payload":{…}}'
→ {"valid": false, "errors": [{"path": "#", "keyword": "required", …}]}