music について
musicは、テキストプロンプトや構造化された作曲プランからElevenLabs APIで音楽を生成するスキルです。インストゥルメンタルや歌詞付き楽曲に対応し、作曲、プラン作成、音声とメタデータの取得ができます。
主な機能
- 01テキストプロンプトから音楽を生成
- 02作曲プランの作成と編集
- 03音声と詳細なメタデータの生成
- 04対応するインペインティング用の音声アップロード
活用シーン
- 01説明からインストゥルメンタルを制作
- 02長めのオーケストラ曲を計画・調整
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ calesthio/ openmontage --skill musicインストール後、Claude Code で/musicを入力して読み込まれたか確認します。
同梱ファイルreferences/api_reference.mdreferences/installation.md
詳細
ElevenLabs Music Generation
テキストプロンプトから音楽を生成します。インストゥルメンタルトラック、歌詞付きの楽曲、コンポジションプランによる細かな制御に対応しています。
セットアップ: インストールガイドをご覧ください。JavaScript では
@elevenlabs/*パッケージのみを使用してください。
クイックスタート
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
メソッド
| メソッド | 説明 |
|---|---|
music.compose | プロンプトまたはコンポジションプランから音声を生成します |
music.composition_plan.create | 細かな制御のための構造化されたプランを生成します |
music.compose_detailed | 音声、コンポジションプラン、メタデータを生成します |
music.upload | 後続のインペインティングワークフロー用に音声ファイルをアップロードし、必要に応じてコンポジションプランを抽出します |
パラメーターの詳細はAPI リファレンスをご覧ください。
music.upload は、インペインティング機能を利用できるエンタープライズクライアント向けに提供されています。
コンポジションプラン
細かな制御を行うには、まずコンポジションプランを生成して変更し、その後に作曲します。
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
)
コンテンツの制限
- 特定のアーティスト、バンド、または著作権で保護された歌詞には言及できません
bad_promptエラーには、代替表現を示すprompt_suggestionが含まれますbad_composition_planエラーには、composition_plan_suggestionが含まれます
エラー処理
try:
audio = client.music.compose(prompt="...", music_length_ms=30000)
except Exception as e:
print(f"API error: {e}")
よくあるエラー:401(無効なキー)、422(無効なパラメーター)、429(レート制限)。
参考資料
コメント
Markdown 対応