music

Par elevenlabs · skills

Générez de la musique via l'API ElevenLabs Music. À utiliser pour créer des pistes instrumentales, des chansons avec paroles, de la musique de fond, des jingles ou toute composition musicale générée par IA. Prend en charge la génération par prompt, les plans de composition pour un contrôle granulaire, ainsi que des sorties détaillées avec métadonnées.

npx skills add https://github.com/elevenlabs/skills --skill music

Génération musicale ElevenLabs

Générez de la musique à partir de descriptions textuelles - supports les pistes instrumentales, les chansons avec paroles et un contrôle granulaire via des plans de composition.

Configuration : Voir le Guide d'installation. Pour JavaScript, utilisez uniquement les packages @elevenlabs/*.

Démarrage rapide

Python

from elevenlabs import ElevenLabs

client = ElevenLabs()

audio = client.music.compose(
    prompt="A chill lo-fi hip hop beat with jazzy piano chords",
    music_length_ms=30000
)

with open("output.mp3", "wb") as f:
    for chunk in audio:
        f.write(chunk)

JavaScript

import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";
import { createWriteStream } from "fs";

const client = new ElevenLabsClient();
const audio = await client.music.compose({
  prompt: "A chill lo-fi hip hop beat with jazzy piano chords",
  musicLengthMs: 30000,
});
audio.pipe(createWriteStream("output.mp3"));

cURL

curl -X POST "https://api.elevenlabs.io/v1/music" \
  -H "xi-api-key: $ELEVENLABS_API_KEY" -H "Content-Type: application/json" \
  -d '{"prompt": "A chill lo-fi beat", "music_length_ms": 30000}' --output output.mp3

Méthodes

Méthode Description
music.compose Générer un audio à partir d'une description ou d'un plan de composition
music.composition_plan.create Générer un plan structuré pour un contrôle granulaire
music.compose_detailed Générer un audio + plan de composition + métadonnées
music.video_to_music Générer une musique de fond à partir d'un ou plusieurs fichiers vidéo uploadés
music.upload Uploader un fichier audio pour des workflows d'inpainting ultérieurs et optionnellement extraire son plan de composition

Voir la Référence API pour les détails complets des paramètres.

music.upload est disponible pour les clients enterprise ayant accès à la fonctionnalité d'inpainting.

Vidéo vers musique

Générez une musique de fond qui suit un ou plusieurs clips vidéo uploadés. L'API combine les vidéos dans l'ordre, accepte une description optionnelle en langage naturel et vous permet de diriger le style avec jusqu'à 10 tags tels que upbeat ou cinematic.

Python

from elevenlabs import ElevenLabs

client = ElevenLabs()

audio = client.music.video_to_music(
    videos=["trailer.mp4"],
    description="Build suspense, then resolve with a warm cinematic finish.",
    tags=["cinematic", "suspenseful", "uplifting"],
)

with open("video-score.mp3", "wb") as f:
    for chunk in audio:
        f.write(chunk)

cURL

curl -X POST "https://api.elevenlabs.io/v1/music/video-to-music" \
  -H "xi-api-key: $ELEVENLABS_API_KEY" \
  -F "videos=@trailer.mp4" \
  -F "description=Build suspense, then resolve with a warm cinematic finish." \
  -F "tags=cinematic" \
  -F "tags=suspenseful" \
  -F "tags=uplifting" \
  --output video-score.mp3

Contraintes du schéma API actuel :

  • Upload 1 à 10 fichiers vidéo par requête
  • Gardez la taille d'upload combinée totale à 200 MB ou moins
  • Gardez la durée vidéo combinée totale à 600 secondes ou moins
  • Utilisez description pour les directives musicales de haut niveau et tags pour des indices de style concis

Plans de composition

Pour un contrôle granulaire, générez d'abord un plan de composition, modifiez-le, puis composez :

plan = client.music.composition_plan.create(
    prompt="An epic orchestral piece building to a climax",
    music_length_ms=60000
)

# Inspect/modify styles and sections
print(plan.positiveGlobalStyles)  # e.g. ["orchestral", "epic", "cinematic"]

audio = client.music.compose(
    composition_plan=plan,
    music_length_ms=60000
)

Restrictions de contenu

  • Impossible de référencer des artistes spécifiques, des groupes ou des paroles protégeables par droits d'auteur
  • Les erreurs bad_prompt incluent une prompt_suggestion avec une formulation alternative
  • Les erreurs bad_composition_plan incluent une composition_plan_suggestion

Gestion des erreurs

try:
    audio = client.music.compose(prompt="...", music_length_ms=30000)
except Exception as e:
    print(f"API error: {e}")

Erreurs courantes : 401 (clé invalide), 422 (paramètres invalides), 429 (limite de débit).

Références

Skills similaires