Build your next audio capability.
Use Stable Audio through an API built for professional audio creation, with commercially safe models and flexible control.
Get started for free, no credit card required.
Select an album & hit play to hear a sample
when dreams bloom i think of you
“A cinematic orchestral piece with sweeping strings and dramatic brass.”
POST /v2beta/audio/stable-audio/text-to-audiocurl -X POST https://api.stability.ai/v2beta/audio/stable-audio/text-to-audio \ -H "Authorization: Bearer $STABILITY_API_KEY" \ -F model=stable-audio-3 \ -F prompt="A cinematic orchestral piece with sweeping strings and dramatic brass." \ -F duration=30 \ -o result.mp3
response = requests.post(
"https://api.stability.ai/v2beta/audio/stable-audio/text-to-audio",
headers={"Authorization": f"Bearer {api_key}"},
files={"none": ""},
data={
"model": "stable-audio-3",
"prompt": "A cinematic orchestral piece with sweeping strings and dramatic brass.",
"duration": 30,
},
)const body = new FormData();
body.set("model", "stable-audio-3");
body.set("prompt", "A cinematic orchestral piece with sweeping strings and dramatic brass.");
body.set("duration", "30");
const response = await fetch(
"https://api.stability.ai/v2beta/audio/stable-audio/text-to-audio",
{ method: "POST", headers: { Authorization: `Bearer ${apiKey}` }, body },
);POST /v2beta/audio/stable-audio/audio-to-audiocurl -X POST https://api.stability.ai/v2beta/audio/stable-audio/audio-to-audio \ -H "Authorization: Bearer $STABILITY_API_KEY" \ -F model=stable-audio-3 \ -F audio=@take.wav \ -F prompt="Turn this piano sketch into a warm analog synth arrangement." \ -F strength=0.6 \ -o result.mp3
response = requests.post(
"https://api.stability.ai/v2beta/audio/stable-audio/audio-to-audio",
headers={"Authorization": f"Bearer {api_key}"},
files={"audio": open("take.wav", "rb")},
data={
"model": "stable-audio-3",
"prompt": "Turn this piano sketch into a warm analog synth arrangement.",
"strength": 0.6,
},
)const body = new FormData();
body.set("model", "stable-audio-3");
body.set("audio", take);
body.set("prompt", "Turn this piano sketch into a warm analog synth arrangement.");
body.set("strength", "0.6");
const response = await fetch(
"https://api.stability.ai/v2beta/audio/stable-audio/audio-to-audio",
{ method: "POST", headers: { Authorization: `Bearer ${apiKey}` }, body },
);POST /v2beta/audio/stable-audio/inpaintcurl -X POST https://api.stability.ai/v2beta/audio/stable-audio/inpaint \ -H "Authorization: Bearer $STABILITY_API_KEY" \ -F model=stable-audio-3 \ -F audio=@take.wav \ -F prompt="Replace the drums in the second bar with brushed snare." \ -F mask_start=16 \ -F mask_end=24 \ -o result.mp3
response = requests.post(
"https://api.stability.ai/v2beta/audio/stable-audio/inpaint",
headers={"Authorization": f"Bearer {api_key}"},
files={"audio": open("take.wav", "rb")},
data={
"model": "stable-audio-3",
"prompt": "Replace the drums in the second bar with brushed snare.",
"mask_start": 16,
"mask_end": 24,
},
)const body = new FormData();
body.set("model", "stable-audio-3");
body.set("audio", take);
body.set("prompt", "Replace the drums in the second bar with brushed snare.");
body.set("mask_start", "16");
body.set("mask_end", "24");
const response = await fetch(
"https://api.stability.ai/v2beta/audio/stable-audio/inpaint",
{ method: "POST", headers: { Authorization: `Bearer ${apiKey}` }, body },
);Trusted by teams at
Three different waysto work with audio.
Endpoints for each model capability.
Audio-to-audio
Change the style of existing audio while preserving melody and structure elements.
Read the docsAudio models forprofessional production.

Commercially viable
Stable Audio models are trained on fully licensed material. You own your outputs, and can distribute outputs freely.
About our licensing
Flexible control
Our models enable editing controls like inpainting, variable length, and audio-to-audio.
Get started
Artist-first
Early adopters of generative audio prefer Stable Audio, including the artists and researchers who have joined us to build.
See community projectsCommunity resources.
Discord
Get ideas from other builders, find answers when you are stuck, and show us what you are making.
GitHub
See reference implementations and an issue tracker for documenting feedback.
Guides
Quickstart tutorials and example projects.
Documentation
Full endpoint reference, request and response examples, and the OpenAPI spec for codegen tools and coding agents.
Sign up, open the console, and create a key. Send it in the Authorization header as a bearer token.
Yes. New accounts start with 25 free credits, and signing up needs no card.
You are billed in credits per generation, priced by the length of audio you request. Current rates are on the pricing page. Failed requests are not charged.
Yes. Stable Audio models are trained on fully licensed material, and audio generated through the API is licensed for commercial use under our terms of service.
Music, sound effects, ambience, and loops, from a text description or from audio you already have. Teams use it for game and film sound design, background beds for video, sample and loop libraries, adaptive audio in apps, and quick scratch tracks during production.
Dedicated support, custom rate limits, volume pricing, or private deployment options.

Your next build
starts here.
Start free with an API key and take it from there.