Musik-Schnellstart

Erfahren Sie, wie Sie mit der Music API Musik generieren.

In diesem Leitfaden erfahren Sie, wie Sie mit unserer Music API Musik generieren.

Verwenden Sie den ElevenLabs-Musik-Skill, um Musikstücke mit Ihrem KI-Coding-Assistenten zu generieren:

npx skills add elevenlabs/skills --skill music
Die Music API ist nur für zahlende Nutzer verfügbar.

Music API verwenden

1

API-Schlüssel erstellen

Erstellen Sie hier im Dashboard einen API-Schlüssel, den Sie für den sicheren Zugriff auf die API verwenden.

Speichern Sie den Schlüssel als verwaltetes Secret und übergeben Sie ihn je nach Präferenz an die SDKs entweder als Umgebungsvariable über eine .env-Datei oder direkt in der Konfiguration Ihrer App.

.env
ELEVENLABS_API_KEY=<your_api_key_here>
2

SDK installieren

Wir verwenden außerdem die Bibliothek dotenv, um unseren API-Schlüssel aus einer Umgebungsvariable zu laden.

pip install elevenlabs
pip install python-dotenv
3

API-Anfrage stellen

Erstellen Sie eine neue Datei mit dem Namen example.py oder example.mts, je nach verwendeter Sprache, und fügen Sie den folgenden Code hinzu:

# 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)

Führen Sie die Datei anschließend aus:

python example.py

Sie sollten die generierte Musik hören.

Kompositionspläne

Ein Kompositionsplan ist ein JSON-Objekt, das die Musik, die Sie generieren möchten, detaillierter beschreibt. Verwenden Sie Text-Prompts für schnelle Prototypen und Kompositionspläne, wenn Sie eine bestimmte Chunk-Struktur, präzises Lyrics-Timing oder komplexe Arrangements benötigen.

Kompositionsplan generieren

Sie können einen Kompositionsplan mithilfe der API aus einem Prompt generieren.

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)

Dadurch wird ein Kompositionsplan generiert, der etwa wie folgt aussieht:

{
"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"
}
]
}

Kompositionsplan verwenden

Sie können mit einem Kompositionsplan Musik generieren, indem Sie ihn an die Methode compose übergeben.

# 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)

Musik mit Details generieren

Bei jeder Musikgenerierung wird aus dem Prompt ein Kompositionsplan erstellt. Sie können diesen Plan über den Endpunkt für detaillierte Antworten abrufen.

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

Urheberrechtlich geschütztes Material

Der Versuch, Musik oder einen Kompositionsplan mit urheberrechtlich geschütztem Material zu generieren, führt zu einem Fehler. Dazu gehört, eine Band oder einen Musiker namentlich zu erwähnen oder urheberrechtlich geschützte Lyrics zu verwenden.

Prompts mit urheberrechtlich geschütztem Material

In diesen Fällen gibt die API einen bad_prompt-Fehler zurück, der einen Vorschlag für einen alternativen Prompt enthält.

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

Kompositionspläne mit urheberrechtlich geschütztem Material

Wenn beim Generieren eines Kompositionsplans Stile mit urheberrechtlich geschütztem Material verwendet werden, wird ein bad_composition_plan-Fehler zurückgegeben. Wie bei Musik-Prompts wird innerhalb des Fehlers ein vorgeschlagener Kompositionsplan composition_plan_suggestion zurückgegeben.

Bei einem Kompositionsplan oder Prompt mit schädlichem Material wird kein vorgeschlagener Prompt zurückgegeben.

Nächste Schritte