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".
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o skywork-music-maker.zip https://jpskill.com/download/20830.zip && unzip -o skywork-music-maker.zip && rm skywork-music-maker.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/20830.zip -OutFile "$d\skywork-music-maker.zip"; Expand-Archive "$d\skywork-music-maker.zip" -DestinationPath $d -Force; ri "$d\skywork-music-maker.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
skywork-music-maker.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
skywork-music-makerフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 4
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
[Skill 名] skywork-music-maker
Skywork Music Maker (Mureka API)
https://api.mureka.ai の Mureka API を使用して、プロ品質の音楽を生成します。このスキルは、歌詞作成から楽曲/インストゥルメンタル生成まで、完全な音楽制作ワークフローをカバーしています。
初回セットアップ
API コマンドを実行する前に、MUREKA_API_KEY が設定されているか確認してください。設定されていない場合は、ユーザーに https://platform.mureka.ai/ で API キーを取得するよう案内し(登録 → API Keys → キーを生成 → export MUREKA_API_KEY="...")、その後停止してください。キーが設定されるまで、API 呼び出しを試みないでください。
スマートプロンプト変換 (重要なワークフロー)
デフォルトの動作: ユーザーが曲のタイプを指定しない場合、常に歌詞付きの曲を生成します(mureka.py song を使用)。ユーザーが明示的にインストゥルメンタル、BGM、バックグラウンドミュージック、または「ボーカルなし」を要求した場合にのみ、mureka.py instrumental を使用してください。
出力のデフォルト: ユーザーが別途要求しない限り、mp3 形式を使用します。--output フラグはディレクトリを指定します。スクリプトはそれを作成し、すべての結果(オーディオファイル + 曲の場合は lyrics.txt)をその中に保存します。ユーザーが場所を指定しない場合、曲のテーマに基づいて説明的なフォルダー名(例: summer_pop_song/)を持つ、ユーザーフレンドリーなパスを選択してください。
ユーザーが自然言語(どの言語でも可)で音楽の説明を提供する場合、このワークフローを使用して、それらを構造化された Mureka API プロンプトに変換しなければなりません。
変換プロセス
ユーザー入力例:
- 「アップビートなポップソング、女性ボーカル、ギター、夏にぴったり」
- 「失われた愛についての悲しいピアノバラード」
- 「ファンタジーゲームのための壮大なオーケストラ音楽」
- 「竹笛と琴を使った伝統的な中国音楽、霧のような雰囲気」
あなたのタスク:
- 以下の抽出ルールを使用して構造化パラメーターを抽出します
- プロンプトが品質基準を満たしているか検証します(品質チェックリストを参照)
- 生成前にユーザーに確認のために提示します
- 構造化されたプロンプトで生成コマンドを実行します
パラメーター抽出ルール
ユーザーが自然言語の音楽説明を提供する場合、以下のパラメーターを直接抽出し、構造化してください。
必須パラメーター:
- genres: 融合スタイルを含む音楽ジャンル(例: Pop, Rock, Jazz, Pop Rap Fusion, Alternative Rock, Guofeng)
- moods: 感情的なトーン(例: Happy, Melancholic, Energetic, Nostalgic, Bright)
- instruments: 特定の楽器(例: Piano, Guitar, Drums, Erhu, Guzheng, Synth Pads, Dizi)
- rhythms: リズムの特性(例: 4/4, Slow, Syncopated, Driving, Flowing)
- vocals: ボーカルの属性(例: Female, Husky, Whispered, Male, Soft, Clear)または「instrumental only」
- key: 指定された場合、音楽のキー(例: C Major, A Minor, C# Major)
- bpm: 1分あたりの拍数(例: 120)またはテンポの記述子(例: "slow groove", "uptempo")
- description: ムードの進行、メロディ、ハーモニー、音色、テクスチャ、ダイナミクスを捉えた簡潔な要約(50語未満)
抽出指示:
- 非英語の用語を翻訳: 文化的な意味と音楽的な意味を保持しながら、すべての非英語の音楽用語を英語に変換します
- 具体性を保持: 特定のスタイル、サブジャンル、文化的背景を含む詳細な情報を保持します(例: 「Chinese music」ではなく「Chinese traditional guofeng」)
- ダイナミックなアークを設計: 適切な場合はムードの進行を含めます(例: "sparse opening → building tension → cathartic chorus")
- インテリジェントに推論: パラメーターが明示的に述べられていない場合、ジャンルの慣習に基づいて合理的な仮定を行います
- 英語出力: 最終的なプロンプト文字列は完全に英語でなければなりません
構造化プロンプトの生成: 抽出されたすべてのパラメーターを組み合わせて、ユーザーのビジョンの本質を捉えた、包括的で自然な流れの記述を作成します。
品質チェックリスト (生成前に検証)
生成コマンドを実行する前に、プロンプトが以下の基準を満たしていることを確認してください。
必須項目:
- [ ] 特定のジャンル(「pop song」ではなく「synth-pop, 2020s」)
- [ ] BPM またはテンポの記述子(例: 「120 BPM」または「slow groove」)
- [ ] 3〜5つの楽器が明示的に指定されている
- [ ] ムード/感情の記述子(2〜3語)
- [ ] ボーカルスタイル(または「instrumental only」)
- [ ] 歌詞に構造タグ: [Verse], [Chorus], [Bridge], [Outro]
注意点:
- 曖昧な用語: 「nice」、「good」、「beautiful」→具体的な記述子に置き換える
- 矛盾: 「slow」+「energetic」、「sad」+「uplifting」→どちらか一方の方向を選択する
- 短すぎる: 50文字未満→詳細を追加する
- 長い歌詞の行: 1行あたり10語以上→短い行に分割する
- ダイナミックなアークがない: ムードの進行を追加する(例: 「sparse → building → full」)
避けるべきこと:
- コマンド動詞: 「create a song」→「upbeat pop song」のような記述を使用する
- 有名なアーティスト名: 「sounds like Taylor Swift」→代わりに特徴を記述する
- 非現実的な組み合わせ: melody_id は他の制御オプションと組み合わせることはできません
検証後、生成されたプロンプトをユーザーに提示し、続行する前に確認を求めてください。
コアワークフロー: プロダクションパイプライン
1. 概念化 → ユーザーが自然言語で記述 → あなたが構造化プロンプトに変換
2. 検証 → 品質チェックリスト(上記参照)に対してプロンプトの品質をチェック
3. 歌詞作成 → lyrics/generate を使用するか、手動で作成
4. 参照のアップロード → オプション: 参照トラック、ボーカルサンプル、メロディ
5. 生成 → 検証済みプロンプトで楽曲/インストゥルメンタルタスクを送信(非同期)
6. 評価 → N個の選択肢すべてを聞き、最適なものを選択
7. 繰り返し → 聞いた内容に基づいてプロンプトを洗練
重要なステップ:
- ユーザーが自然言語入力(特に非英語)を提供する場合、ステップ1は必須です
- ステップ2の検証は、一般的な生成失敗の80%を防ぎます
- ステップ3:
references/prompt_guide.mdを読んで、プロンプト作成の例、歌詞の構造ルール(行の長さ、音節数、韻律パターン、フックの書き方)、および反復のベストプラクティスを確認してください - 概念化をスキップしないでください — 明確なコンセプトなしに直接生成に飛びつくことは、一般的な結果になる最大の理由です
AIアシスタントとしてのあなたの役割:
- ユーザーの自然言語をMurekaの構造化プロンプトに変換します(スマートプロンプト変換を使用)
- 検証
(原文がここで切り詰められています)
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
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
同梱ファイル
※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。
- 📄 SKILL.md (11,972 bytes)
- 📎 README.md (9,245 bytes)
- 📎 references/prompt_guide.md (10,296 bytes)
- 📎 scripts/mureka.py (10,880 bytes)