ElevenLabs
ElevenLabs
elevenlabs/sound-effects-v2
A speech and audio generation family built for developers, covering text-to-speech, conversational speech, sound effects, and music generation
Try elevenlabs/sound-effects-v2
Input
Showcases
View all showcasesOutput
Pricing
elevenlabs/sound-effects-v2 per second
| Unit Price | $0.0029 |
|---|
Overview
This is ElevenLabs' sound effects generation model, accessible through the unified HiAPI.ai interface: input a text description and it directly produces an audio sound effect file. It excels at generating short, specific ambient sounds and Foley assets based on descriptions, with durations specifiable between 0.5 and 22 seconds, and an option to generate a seamlessly looping version. It is suited for game developers, short-video and podcast producers who need to fill in sound effect layers in bulk and in a controllable way, as well as application teams integrating sound effect generation into their own content pipelines.
Key Highlights
- Duration precisely specified by the caller — duration_seconds supports 0.5 to 22 seconds and is required; there is no automatic duration mode, so output length is predictable and easy to align to tracks.
- Quantifiable adjustment of prompt adherence — prompt_influence ranges from 0 to 1; lower values yield freer, more varied output, while higher values stay closer to the description, making it easy to switch between creative exploration and precise reproduction.
- Seamless looping sound effects — when the loop switch is enabled, the output is a smoothly loopable sound, eliminating post-production splicing and fade-in/fade-out processing.
Capabilities
Generate sound effects from text descriptions: Describe the sound in no more than 450 characters, and the model outputs the corresponding sound effect audio, ideal for quickly turning creative descriptions into usable sound assets.
Loop and duration control: Control the output form through the loop and duration_seconds parameters, directly producing audio suitable for in-game looping playback or fixed-timeline segments.
Generation randomness adjustment: prompt_influence controls how closely the output adheres to the description; the same description can be reproduced stably, or generated multiple times to pick different variations.
Use Cases
- Game developers filling in looping ambient sounds — Generate seamlessly loopable ambient audio using scene descriptions plus the loop switch, for level backgrounds and atmosphere setting.
- Short-video and podcast producers creating Foley — Set precise durations based on scene descriptions to obtain short sound effects such as transitions and actions, layering them directly onto the editing timeline.
- Application teams generating sound effect assets in bulk — Call the interface in bulk based on copy, writing the generated audio assets into an asset library or content production pipeline.
Limitations and Selection Advice
It outputs audio only, not visuals, images, or complete soundtracks; the single-call duration cap is 22 seconds, so long soundscapes need to be pieced together in segments; the description limit is 450 characters, and overly abstract text depends on the trade-offs after adjusting prompt_influence. For vocals, dialogue dubbing, or full musical melodies, use speech synthesis or music generation models instead; scenarios requiring long continuous background audio are also not suitable for direct use.
Frequently asked questions
View all FAQs →-
What is Turbo 2.5?
ElevenLabs' low-latency text-to-speech model for voice assistants, notifications, and high-volume voiceover.
-
How do I call it?
Send model (elevenlabs/text-to-speech-turbo-2-5) and input to POST /v1/tasks, then poll with taskId or configure a callback.
-
How is it billed?
Per 1,000 characters of input.text. See the pricing section above for the current rate.
-
Are previous_text and next_text billed?
No. They only give context for segmented synthesis so prosody joins smoothly.
Create a generation task
https://api.hiapi.ai/v1/tasks Headers
AuthorizationstringRequiredAccount API key. Required on every request. Example: Bearer YOUR_HIAPI_API_KEY. Get your API key
Content-TypestringOptionalThe request body is always parsed as JSON; when sent, only application/json (optionally with charset) is accepted — any other value returns 415. Example: application/json.
Idempotency-KeystringOptionalIdempotency key, up to 255 bytes. Retries with the same key from the same account create the task only once; replays return the original taskId.
On network timeouts or client retries, the same key creates the task only once — no double charges (scope: the API key's account). Use a business-unique identifier as the key (e.g. "order-42"); replays return the original taskId, and keys expire 24 hours after the first request. See the Unified Async API overview for the full scenario matrix.
Body
modelstringRequiredCurrent fixed value: elevenlabs/sound-effects-v2
routestringOptionalCurrent fixed value: default
inputobjectRequired
Business parameters for elevenlabs/sound-effects-v2 and route default — see the parameter table below.
loopbooleanOptionalDefault: falseControls whether to generate a seamlessly loopable sound effect. Boolean value; default is false, which generates a normal non-looping sound effect.
promptstringRequiredminLength 1maxLength 450pattern \SDescribes the content of the sound effect to generate, up to 450 characters.
duration_secondsnumberRequiredDefault: 2min 0.5max 22Duration of the generated sound effect in seconds, ranging from 0.5 to 22 seconds; this parameter is required and there is no automatic duration option; default is 2 seconds.
prompt_influencenumberOptionalDefault: 0.3min 0max 1Controls how closely the generated result follows the prompt: 0 means more variation, 1 means stricter generation according to the description. Numeric value; default is 0.3.
callbackobjectOptional
Terminal-state notification config. When omitted, no callback is delivered — poll the task yourself. See the callback note below.
Provide callback.url when creating a task and HiAPI POSTs to your service once the task reaches a terminal state — no polling needed. The callback payload mirrors the task detail structure; signature verification, delivery retries and idempotency are documented on the Unified Async API overview page.
urlstringRequiredRequired when callback is present. A POST is sent to this URL once the task reaches a terminal state; must be a valid http(s) URL.
whenstringOptionalDefault: "final"Only final is supported today — notified on both success and fail.
finalstoragestringOptionalDefault: "temp"Artifact storage tier: temp (default, retained about 7 days) or persistent (long-term, billed by size). Insufficient balance or exceeding the storage cap silently downgrades to temp; the effective tier is shown in the task detail response.
temppersistentRequest examples
# Submit an async task; returns a taskId immediately (no waiting for generation)
curl -X POST "https://api.hiapi.ai/v1/tasks" \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "elevenlabs/sound-effects-v2",
"input": {
"loop": false,
"prompt": "…",
"duration_seconds": 2,
"prompt_influence": 0.3
}
}' const res = await fetch("https://api.hiapi.ai/v1/tasks", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.HIAPI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "elevenlabs/sound-effects-v2",
input: {
"loop": false,
"prompt": "…",
"duration_seconds": 2,
"prompt_influence": 0.3
}
}),
});
const task = await res.json();
// { code: 200, message: "success", data: { taskId } } import os, requests
res = requests.post(
"https://api.hiapi.ai/v1/tasks",
headers={"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"},
json={
"model": "elevenlabs/sound-effects-v2",
"input": {
"loop": False,
"prompt": "…",
"duration_seconds": 2,
"prompt_influence": 0.3
}
},
)
print(res.json()) # { code, message, data: { taskId } } 200 OK
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR"
}
} 400 Bad Request
{
"code": 400,
"message": "invalid request",
"data": null,
"error_code": "INVALID_REQUEST"
} Get task detail
https://api.hiapi.ai/v1/tasks/:id Response fields
taskIdstringRequiredTask ID, always prefixed with tk-hiapi-.
modelstringRequiredResolved full model name. Tasks submitted with the route parameter return base@route (e.g. gpt-image-2/text-to-image@ext); otherwise identical to the name passed at creation.
routestringOptionalPresent only when the task was submitted with an explicit route parameter; echoes the submitted value.
statusstringRequiredTask status.
queued Queued, not started yet.
handling Being processed.
archiving Processing finished, artifacts being prepared.
success Terminal: completed, artifacts available (output returned).
fail Terminal: failed (error returned).
After submission, check status: success and fail are terminal, everything else is non-terminal. Poll every 1–3 seconds until terminal. On success, download artifacts from output[].url and transfer them before expireAt; pass storage: "persistent" at creation time when long-term retention is needed.
creatednumberRequiredTask creation time (Unix seconds).
completednumberRequiredUnix seconds when the task reached a terminal state; fixed to 0 while not terminal.
outputarrayOptional
Present only when status == success. Artifact list — always an array; a single task may return multiple types at once (e.g. video + first_frame).
Array [ object ]
Array items
urlstringRequiredArtifact URL, directly downloadable.
typestringRequiredCurrent possible values: video, image, audio, first_frame, last_frame, thumbnail; more may be added later.
expireAtnumberRequiredUnix seconds until which the artifact remains accessible; download or transfer before it expires.
errorobjectOptional
Present only when status == fail.
codestringRequiredBusiness error code.
messagestringRequiredError description.
Response examples
Success
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR",
"model": "happyhorse-1-0",
"status": "success",
"created": 1777282033,
"completed": 1777282099,
"output": [
{
"url": "https://cdn.hiapi.ai/tasks/.../video.mp4",
"type": "video",
"expireAt": 1777886899
}
]
}
} Processing (non-terminal)
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "archiving",
"created": 1777282033,
"completed": 0
}
} Failed
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "fail",
"created": 1777282033,
"completed": 1777282099,
"error": {
"code": "TASK_FAILED",
"message": "task failed"
}
}
} Articles
View all articles →Related Models
View all models →Same Type
-
Gemini 3.1 Flash TTS Google -- -
MiniMax Music 3 MiniMax $0.0026 /second -
Lyria 3.5 Google $0.090 /song -
Mirelo SFX 2.0 Mirelo AI $0.021 /second -
ElevenLabs ElevenLabs $0.0029 /second -
Qwen Audio 3.0 TTS Alibaba $0.030 /1,000 characters -
Mureka 9.5 Mureka $0.322 per request -
Lyria 3 Pro Google $0.140 /song -
MiniMax Music 2.6 MiniMax $0.210 /song -
MiniMax Music 1.5 MiniMax $0.070 /song



