
byted-music-generate
Generate music using Volcengine Imagination API. Supports vocal songs, instrumental BGM, and lyrics generation. Use when the user wants to create songs, background music, soundtracks, write lyrics, or mentions "music generation", "BGM", or "songwriting".
- Installs
- 100
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/bytedance/agentkit-samples --skill byted-music-generate- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads byted-music-generate automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Music Generate Skill
Generate music using the Volcengine Music Generation API. Supports vocal songs, instrumental BGM, and AI lyrics generation.
Trigger Conditions
- User wants to generate a song (with lyrics or a text prompt)
- User needs background music, instrumental tracks, or soundtracks
- User wants AI-generated lyrics
- User mentions "write a song", "music generation", "BGM", "background music", "lyrics"
Environment Variables
Two authentication methods are supported (gateway takes priority):
Option 1: API Gateway (recommended)
ARK_SKILL_API_BASE— API gateway base URLARK_SKILL_API_KEY— API gateway authentication key
Option 2: Direct AK/SK
VOLCENGINE_ACCESS_KEY— AccessKey IDVOLCENGINE_SECRET_KEY— AccessKey Secret- How to obtain: Volcengine Console → Account → Key Management → Create Key
Usage
- Determine user intent and select the mode (
song/bgm/lyrics). cdto the skill directory:skills/byted-music-generate.- Run the script. The script polls the API internally and may take several minutes to complete (typically 1–5 minutes for song/bgm).
- Monitor execution: If the runtime environment moves the command to background, you MUST periodically (every 10 seconds) read the terminal output to check whether the script has finished. The script prints polling progress to stderr and outputs a single JSON line to stdout upon completion.
- Once completed, return the
audio_urlorlyricsfrom the JSON output to the user.
Three Modes
1. song — Vocal Song
User provides lyrics (Lyrics) or a text prompt (Prompt) to generate a vocal song.
# With text prompt
python scripts/music_generate.py song --prompt "A song about summer at the beach" --genre Pop --gender Female
# With lyrics
python scripts/music_generate.py song --lyrics "[verse]\nMoonlight on the windowsill\nMemories flowing like water\n[chorus]\nYou are my moonlight" --genre Folk --mood "Sentimental/Melancholic/Lonely"
Note: --lyrics and --prompt are mutually exclusive; lyrics takes priority. If the user hasn't provided lyrics, you can first use the lyrics mode to generate them, then pass the result to the song mode.
2. bgm — Instrumental BGM
Describe the desired music in natural language. The v5.0 model does not require Genre/Mood parameters — just describe everything in the --text field.
python scripts/music_generate.py bgm --text "Relaxed coffee shop ambiance music with piano and guitar" --duration 60
# With song structure segments
python scripts/music_generate.py bgm --text "Epic game soundtrack" --segments '[{"Name":"intro","Duration":10},{"Name":"chorus","Duration":30}]'
3. lyrics — Lyrics Generation
Returns synchronously (no polling needed). Can be used standalone or as a pre-step for the song mode.
python scripts/music_generate.py lyrics --prompt "A song about graduation farewell" --genre Folk --mood "Sentimental/Melancholic/Lonely" --gender Female
Manual Task Query (timeout fallback)
python scripts/music_generate.py query --task-id "202601397834584670076931"
Mode Detection Logic
User Request
↓
Contains "instrumental/BGM/background music/soundtrack"?
├─ Yes → bgm mode
└─ No → Contains "lyrics/write lyrics" and does NOT request audio?
├─ Yes → lyrics mode
└─ No → song mode
├─ User provided lyrics → --lyrics
└─ User only described a theme → --prompt (or lyrics first, then song)
Script Parameters
song mode
| Parameter | Required | Description |
|---|---|---|
--lyrics | either | Lyrics with structure tags |
--prompt | either | Text prompt (Chinese, 5-700 chars) |
--model-version | no | v4.0 or v4.3 (default: v4.3) |
--genre | no | Music genre |
--mood | no | Music mood |
--gender | no | Female / Male |
--timbre | no | Vocal timbre |
--duration | no | Duration in seconds [30-240] |
--key | no | Musical key (v4.3 only) |
--kmode | no | Major / Minor (v4.3 only) |
--tempo | no | Tempo (v4.3 only) |
--instrument | no | Instruments, comma-separated (v4.3 only) |
--genre-extra | no | Secondary genres, comma-separated, max 2 (v4.3 only) |
--scene | no | Scene tags, comma-separated (v4.3 only) |
--lang | no | Language (v4.3 only) |
--vod-format | no | wav / mp3 (v4.3 only) |
--billing | no | prepaid / postpaid (default: postpaid) |
--timeout | no | Max wait seconds (default: 300) |
bgm mode
| Parameter | Required | Description |
|---|---|---|
--text | yes | Natural language description |
--duration | no | Duration in seconds [30-120] |
--segments | no | JSON array of song structure segments |
--version | no | Model version (default: v5.0) |
--enable-input-rewrite | no | Enable prompt rewriting |
--billing | no | prepaid / postpaid (default: postpaid) |
--timeout | no | Max wait seconds (default: 300) |
lyrics mode
| Parameter | Required | Description |
|---|---|---|
--prompt | yes | Lyrics prompt (Chinese only, <500 chars) |
--genre | no | Music genre |
--mood | no | Music mood |
--gender | no | Female / Male |
Script Return Info
The script outputs JSON with the following fields:
{
"status": "success | timeout | error",
"mode": "song | bgm | lyrics | query",
"task_id": "...",
"audio_url": "https://...",
"duration": 46.0,
"lyrics": "...",
"error": null
}
Return the audio_url to the user for download or playback. URLs are valid for approximately 1 year, but users should save the file promptly.
Error Handling
- IF the script raises
PermissionError: Authentication not configured ..., inform the user to configure either API gateway (ARK_SKILL_API_BASE+ARK_SKILL_API_KEY) or direct AK/SK (VOLCENGINE_ACCESS_KEY+VOLCENGINE_SECRET_KEY) environment variables. Write them to the workspace environment variable file, then retry. - IF
statusis"timeout", the task is still generating. Provide the user with thetask_idand the manual query command from the output. - IF copyright check fails (code 50000001), suggest the user enrich the description or increase the audio duration, then retry.
References
- Available parameter values (Genre/Mood/Timbre/Instrument etc.): references/parameters.md
- Volcengine Music Generation Docs
- API Signature Guide
FAQ
What does the byted-music-generate skill do?
Generate music using Volcengine Imagination API. Supports vocal songs, instrumental BGM, and lyrics generation. Use when the user wants to create songs, background music, soundtracks, write lyrics, or mentions "music generation", "BGM", or "songwriting".
How do I install byted-music-generate?
Run npx skills add https://github.com/bytedance/agentkit-samples --skill byted-music-generate in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/byted-music-generate/ (personal) or .claude/skills/byted-music-generate/ (project).
Which AI agents can use byted-music-generate?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is byted-music-generate safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains byted-music-generate?
It is published by bytedance in bytedance/agentkit-samples. It has 100 recorded installs.
More from bytedance/agentkit-samples
byted-web-search
bytedance/agentkit-samples
火山引擎联网搜索 API,返回网页/图片结果。联网搜索场景优先使用本 skill。触发词包括:查/搜/找、真的吗/靠谱吗/确认/核实、最近/今天/最新/近期、出处/来源/链接、有什么/有哪些/推荐、价格/政策/汇率/行情、对比/区别/哪个好、听说/据说/不太确定、热搜/热门/火、帮我看/了解一下、求证/辟谣、值不值得/该不该。任务依赖在线事实或时效性时优先使用。若回答可能依赖外部事实,优先调用本 skill 再作答。支持 API Key / AK/SK。
byted-seedream-image-generate
bytedance/agentkit-samples
Generate high-quality images from text prompts using Volcano Engine Seedream models. Supports multiple artistic styles and aspect ratios. Use this skill when users want to create images from text descriptions, generate artwork in various styles, create visual content for creative projects, or need AI-powered image generation capabilities.
byted-las-video-edit
bytedance/agentkit-samples
智能视频剪辑:用自然语言描述要保留的片段/人物/事件,自动从长视频抽取剪辑(可用参考图做人物/物体匹配)。当用户要按描述找片段、提取高光或做智能剪辑时触发。
byted-text-to-speech
bytedance/agentkit-samples
将文本合成为语音(TTS)。使用火山引擎豆包语音合成 API,支持流式合成、多种音色、语速/音调/音量调节、Markdown 过滤和 LaTeX 公式播报。当用户需要把文字转成语音、生成朗读音频、配音、旁白、播报,或提到「文字转语音」「TTS」「语音合成」「朗读」「配音」时使用本技能。
byted-seedance-video-generate
bytedance/agentkit-samples
Open the skill to read its SKILL.md instructions.
byted-las-pdf-parse-doubao
bytedance/agentkit-samples
Open the skill to read its SKILL.md instructions.
Popular media & creative skills
hyperframes
heygen-com/hyperframes
Read first to make, edit, animate or render any video with HyperFrames (HTML rendered to video), including launch films, explainers, music videos, charts, maps, vertical clips, title cards, captions and overlays. Holds the render contract, the work loop and what each kind of video needs.
media-use
heygen-com/hyperframes
Get or make any media for a HyperFrames video - music, sound effects, images, icons, logos, voiceover, avatar and generated video, transcripts, cutouts, colour grades and looks - with HeyGen or free local tools, and mix placed audio. Also for footage that looks dark, flat or dull, or should be stylized or hidden.
hyperframes-registry
heygen-com/hyperframes
About 450 ready-made HyperFrames blocks and components installed as editable source - transitions, overlays, titles, kinetic type, captions, charts, map overlays, 3D, camera moves. Use it before hand-building any named visual (CRT scanlines, glitch, film grain, a chart); also for hyperframes add and catalog.
hyperframes-creative
heygen-com/hyperframes
Non-animation creative direction for HyperFrames videos. Use for design spec (frame.md / design.md) handling, palettes, typography, narration, beat planning, audio-reactive visuals, composition patterns, and brand / style decisions. For atomic motion patterns and scene blueprints, use hyperframes-animation.
ai-video-generation
101-skills/superpowers
Generate AI videos with Google Veo, Seedance 2.0, HappyHorse, Wan, Grok and 40+ models via inference.sh CLI. Models: Veo 3.1, Veo 3, Seedance 2.0, HappyHorse 1.0, Wan 2.5, Grok Imagine Video, OmniHuman, Fabric, HunyuanVideo. Capabilities: text-to-video, image-to-video, reference-to-video, video editing, lipsync, avatar animation, video upscaling, foley sound. Use for: social media videos, marketing content, explainer videos, product demos, AI avatars. Triggers: video generation, ai video, text to video, image to video, veo, animate image, video from image, ai animation, video generator, generate video, t2v, i2v, ai video maker, create video with ai, runway alternative, pika alternative, sora alternative, kling alternative, seedance, happyhorse
ai-image-generation
101-skills/superpowers
Generate AI images with GPT-Image-2, FLUX, Gemini, Grok, Seedream, Reve and 50+ models via inference.sh CLI. Models: GPT-Image-2, FLUX Dev LoRA, FLUX.2 Klein LoRA, Gemini 3 Pro Image, Grok Imagine, Seedream 4.5, Reve, ImagineArt. Capabilities: text-to-image, image-to-image, inpainting, LoRA, image editing, upscaling, text rendering. Use for: AI art, product mockups, concept art, social media graphics, marketing visuals, illustrations. Triggers: flux, image generation, ai image, text to image, stable diffusion, generate image, ai art, midjourney alternative, dall-e alternative, text2img, t2i, image generator, ai picture, create image with ai, generative ai, ai illustration, grok image, gemini image, gpt image, openai image, chatgpt image