elevenlabs-music
Generate music from text description. Use for: background music, jingles, soundtracks
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Generate music from text description. Use for: background music, jingles, soundtracks
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Create multi-speaker dialogue audio. Use for: podcasts, conversations, audiobook scenes
Translate and dub audio/video to another language. Use for: localization, multilingual
Generate sound effects from description. Use for: SFX, game audio, video soundscape
Transcribe audio to text, speech recognition. Use for: transcription, subtitles, dictation
Convert text to speech, narrate, voiceover. 32 languages, 22+ voices. Use for: TTS, audio
Change voice in audio file to another voice. Use for: voice swap, dubbing, anonymization
| name | elevenlabs-music |
| description | Generate music from text description. Use for: background music, jingles, soundtracks |
| allowed-tools | Bash(curl *) |
| disable-model-invocation | true |
Generate original music from a text description using ElevenLabs music generation API.
Ask the user for:
Then run the following steps:
Step 1 - Check API key:
if [ -z "$ELEVENLABS_API_KEY" ]; then
echo "ERROR: ELEVENLABS_API_KEY not set."
echo "Run /pocket-knife:setup to configure your API keys."
exit 1
fi
PROMPT="[USER_MUSIC_DESCRIPTION_HERE]"
DURATION="${DURATION:-30}"
OUTPUT_FILE="${OUTPUT_FILE:-$HOME/Downloads/music_$(date +%Y%m%d_%H%M%S).mp3}"
# Convert seconds to milliseconds
DURATION_MS=$((DURATION * 1000))
Step 2 - Generate music:
# Source: https://elevenlabs.io/docs/api-reference/music/compose
# Released August 2025; model: music_v1; duration in milliseconds (3000-600000)
# Use -f (NOT --fail-with-body) for binary output - error body corrupts the MP3 file
curl -f -s \
-X POST "https://api.elevenlabs.io/v1/music" \
-H "xi-api-key: $ELEVENLABS_API_KEY" \
-H "Content-Type: application/json" \
-d "{\"prompt\": \"${PROMPT}\", \"music_length_ms\": ${DURATION_MS}, \"model_id\": \"music_v1\"}" \
--output "$OUTPUT_FILE"
if [ $? -ne 0 ]; then
echo "ERROR: ElevenLabs Music API call failed."
echo "Check that ELEVENLABS_API_KEY is correct in ~/.claude/.env"
echo "Run /pocket-knife:setup to reconfigure."
exit 1
fi
if [ ! -s "$OUTPUT_FILE" ]; then
echo "ERROR: Music file is empty. Possible causes:"
echo " - Duration out of range (must be 3-600 seconds)"
echo " - Prompt too short or unclear"
echo " - API returned error without proper HTTP status code"
rm -f "$OUTPUT_FILE"
exit 1
fi
echo "Music generated successfully: $OUTPUT_FILE"
echo "Duration: ${DURATION}s | Prompt: ${PROMPT}"
Report to the user: