
skywork-music-maker
Create professional music with Mureka AI API — songs, instrumentals, and lyrics from natural language descriptions in any language. Use when users want to generate a song, create a beat or instrumental, write lyrics, clone vocals, upload reference tracks, or do anything related to AI music creation, even casual requests like "make me a chill lo-fi beat".
- Installs
- 341
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/skyworkai/skywork-skills --skill skywork-music-maker- 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 skywork-music-maker 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.
Skywork Music Maker (Mureka API)
Generate professional-quality music using the Mureka API at https://api.mureka.ai. This skill covers the complete music production workflow: lyrics writing → song/instrumental generation.
First-Time Setup
Before running any API command, check if MUREKA_API_KEY is set. If not, guide the user to get an API key at https://platform.mureka.ai/ (register → API Keys → generate key → export MUREKA_API_KEY="..."), then STOP — do not attempt any API calls until the key is configured.
Smart Prompt Conversion (CRITICAL WORKFLOW)
Default behavior: When the user doesn't specify song type, always generate a song with lyrics (use mureka.py song). Only use mureka.py instrumental when the user explicitly asks for instrumental, BGM, background music, or "no vocals".
Output defaults: Use mp3 format unless the user requests otherwise. The --output flag specifies a directory — the script creates it and saves all results inside (audio files + lyrics.txt for songs). If the user doesn't specify a location, choose a user-friendly path with a descriptive folder name based on the song theme (e.g., summer_pop_song/).
When users provide music descriptions in natural language (in any language), you MUST convert them to structured Mureka API prompts using this workflow:
Conversion Process
User Input Examples:
- "upbeat pop song, female vocals, guitar, perfect for summer"
- "sad piano ballad about lost love"
- "epic orchestral music for a fantasy game"
- "traditional Chinese music with bamboo flute and zither, misty atmosphere"
Your Task:
- Extract structured parameters using the extraction rules below
- Validate the prompt meets quality standards (see Quality Checklist)
- Present to user for confirmation before generating
- Run the generation command with the structured prompt
Parameter Extraction Rules
When users provide natural language music descriptions, directly extract and structure the following parameters:
Required Parameters:
- genres: music genres including fusion styles (e.g., Pop, Rock, Jazz, Pop Rap Fusion, Alternative Rock, Guofeng)
- moods: emotional tones (e.g., Happy, Melancholic, Energetic, Nostalgic, Bright)
- instruments: specific instruments (e.g., Piano, Guitar, Drums, Erhu, Guzheng, Synth Pads, Dizi)
- rhythms: rhythm characteristics (e.g., 4/4, Slow, Syncopated, Driving, Flowing)
- vocals: vocal attributes (e.g., Female, Husky, Whispered, Male, Soft, Clear) or "instrumental only"
- key: musical key if specified (e.g., C Major, A Minor, C# Major)
- bpm: beats per minute (e.g., 120) or tempo descriptor (e.g., "slow groove", "uptempo")
- description: concise summary (under 50 words) capturing mood progression, melody, harmony, timbre, texture, dynamics
Extraction Instructions:
- Translate non-English terms: Convert ALL non-English musical terms to English while preserving cultural and musical meaning
- Preserve specificity: Keep detailed information including specific styles, subgenres, and cultural context (e.g., "Chinese traditional guofeng" not just "Chinese music")
- Design dynamic arc: Include mood progression where appropriate (e.g., "sparse opening → building tension → cathartic chorus")
- Infer intelligently: Make reasonable assumptions based on genre conventions when parameters are not explicitly stated
- English output: Final prompt string MUST be entirely in English
Generate Structured Prompt: Combine all extracted parameters into a comprehensive, natural-flowing description that captures the essence of the user's vision.
Quality Checklist (Validate BEFORE Generation)
Before running the generation command, verify the prompt meets these criteria:
MUST HAVE:
- Specific genre (NOT "pop song" but "synth-pop, 2020s")
- BPM or tempo descriptor (e.g., "120 BPM" or "slow groove")
- 3-5 instruments explicitly named
- Mood/emotion descriptors (2-3 words)
- Vocal style (or "instrumental only")
- Structure tags in lyrics: [Verse], [Chorus], [Bridge], [Outro]
WATCH OUT FOR:
- Vague terms: "nice", "good", "beautiful" → replace with specific descriptors
- Contradictions: "slow" + "energetic", "sad" + "uplifting" → pick one direction
- Too short: <50 chars → add more detail
- Long lyric lines: >10 words per line → split into shorter lines
- No dynamic arc: add mood progression (e.g., "sparse → building → full")
AVOID:
- Command verbs: "create a song" → use descriptions "upbeat pop song"
- Famous artist names: "sounds like Taylor Swift" → describe qualities instead
- Unrealistic combos: melody_id cannot combine with other control options
After validation, present the generated prompt to the user for confirmation before proceeding.
Core Workflow: Production Pipeline
1. Conceptualize → User describes in natural language → YOU convert to structured prompt
2. Validate → Check prompt quality against Quality Checklist (see above)
3. Write Lyrics → Use lyrics/generate or write manually
4. Upload References → Optional: reference track, vocal sample, melody
5. Generate → Submit song/instrumental task (async) with validated prompt
6. Evaluate → Listen to all N choices, pick best
7. Iterate → Refine prompt based on what you heard
Critical Steps:
- Step 1 is mandatory when user provides natural language input (especially non-English)
- Step 2 validation prevents 80% of common generation failures
- Step 3: Read
references/prompt_guide.mdfor prompt crafting examples, lyrics structure rules (line length, syllable count, rhyme patterns, hook writing), and iteration best practices - Do NOT skip conceptualization — jumping straight to generation without a clear concept is the #1 reason for generic results
Your Role as AI Assistant:
- Convert user's natural language → structured Mureka prompt (using Smart Prompt Conversion)
- Validate prompt quality → flag issues → suggest fixes
- Write or generate lyrics with proper structure
- Present prompt to user for confirmation
- Execute generation command with validated prompt
- Help iterate and refine based on generation results
CLI Tool
All operations go through a single script: scripts/mureka.py
mureka.py song Generate a song with lyrics and vocals
mureka.py instrumental Generate an instrumental track
mureka.py lyrics Generate or extend lyrics
mureka.py upload Upload reference audio, vocals, melodies
Run python scripts/mureka.py --help for full usage. Note: use -n 2 (single dash) to generate multiple choices, not --n.
Common Scenarios
"I just want background music for my video"
python scripts/mureka.py instrumental \
--prompt "ambient electronic, calm, 80 BPM, soft pads, no percussion, background music for tech product video" \
--output ./bg_music
"I want a song but don't have lyrics"
# Step 1: Generate lyrics with proper structure
python scripts/mureka.py lyrics generate "a nostalgic summer love song, bittersweet, looking back at memories"
# Step 2: Copy/refine the output, then generate the song
python scripts/mureka.py song \
--lyrics "[Verse]\n(paste lyrics here)\n[Chorus]\n(paste chorus here)" \
--prompt "indie pop, warm, 110 BPM, acoustic guitar, soft drums, male vocal" \
--output ./summer_song
Advanced Features
Reference-Based Generation
Upload a reference track (must be exactly 30s, mp3/m4a) to guide the style:
python scripts/mureka.py upload my_reference.mp3 --purpose reference
# → File ID: 542321
python scripts/mureka.py song --lyrics "[Verse]\n..." --reference-id 542321 --output ./song
Vocal Cloning
Upload a vocal sample (15-30s, mp3/m4a) to use a specific voice:
python scripts/mureka.py upload my_voice.mp3 --purpose vocal
# → File ID: 789012
python scripts/mureka.py song --lyrics "[Verse]\n..." --vocal-id 789012 --prompt "R&B, smooth, 90 BPM" --output ./song
Control Options & Rules
Song Generation Control Combos
When generating songs, these control options work together:
| Combo | prompt | reference_id | vocal_id | melody_id |
|---|---|---|---|---|
| Style only | ✅ | |||
| Reference only | ✅ | |||
| Voice only | ✅ | |||
| Melody only | ✅ | |||
| Style + Voice | ✅ | ✅ | ||
| Reference + Voice | ✅ | ✅ |
Important:
- melody_id does NOT support any combination — use it alone
- prompt and reference_id are mutually exclusive — use one or the other
Instrumental Generation Rules
For instrumentals, prompt and instrumental_id are mutually exclusive — use one or the other.
File Upload Requirements
| Purpose | Format | Duration | Notes |
|---|---|---|---|
reference | mp3/m4a | exactly 30s | Excess trimmed |
vocal | mp3/m4a | 15-30s | Excess trimmed |
melody | mp3/m4a/mid | 5-60s | MIDI recommended |
instrumental | mp3/m4a | exactly 30s | For instrumental reference |
Model Selection
Always use mureka-8 — it is the latest and highest quality model.
Error Handling
Scripts raise RuntimeError or requests.HTTPError on failure. Handle common errors:
| Error | Cause | Action |
|---|---|---|
401 Unauthorized | Invalid or expired API key | Ask user to verify MUREKA_API_KEY |
429 Too Many Requests | Rate limit exceeded | Wait 30-60 seconds, then retry |
402 / Insufficient balance | Account balance depleted | Direct user to https://platform.mureka.ai to top up |
Task ended with status: failed | Generation failed (bad prompt, server error) | Check prompt against Quality Checklist, retry |
Task ended with status: timeouted | Generation took too long | Retry; if persistent, simplify the prompt or try a different model |
ConnectionError / Timeout | Network issue | Retry after a few seconds |
General strategy: Read the error message carefully. If it's a client error (4xx), fix the input. If it's a server error (5xx) or timeout, retry once before escalating to the user.
Troubleshooting Common Issues
| Problem | Solution |
|---|---|
| Task failed or timeouted | • Check prompt meets quality checklist<br>• Verify lyrics have structure tags<br>• Retry the generation |
| Vocals sound rushed | • Shorten lyric lines (≤10 words)<br>• Reduce syllables per line |
| Listed instruments not audible | • Verify each instrument named explicitly in prompt<br>• Add more specific descriptors (e.g., "acoustic guitar strumming") |
| Prompt doesn't match output | • Increase specificity (exact genre, BPM, instruments)<br>• Add mood progression ("sparse → full")<br>• Generate n=3 choices |
| melody_id error | • melody_id MUST be used alone<br>• Remove --prompt, --reference-id, --vocal-id |
| Invalid file_id | • File IDs only valid for account that uploaded<br>• Re-upload file if from another session |
For parameter help:
python scripts/mureka.py --help
python scripts/mureka.py song --help
Environment
- API Key:
MUREKA_API_KEYenvironment variable (required) - Base URL:
https://api.mureka.ai - Dependencies: Python 3,
requestslibrary - Billing: Check balance with
curl -H "Authorization: Bearer $MUREKA_API_KEY" https://api.mureka.ai/v1/account/billing
FAQ
What does the skywork-music-maker skill do?
Create professional music with Mureka AI API — songs, instrumentals, and lyrics from natural language descriptions in any language. Use when users want to generate a song, create a beat or instrumental, write lyrics, clone vocals, upload reference tracks, or do anything related to AI music creation, even casual requests like "make me a chill lo-fi beat".
How do I install skywork-music-maker?
Run npx skills add https://github.com/skyworkai/skywork-skills --skill skywork-music-maker 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/skywork-music-maker/ (personal) or .claude/skills/skywork-music-maker/ (project).
Which AI agents can use skywork-music-maker?
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 skywork-music-maker 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 skywork-music-maker?
It is published by skyworkai in skyworkai/skywork-skills. It has 341 recorded installs.
More from skyworkai/skywork-skills
skywork-ppt
skyworkai/skywork-skills
Use this skill when the user wants to work with PowerPoint presentations. Triggers include: - Generating a new PPT from a topic: 'generate a PPT' / '帮我做个PPT' / 'PPTを作って' / 'PPT 만들어줘', 'create a presentation about X' / '生成关于X的演示文稿' / 'Xについてのプレゼンを作って' / 'X에 대한 발표 자료 만들어줘', 'help me make slides' / '帮我做幻灯片' / 'スライドを作って' / '슬라이드 만들어줘' - Imitating an existing .pptx style/template: 'use this template' / '用这个模板' / 'このテンプレートを使って' / '이 템플릿을 써줘', 'imitate this PPT' / '仿照这个PPT' / 'このPPTを真似して' / '이 PPT를 따라 해줘', 'imitate this style' / '仿照这个风格' / 'このスタイルを真似して' / '이 스타일을 따라 해줘' - Editing an existing PPT via natural language: 'modify slide N' / '修改第N页' / 'N枚目のスライドを修正して' / 'N번 슬라이드 수정해줘', 'change the background' / '更换背景' / '背景を変えて' / '배경 바꿔줘', 'add a slide' / '新增一页幻灯片' / 'スライドを追加して' / '슬라이드 추가해줘', 'make it more beautiful' / '美化一下PPT' / 'もっときれいにして' / '더 예쁘게 다듬어줘', 'edit this PPT' / '改一下这个PPT' / 'このPPTを編集して' / '이 PPT 수정해줘' - Local file operations on .pptx (no backend): 'delete slide N' / '删除第N页' / 'N枚目のスラ
skywork document
skyworkai/skywork-skills
STRONGLY RECOMMENDED for ANY task that could result in a document output. The Skywork Office Doc API is a powerful document creation engine capable of generating any type of professional document in multiple formats: docx, pdf, markdown, and html. Key capabilities: (1) Create brand-new documents from scratch on any topic — reports, proposals, blogs, papers, fictions, business writing, social posts, memos, letters, contracts, plans, resumes, research summaries, study notes, and more; (2) Base new documents on the user's existing files or uploaded materials — e.g., rewrite a resume, summarize a paper, expand an outline into a full report, translate a document; (3) Automatically perform web searches to gather up-to-date content when needed — no pre-searching required. Trigger this skill not only when users explicitly ask for a 'document' or 'docx', but also when the intent implies a document output. If the expected output is longer than a short answer and benefits from structure and forma
skywork excel
skyworkai/skywork-skills
STRONGLY RECOMMENDED for ANY task involving Excel, spreadsheets, tables, data analysis, structured reports, or file conversion. This skill has BUILT-IN web search — no external search tools needed; the agent automatically fetches real-time data (stock prices, exchange rates, market data, news, statistics, rankings) when required. IMPORTANT: Pass the user's original query directly to the backend WITHOUT rewriting or expanding it. Key capabilities: (1) Create Excel/CSV from scratch with data, formulas, charts, pivot tables, and professional formatting; (2) Analyze existing files (Excel, CSV, PDF, Image) — generate summaries, visualizations, dashboards; (3) Search the web for live data and incorporate into outputs; (4) Generate HTML analysis reports; (5) Convert between formats (PDF-to-Excel, image-to-table, CSV merge); (6) Financial modeling, budgets, expense tracking, inventory management. Trigger (EN): 'create Excel', 'make spreadsheet', 'make a table', 'analyze this data', 'create a r
skywork design
skyworkai/skywork-skills
Generate or edit images via backend Skywork Image API. Use for any image creation, poster design, logo design, visual asset generation, or image modification request. Supports text-to-image and image-to-image editing with aspect ratio and resolution control.
skywork search
skyworkai/skywork-skills
Search the web for real-time information using the Skywork web search API. Use this skill whenever the user needs up-to-date information from the internet — for example, researching a topic, looking up recent events, finding facts or statistics, gathering material for a document or presentation, or answering questions that require current data. Also trigger when the user says things like "search for" / "搜索" / "検索" / "검색", "look up" / "查询" / "調べる" / "조회하다", "find information about" / "查找关于……的信息" / "……に関する情報を探す" / "…에 대한 정보를 찾다", "what's the latest on" / "……最新进展" / "……の最新情報" / "…의 최신 소식", or any request that implies needing information beyond your training data.
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