Skip to main content
elevenlabs avatar

ElevenLabs Sound Effects V2 API

elevenlabs/sound-effects

Generate sound effects, Foley, and ambience from a text prompt, returning a hosted MP3.

0.002 per second of output video

Model Input

Input

The text describing the sound effect to generate.

Length of the generated effect in seconds (0.5–22). Leave unset to let the model choose the optimal duration from the prompt.

Min: 0 - Max: 1

How closely the output follows the prompt (0–1). Higher is more literal and on-prompt; lower allows more variation.

Output audio format, named as codec_samplerate_bitrate.

Generate a sound effect that loops smoothly, for seamless ambience and beds.

You need to be logged in to run this model and view results.
Log in

Model Output

Output

Loading
Generated in 3.346 seconds
Logs (1 lines)

Model Example Requests

Examples

ElevenLabs Sound Effects V2 API

ElevenLabs Sound Effects V2 is a sound AI model by elevenlabs. On ModelRunner it runs through a REST API or via MCP from any AI assistant, at $0.002 per second of audio.

POST https://queue.modelrunner.run/elevenlabs/sound-effects

cURL

# Submit a request to the queue. Input fields go at the top level of the
# body. The optional reserved "metadata" object holds your own flat string
# tags — stored on the request, never sent to the model; filter later with
# GET https://queue.modelrunner.run/requests?metadata=<url-encoded JSON>.
curl -X POST https://queue.modelrunner.run/elevenlabs/sound-effects \
  -H "Authorization: Key $MRUN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "loop": false,
    "text": "Distant rolling thunder building into a heavy downpour on a tin roof",
    "output_format": "mp3_44100_128",
    "duration_seconds": 6,
    "prompt_influence": 0.3,
    "metadata": {
      "project": "my-project"
    }
  }'
# → { "request_id": "...", "status_url": "...", "response_url": "..." }

# Poll status_url until "COMPLETED", then fetch the result
curl "https://queue.modelrunner.run/elevenlabs/sound-effects/requests/$REQUEST_ID/status" \
  -H "Authorization: Key $MRUN_API_KEY"
curl "https://queue.modelrunner.run/elevenlabs/sound-effects/requests/$REQUEST_ID" \
  -H "Authorization: Key $MRUN_API_KEY"

JavaScript

import { modelrunner } from "@modelrunner/client";

const result = await modelrunner.subscribe("elevenlabs/sound-effects", {
  input: {
    "loop": false,
    "text": "Distant rolling thunder building into a heavy downpour on a tin roof",
    "output_format": "mp3_44100_128",
    "duration_seconds": 6,
    "prompt_influence": 0.3
  },
});
console.log(result);

Python

import os
import requests

headers = {"Authorization": f"Key {os.environ['MRUN_API_KEY']}"}

submitted = requests.post(
    "https://queue.modelrunner.run/elevenlabs/sound-effects",
    headers=headers,
    json={
      "loop": false,
      "text": "Distant rolling thunder building into a heavy downpour on a tin roof",
      "output_format": "mp3_44100_128",
      "duration_seconds": 6,
      "prompt_influence": 0.3
    },
).json()

# Poll submitted["status_url"] until "COMPLETED", then:
result = requests.get(submitted["response_url"], headers=headers).json()

Input parameters

NameTypeRequiredDescription
textstringyesThe text describing the sound effect to generate.
duration_secondsnumbernoLength of the generated effect in seconds (0.5–22). Leave unset to let the model choose the optimal duration from the prompt.
prompt_influencenumbernoHow closely the output follows the prompt (0–1). Higher is more literal and on-prompt; lower allows more variation. Default: 0.3.
output_formatenumnoOutput audio format, named as codec_samplerate_bitrate. Default: "mp3_44100_128".
loopbooleannoGenerate a sound effect that loops smoothly, for seamless ambience and beds. Default: false.

Machine-readable: OpenAPI schema · llms.txt

Use ElevenLabs Sound Effects V2 from Claude & Cursor (MCP)

Point Claude Code, Claude Desktop, Cursor, or any MCP client at the ModelRunner MCP server and ElevenLabs Sound Effects V2 becomes a tool your assistant can call directly — it authorizes via OAuth (no API key in config) and runs this model with the run_model tool using the endpoint elevenlabs/sound-effects.

MCP client config (Claude Desktop, Cursor)

{
  "mcpServers": {
    "modelrunner": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.modelrunner.run/mcp"]
    }
  }
}

Claude Code

claude mcp add --transport http modelrunner https://mcp.modelrunner.run/mcp

Then ask your assistant, for example: “Run elevenlabs/sound-effects on ModelRunner to generate sound”. MCP setup guide.

Model Details

Model Details

ElevenLabs Sound Effects turns a short text prompt into a generated sound effect and returns it as a hosted MP3. Describe what you want to hear — a single Foley hit, an ambient bed, a UI blip, a cinematic whoosh, or a creature roar — and the model produces matching audio. Its strength is going from a plain-language description straight to usable sound design without recording or sampling, with optional control over clip length and how strictly the result tracks your prompt, plus a loop mode for seamless ambience and beds.

## Best for - Foley and one-shot effects (footsteps, impacts, door slams, glass breaks) from a text description - Ambient beds and backgrounds (rain, forest, crowd, city traffic) — set `loop` to true for seamless looping - UI and game audio cues (notifications, coins, power-ups, transitions) - Cinematic design elements (risers, whooshes, stingers, braams) - Quick placeholder or final SFX when you have no recording on hand

## Choose another model when - You need spoken words or narration from text — use a text-to-speech model - You want music with melody, rhythm, and song structure — use a music-generation model - You need to clean or isolate voice from an existing recording — use an audio-isolation model

## Tips - Keep the prompt concrete and sound-focused ("heavy wooden door creaking open, then slamming") rather than abstract - Leave `duration_seconds` unset to let the model pick the natural length from your prompt; set it (0.5–22 seconds) only when you need an exact clip length - Raise `prompt_influence` toward 1 for a literal, on-prompt rendering; lower it toward 0 for more variation and creative interpretation (default 0.3) - For ambience and backgrounds you intend to tile, set `loop` to true so the start and end stitch together cleanly - The text prompt is capped at 450 characters — describe the single effect you want, not a scene script

## Limitations - Generates non-speech sound only; it will not produce intelligible spoken dialogue - Maximum clip length is 22 seconds per request

To run via the ModelRunner JavaScript client: ```js import { modelrunner } from "@modelrunner/client";

const result = await modelrunner.subscribe("elevenlabs/sound-effects", { input: { text: "heavy wooden door creaking open, then slamming shut", duration_seconds: 4, prompt_influence: 0.3, loop: false, }, }); ```