Hoppa till navigering

Snabbstart för musik

Lär dig hur du genererar musik med Music API.

Den här guiden visar hur du genererar musik med vårt Music API.

Använd ElevenLabs musikskill för att generera musikspår från din AI-kodningsassistent:

npx skills add elevenlabs/skills --skill music
Music API är endast tillgängligt för betalande användare.

Använda Music API

1

Skapa en API-nyckel

Skapa en API-nyckel i dashboarden här, som du använder för att säkert få åtkomst till API:t.

Spara nyckeln som en hanterad hemlighet och skicka den till SDK:erna antingen som en miljövariabel via en .env-fil eller direkt i appens konfiguration, beroende på vad du föredrar.

.env
ELEVENLABS_API_KEY=<your_api_key_here>
2

Installera SDK:t

Vi använder också biblioteket dotenv för att läsa in vår API-nyckel från en miljövariabel.

pip install elevenlabs
pip install python-dotenv
3

Gör API-anropet

Skapa en ny fil med namnet example.py eller example.mts, beroende på vilket språk du väljer, och lägg till följande kod:

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

Kör sedan den:

python example.py

Du bör höra den genererade musiken spelas upp.

Kompositionsplaner

En kompositionsplan är ett JSON-objekt som beskriver musiken du vill generera mer detaljerat. Använd textprompter för snabb prototypframtagning och kompositionsplaner när du behöver en specifik chunkstruktur, exakt tidssättning av låttext eller komplexa arrangemang.

Generera en kompositionsplan

En kompositionsplan kan genereras från en prompt med API:t.

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)

Ovanstående genererar en kompositionsplan som liknar följande:

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

Använda en kompositionsplan

En kompositionsplan kan användas för att generera musik genom att skicka den till metoden 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)

Generera musik med detaljer

För varje musikgenerering skapas en kompositionsplan från prompten. Du kan välja att hämta den här planen via slutpunkten för detaljerade svar.

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

Upphovsrättsskyddat material

Försök att generera musik eller en kompositionsplan som innehåller upphovsrättsskyddat material resulterar i ett fel. Det gäller även om du nämner ett band eller en musiker vid namn eller använder upphovsrättsskyddade låttexter.

Prompter med upphovsrättsskyddat material

I dessa fall returnerar API:t ett bad_prompt-fel som innehåller ett förslag på vilken prompt du kan använda i stället.

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

Kompositionsplaner med upphovsrättsskyddat material

Om stilar som använder upphovsrättsskyddat material används när en kompositionsplan genereras returneras ett bad_composition_plan-fel. Precis som för musikprompter returneras en föreslagen kompositionsplan, composition_plan_suggestion, i felet.

Om en kompositionsplan eller prompt innehåller skadligt material returneras inget förslag på prompt.

Nästa steg