sound-effects · elevenlabs — Claude Code skill: what it does, how to install
Generates sound effects from text descriptions using the ElevenLabs API. Useful for ambient loops, UI chimes, impacts, and non-speech audio.
npx skills add elevenlabs/skills --skill sound-effects -a claude-codeWhat sound-effects does
The skill provides code patterns and parameters to generate non-speech audio via ElevenLabs. It covers Python with elevenlabs, JavaScript with @elevenlabs/elevenlabs-js, and the ElevenLabs CLI. Default generation runs on the eleven_text_to_sound_v2 model with mp3_44100_128 output.
You can set duration_seconds between 0.5 and 30 seconds, tune prompt_influence from 0 to 1 (default is 0.3), and enable loop=True for looping sounds. Looping audio requires the v2 model. Supported outputs include uncompressed PCM, Opus, and telephony formats.
Running this requires internet access and the ELEVENLABS_API_KEY environment variable. If the key is not set, initialize it with npx -y @elevenlabs/cli@latest onboard init. If the duration falls outside the 0.5 to 30 second limit, the API immediately throws a 422 error.
What it helps with
- generate ambient sound loops from text descriptions
- produce short notification chimes and UI clicks
- synthesize cinematic impacts and textures for games
- export generated effects into PCM, WAV, or Opus audio formats
Example prompts for the agent
- Generate a 10-second looping forest ambience with birds chirping
- Create a short soft notification chime for our web application
- Generate an eerie wind sound effect in raw PCM format
How to install sound-effects
1Skills CLI (Vercel)
npx skills add elevenlabs/skills --skill sound-effects -a claude-code2Manually: put the files in place
~/.claude/skills/sound-effects/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/sound-effects/
1Skills CLI (Vercel)
npx skills add elevenlabs/skills --skill sound-effects -a codex2Manually: put the files in place
.agents/skills/sound-effects/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add elevenlabs/skills --skill sound-effects -a cursor2Manually: put the files in place
.cursor/skills/sound-effects/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install elevenlabs/skills sound-effects2Manually: put the files in place
.github/skills/sound-effects/SKILL.md1Skills CLI (Vercel)
npx skills add elevenlabs/skills --skill sound-effects -a gemini-cli2Platform CLI
gemini skills install https://github.com/elevenlabs/skills --path sound-effectsManually: put the files in place
.devin/skills/sound-effects/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add elevenlabs/skills --skill sound-effects -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about sound-effects
How do I install sound-effects in Claude Code?
Run npx skills add elevenlabs/skills --skill sound-effects -a claude-code. This installs the skill to ~/.claude/skills/sound-effects/SKILL.md.
What does the sound-effects skill do?
It guides coding agents on generating sound effects, ambient audio, and UI noises using ElevenLabs. It provides parameter guidelines for duration, loop points, and output formats.
What are the requirements to use sound-effects?
It requires internet access and an ELEVENLABS_API_KEY. You can set up project credentials using npx -y @elevenlabs/cli@latest onboard init.
Source text
SKILL.md · MIT
---
name: sound-effects
description: Generate sound effects from text descriptions using ElevenLabs. Use when creating sound effects, generating audio textures, producing ambient sounds, cinematic impacts, UI sounds, or any audio that isn't speech. Supports looping, duration control, and prompt influence tuning.
license: MIT
compatibility: Requires internet access and an ElevenLabs API key (ELEVENLABS_API_KEY).
metadata: {"openclaw": {"requires": {"env": ["ELEVENLABS_API_KEY"]}, "primaryEnv": "ELEVENLABS_API_KEY"}}
---
# ElevenLabs Sound Effects
Generate sound effects from text descriptions — supports looping, custom duration, and prompt adherence control.
> **Setup, before writing any code:** if `ELEVENLABS_API_KEY` isn't set for this project, run `npx -y @elevenlabs/cli@latest onboard init` from the app's folder first and follow what it prints: it signs the user in and stores a key for the project, so nobody copies one by hand. Otherwise see the [Installation Guide](references/installation.md). For JavaScript, use `@elevenlabs/*` packages only.
## Quick Start
### Python
```python
from elevenlabs import ElevenLabs
client = ElevenLabs()
audio = client.text_to_sound_effects.convert(
text="Thunder rumbling in the distance with light rain",
)
with open("thunder.mp3", "wb") as f:
for chunk in audio:
f.write(chunk)
```
### JavaScript
```javascript
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";
import { createWriteStream } from "fs";
const client = new ElevenLabsClient();
const audio = await client.textToSoundEffects.convert({
text: "Thunder rumbling in the distance with light rain",
});
audio.pipe(createWriteStream("thunder.mp3"));
```
### CLI
```bash
elevenlabs text-to-sound-effects convert \
--text "Thunder rumbling in the distance with light rain" \
--output thunder.mp3
```
## Parameters
| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `text` | string (required) | — | Description of the desired sound effect |
| `model_id` | string | `eleven_text_to_sound_v2` | Model to use |
| `duration_seconds` | number \| null | null (auto) | Duration 0.5–30s; auto-calculated if null |
| `prompt_influence` | number \| null | 0.3 | How closely to follow the prompt (0–1) |
| `loop` | boolean | false | Generate a seamlessly looping sound (v2 model only) |
## Examples with Parameters
```python
# Looping ambient sound, 10 seconds
audio = client.text_to_sound_effects.convert(
text="Gentle forest ambiance with birds chirping",
duration_seconds=10.0,
prompt_influence=0.5,
loop=True,
)
# Short UI sound, high prompt adherence
audio = client.text_to_sound_effects.convert(
text="Soft notification chime",
duration_seconds=1.0,
prompt_influence=0.8,
)
```
## Output Formats
Pass `--output-format` (CLI) or `output_format` as an SDK parameter:
| Format | Description |
|--------|-------------|
| `mp3_44100_128` | MP3 44.1kHz 128kbps (default) |
| `pcm_44100` | Raw uncompressed CD quality |
| `opus_48000_128` | Opus 48kHz 128kbps — efficient compressed |
| `ulaw_8000` | μ-law 8kHz — telephony |
Full list: `mp3_22050_32`, `mp3_24000_48`, `mp3_44100_32`, `mp3_44100_64`, `mp3_44100_96`, `mp3_44100_128`, `mp3_44100_192`, `pcm_8000`, `pcm_16000`, `pcm_22050`, `pcm_24000`, `pcm_32000`, `pcm_44100`, `pcm_48000`, `wav_8000`, `wav_16000`, `wav_22050`, `wav_24000`, `wav_32000`, `wav_44100`, `wav_48000`, `ulaw_8000`, `alaw_8000`, `opus_48000_32`, `opus_48000_64`, `opus_48000_96`, `opus_48000_128`, `opus_48000_192`.
## Prompt Tips
- Be specific: "Heavy rain on a tin roof" > "Rain"
- Combine elements: "Footsteps on gravel with distant traffic"
- Specify style: "Cinematic braam, horror" or "8-bit retro jump sound"
- Mention mood/context: "Eerie wind howling through an abandoned building"
## Error Handling
```python
try:
audio = client.text_to_sound_effects.convert(text="Explosion")
except Exception as e:
print(f"API error: {e}")
```
Common errors:
- **401**: Invalid API key
- **422**: Invalid parameters (check duration range, prompt_influence range)
- **429**: Rate limit exceeded
## References
- [Installation Guide](references/installation.md)
© elevenlabs · MIT · elevenlabs/skills
Similar skills
All skills for AI and ML →sound-effects by other authors comes first.