music by elevenlabs/skills
npx skills add https://github.com/elevenlabs/skills --skill music根据文本提示生成音乐 - 支持器乐曲目、带歌词的歌曲,以及通过作曲计划进行细粒度控制。
设置: 请参阅安装指南。对于 JavaScript,请仅使用
@elevenlabs/*包。
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)
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"));
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
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
)
# 检查/修改风格和段落
print(plan.positiveGlobalStyles) # 例如 ["orchestral", "epic", "cinematic"]
audio = client.music.compose(
composition_plan=plan,
music_length_ms=60000
)
bad_prompt 错误会包含一个带有替代措辞的 prompt_suggestionbad_composition_plan 错误会包含一个 composition_plan_suggestiontry:
audio = client.music.compose(prompt="...", music_length_ms=30000)
except Exception as e:
print(f"API error: {e}")
常见错误:401(密钥无效)、422(参数无效)、429(速率限制)。
每周安装量
1.3K
代码仓库
GitHub 星标数
142
首次出现
2026年1月29日
安全审计
安装于
gemini-cli920
codex920
opencode904
claude-code867
github-copilot810
kimi-cli758
Generate music from text prompts - supports instrumental tracks, songs with lyrics, and fine-grained control via composition plans.
Setup: See Installation Guide. For JavaScript, use
@elevenlabs/*packages only.
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)
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 -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
| Method | Description |
|---|---|
music.compose | Generate audio from a prompt or composition plan |
music.composition_plan.create | Generate a structured plan for fine-grained control |
music.compose_detailed | Generate audio + composition plan + metadata |
music.upload | Upload an audio file for later inpainting workflows and optionally extract its composition plan |
See API Reference for full parameter details.
music.upload is available to enterprise clients with access to the inpainting feature.
For granular control, generate a composition plan first, modify it, then compose:
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 errors include a prompt_suggestion with alternative phrasingbad_composition_plan errors include a composition_plan_suggestiontry:
audio = client.music.compose(prompt="...", music_length_ms=30000)
except Exception as e:
print(f"API error: {e}")
Common errors: 401 (invalid key), 422 (invalid params), 429 (rate limit).
Weekly Installs
1.3K
Repository
GitHub Stars
142
First Seen
Jan 29, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
gemini-cli920
codex920
opencode904
claude-code867
github-copilot810
kimi-cli758
99,500 周安装