From aviz85-claude-skills-library
Generates AI music tracks via ElevenLabs API from text prompts or JSON-defined multi-section compositions. Ideal for soundtracks, jingles, background music, and instrumentals up to 5 minutes.
npx claudepluginhub aviz85/claude-skills-libraryThis skill uses the workspace's default tool permissions.
> **First time?** If `setup_complete: false` above, run `./SETUP.md` first, then set `setup_complete: true`.
Generates AI music tracks via ElevenLabs API from text prompts or JSON-defined multi-section compositions. Ideal for soundtracks, jingles, background music, and instrumentals up to 5 minutes.
Generates music tracks from text prompts using ElevenLabs Music API via Python script. Supports vocals with AI lyrics, instrumentals, genres for songs, soundtracks, jingles. Requires API key.
Generates AI music, songs with vocals (Suno/Udio), and instrumentals (Google Lyria). Guides API selection, prompt crafting, and workflow for genres, moods, BPM.
Share bugs, ideas, or general feedback.
First time? If
setup_complete: falseabove, run./SETUP.mdfirst, then setsetup_complete: true.
Generate custom AI music using ElevenLabs Music API with detailed composition control.
cd ~/.claude/skills/music-generator/scripts
# Simple prompt-based generation
npx ts-node generate_music.ts \
--prompt "Uplifting corporate music with electronic beats" \
--duration 60 \
--output /path/to/music.mp3
# List available styles
npx ts-node generate_music.ts --list-styles
Generate music from a single text prompt:
npx ts-node generate_music.ts \
--prompt "Energetic workout music with driving beats and motivational synths" \
--duration 90 \
--output workout.mp3
Create multi-section compositions with JSON config:
npx ts-node generate_music.ts \
--composition /path/to/composition.json \
--output epic-track.mp3
Composition JSON Format:
{
"duration_ms": 80000,
"instrumental": true,
"positive_global_styles": ["corporate", "motivational", "electronic"],
"negative_global_styles": ["sad", "aggressive", "heavy metal"],
"sections": [
{
"section_name": "Intro",
"duration_ms": 20000,
"positive_local_styles": ["building momentum", "soft start"],
"negative_local_styles": ["loud", "intense"],
"lines": []
},
{
"section_name": "Main Theme",
"duration_ms": 40000,
"positive_local_styles": ["energetic", "uplifting", "driving rhythm"],
"negative_local_styles": ["slow", "mellow"],
"lines": []
},
{
"section_name": "Outro",
"duration_ms": 20000,
"positive_local_styles": ["triumphant", "resolution"],
"negative_local_styles": ["abrupt ending"],
"lines": []
}
]
}
Moods:
Genres:
Instruments:
Use positive_local_styles and negative_local_styles to control individual sections:
Intro Styles:
Peak/Chorus Styles:
Outro Styles:
| Option | Short | Description |
|---|---|---|
--prompt | -p | Text prompt for simple mode |
--composition | -c | JSON file for detailed mode |
--duration | -d | Duration in seconds (simple mode) |
--output | -o | Output file path (required) |
--instrumental | -i | Generate instrumental track |
--format | -f | Output format (mp3_44100_192, mp3_44100_128) |
--list-styles | Show available styles | |
--help | -h | Show help |
npx ts-node generate_music.ts \
-p "Professional corporate background music, uplifting and modern, suitable for presentations" \
-d 120 \
-i \
-o corporate-bg.mp3
npx ts-node generate_music.ts \
-p "Catchy podcast intro music, energetic and memorable, with electronic elements" \
-d 15 \
-o podcast-intro.mp3
npx ts-node generate_music.ts \
-p "Epic fantasy adventure theme with orchestral instruments and heroic melodies" \
-d 180 \
-i \
-o game-theme.mp3
Create a file my-composition.json:
{
"duration_ms": 120000,
"instrumental": true,
"positive_global_styles": ["cinematic", "epic", "orchestral"],
"negative_global_styles": ["electronic", "modern"],
"sections": [
{
"section_name": "Dawn",
"duration_ms": 30000,
"positive_local_styles": ["soft", "mysterious", "building anticipation"],
"negative_local_styles": ["loud", "fast"],
"lines": []
},
{
"section_name": "Battle",
"duration_ms": 50000,
"positive_local_styles": ["intense", "driving", "heroic"],
"negative_local_styles": ["peaceful", "slow"],
"lines": []
},
{
"section_name": "Victory",
"duration_ms": 40000,
"positive_local_styles": ["triumphant", "emotional", "uplifting"],
"negative_local_styles": ["sad", "mellow"],
"lines": []
}
]
}
Then generate:
npx ts-node generate_music.ts \
-c my-composition.json \
-o epic-journey.mp3
"Invalid API key": Check .env file has valid ELEVENLABS_API_KEY
"Duration too long": Maximum is 330 seconds (5.5 minutes)
"Validation error": Ensure composition JSON has all required fields:
positive_global_styles (array)negative_global_styles (array)sections with section_name, duration_ms, positive_local_styles, negative_local_styles, lines