Skip to navigation

Snelstartgids voor Music

Leer hoe je muziek genereert met de Music API.

In deze gids lees je hoe je muziek genereert met onze Music API.

Gebruik de ElevenLabs-muziekskill om muziektracks te genereren vanuit je AI-codeerassistent:

npx skills add elevenlabs/skills --skill music
De Music API is alleen beschikbaar voor betalende gebruikers.

De Music API gebruiken

1

Een API-sleutel maken

Maak hier een API-sleutel in het dashboard, die je gebruikt voor veilige toegang tot de API.

Sla de sleutel op als beheerd geheim en geef deze aan de SDK’s door als omgevingsvariabele via een .env-bestand, of rechtstreeks in de configuratie van je app, afhankelijk van je voorkeur.

.env
ELEVENLABS_API_KEY=<your_api_key_here>
2

De SDK installeren

We gebruiken ook de dotenv-bibliotheek om onze API-sleutel uit een omgevingsvariabele te laden.

pip install elevenlabs
pip install python-dotenv
3

De API-request uitvoeren

Maak een nieuw bestand met de naam example.py of example.mts, afhankelijk van de taal die je kiest, en voeg de volgende code toe:

# example.py
from elevenlabs.client import ElevenLabs
from elevenlabs.play import play
import os
from dotenv import load_dotenv
load_dotenv()
elevenlabs = ElevenLabs(
api_key=os.getenv("ELEVENLABS_API_KEY"),
)
track = elevenlabs.music.compose(
prompt="Create an intense, fast-paced electronic track for a high-adrenaline video game scene. Use driving synth arpeggios, punchy drums, distorted bass, glitch effects, and aggressive rhythmic textures. The tempo should be fast, 130–150 bpm, with rising tension, quick transitions, and dynamic energy bursts.",
music_length_ms=10000,
model_id="music_v2_5",
)
# Save the track to a file
with open("path/to/music.mp3", "wb") as f:
for chunk in track:
f.write(chunk)

Voer het vervolgens uit:

python example.py

Je zou de gegenereerde muziek moeten horen afspelen.

Compositieplannen

Een compositieplan is een JSON-object dat de muziek die je wilt genereren gedetailleerder beschrijft. Gebruik tekstprompts om snel prototypes te maken en compositieplannen wanneer je een specifieke chunkstructuur, nauwkeurige timing van songteksten of complexe arrangementen nodig hebt.

Een compositieplan genereren

Je kunt met de API een compositieplan uit een prompt genereren.

from elevenlabs.client import ElevenLabs
from elevenlabs.play import play
import os
from dotenv import load_dotenv
load_dotenv()
elevenlabs = ElevenLabs(
api_key=os.getenv("ELEVENLABS_API_KEY"),
)
composition_plan = elevenlabs.music.composition_plan.create(
prompt="Create an intense, fast-paced electronic track for a high-adrenaline video game scene. Use driving synth arpeggios, punchy drums, distorted bass, glitch effects, and aggressive rhythmic textures. The tempo should be fast, 130–150 bpm, with rising tension, quick transitions, and dynamic energy bursts.",
music_length_ms=10000,
model_id="music_v2_5",
)
print(composition_plan)

Hiermee wordt een compositieplan gegenereerd dat vergelijkbaar is met het volgende:

{
"chunks": [
{
"text": "[Intro]",
"durationMs": 3000,
"positiveStyles": [
"electronic",
"fast-paced",
"rising synth arpeggio",
"glitch fx",
"filtered noise sweep",
"soft punchy kick building tension",
"high adrenaline"
],
"negativeStyles": ["soft pads", "melodic vocals", "ambient textures"],
"contextAdherence": "high"
},
{
"text": "[Peak Drop]",
"durationMs": 4000,
"positiveStyles": [
"full punchy drums",
"distorted bass stab",
"aggressive rhythmic hits",
"rapid arpeggio sequences"
],
"negativeStyles": ["smooth transitions", "clean bass", "slow buildup"],
"contextAdherence": "high"
},
{
"text": "[Final Burst]",
"durationMs": 3000,
"positiveStyles": [
"glitch stutter",
"energy burst vox chopped sample",
"quick transitions",
"snare rolls"
],
"negativeStyles": ["long reverb tails", "fadeout", "gentle melodies"],
"contextAdherence": "high"
}
]
}

Een compositieplan gebruiken

Je kunt een compositieplan gebruiken om muziek te genereren door het door te geven aan de methode compose.

# You can pass in composition_plan or prompt, but not both.
composition = elevenlabs.music.compose(
composition_plan=composition_plan,
model_id="music_v2_5",
)
play(composition)

Muziek met details genereren

Voor elke muziekgeneratie wordt op basis van de prompt een compositieplan gemaakt. Je kunt ervoor kiezen dit plan op te halen via het endpoint voor gedetailleerde responses.

track_details = elevenlabs.music.compose_detailed(
prompt="Create an intense, fast-paced electronic track for a high-adrenaline video game scene. Use driving synth arpeggios, punchy drums, distorted bass, glitch effects, and aggressive rhythmic textures. The tempo should be fast, 130–150 bpm, with rising tension, quick transitions, and dynamic energy bursts.",
music_length_ms=10000,
model_id="music_v2_5",
)
print(track_details.json) # json contains composition_plan and song_metadata. The composition plan will include lyrics (if applicable)
print(track_details.filename)
# track_details.audio contains the audio bytes

Auteursrechtelijk beschermd materiaal

Een poging om muziek of een compositieplan te genereren dat auteursrechtelijk beschermd materiaal bevat, leidt tot een fout. Dit geldt ook voor het noemen van een band of muzikant bij naam of het gebruiken van auteursrechtelijk beschermde songteksten.

Prompts met auteursrechtelijk beschermd materiaal

In deze gevallen retourneert de API een bad_prompt-fout met een suggestie voor een prompt die je in plaats daarvan kunt gebruiken.

try:
# This will result in a bad_prompt error
track = elevenlabs.music.compose(
prompt="A song that sounds like 'Bohemian Rhapsody'",
music_length_ms=10000,
model_id="music_v2_5",
)
except Exception as e:
if e.body['detail']['status'] == 'bad_prompt':
prompt_suggestion = e.body['detail']['data']['prompt_suggestion']
print(prompt_suggestion) # Prints: An epic rock ballad with dramatic tempo changes, operatic harmonies, and a narrative structure that blends melancholy with bursts of theatrical intensity.
# Use the prompt suggestion to generate the track instead

Compositieplannen met auteursrechtelijk beschermd materiaal

Als bij het genereren van een compositieplan stijlen met auteursrechtelijk beschermd materiaal worden gebruikt, wordt een bad_composition_plan-fout geretourneerd. Net als bij muziekprompts wordt binnen de fout een voorgesteld compositieplan composition_plan_suggestion geretourneerd.

Bij een compositieplan of prompt met schadelijk materiaal wordt geen voorgestelde prompt geretourneerd.

Volgende stappen