
Up-to-3-minute audio from text with text-to-audio, audio-to-audio, and audio inpainting for music production, sound design, and remixing.
Up-to-3-minute audio from text with text-to-audio, audio-to-audio, and audio inpainting for music production, sound design, and remixing.
Also known as Stable Audio, Stable-Audio-2.5
stable-audio-2-5POST /v1/audio/generationsLive pay-as-you-go rates from the EmpirioLabs catalog. You are billed only for what you use, with no monthly minimum.
Stable Audio 2.5 runs through POST /v1/audio/generations. The request returns a job_id right away; poll GET /v1/jobs/{job_id} until the job completes and read the output URLs from the result. Get an API key from the EmpirioLabs dashboard.
curl https://api.empiriolabs.ai/v1/audio/generations \
-H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "stable-audio-2-5",
"prompt": "Describe what you want Stable Audio 2.5 to generate."
}'curl https://api.empiriolabs.ai/v1/jobs/JOB_ID \
-H "Authorization: Bearer $EMPIRIOLABS_API_KEY"import requests
response = requests.post(
"https://api.empiriolabs.ai/v1/audio/generations",
headers={"Authorization": "Bearer YOUR_EMPIRIOLABS_API_KEY"},
json={
"model": "stable-audio-2-5",
"prompt": "Describe what you want Stable Audio 2.5 to generate.",
},
)
job = response.json()
# Generation runs as an async job. Poll until it completes.
import time
while True:
status = requests.get(
f"https://api.empiriolabs.ai/v1/jobs/{job['job_id']}",
headers={"Authorization": "Bearer YOUR_EMPIRIOLABS_API_KEY"},
).json()
if status.get("status") in ("completed", "failed"):
print(status)
break
time.sleep(5)Request parameters supported by the Stable Audio 2.5 API on EmpirioLabs. Defaults apply when a field is omitted.
| Parameter | Type | Default | Range / values | Description |
|---|---|---|---|---|
| prompt | string | - | - | What to generate. |
| mode | enum | text-to-audio | text-to-audio, audio-to-audio, audio-inpaint | audio-inpaint regenerates a [mask_start, mask_end] window of an existing clip while keeping the rest. |
| output_format | enum | mp3 | mp3, wav | Output media file format (mp3, wav, mp4, png, jpg, etc., depending on the endpoint). |
| duration | number | 190 | 1 to 190 | Seconds. Up to 3 minutes 10 seconds. |
| steps | number | 8 | 4 to 8 | Diffusion steps. The 2.5 turbo model is tuned for very low step counts. |
| cfg_scale | number | 1 | 1 to 25 | Classifier-free guidance. The turbo model uses small CFG by default. |
| strength | number | 0.5 | 0.01 to 1 | Audio-to-audio only. 0.01 = ignore reference, 1 = stay close to reference. |
| mask_start | number | - | 0 to 190 | Inpaint window start (seconds). Required for audio-inpaint. |
| mask_end | number | - | 0 to 190 | Inpaint window end (seconds). Required for audio-inpaint. |
| random_seed | boolean | true | - | If true, use a random seed each call. |
| seed | number | - | - | Reproducibility seed. Only used when random_seed=false. |
| audio_url | string | - | - | Reference audio URL for audio-to-audio / inpaint. |
Adds audio-inpaint mode (regenerate a time window) on top of Stable Audio 2.0.
On EmpirioLabs, Stable Audio 2.5 is billed pay as you go: Generation $0.68 per generation. The live rate card on this page always matches what the API charges.
Stable Audio 2.5 is served through POST /v1/audio/generations on api.empiriolabs.ai with standard bearer-token authentication.
Yes. The EmpirioLabs playground runs Stable Audio 2.5 in the browser with the same parameters the API exposes, so you can test prompts before writing code.
Create an EmpirioLabs account, then generate a key under API Keys in the dashboard. Billing is pay-as-you-go credits, so you only pay for the requests you make.
Explore our models, or contact us about business inquiries, custom deployments, or anything else.