4a4c09177f
Two new audio-generation stacks alongside the TTS slate: ace-step :8210 — Apache 2.0 music generation foundation model (hybrid diffusion + LLM). Lyric-aware multi-minute songs. ~10-12 GB VRAM during inference, A6000-pinned. Custom Dockerfile patches upstream's torch/cu126 resolution bug (--extra-index-url cu126 was falling back to pypi-default cu13 wheels, mismatching torchvision). stable-audio-open :8211 — Stability AI 1.21B latent-diffusion SFX + ambience. Up to 47s clips at 44.1 kHz. ~6 GB VRAM in fp16, A6000-pinned. Custom FastAPI shim around diffusers' StableAudioPipeline (no upstream HTTP server). Dockerfile pins torchsde explicitly — diffusers doesn't pull it as a hard dep but CosineDPMSolverMultistepScheduler needs it.
56 lines
1.8 KiB
Markdown
56 lines
1.8 KiB
Markdown
# stable-audio-open
|
||
|
||
Stability AI's Stable Audio Open 1.0 — text-to-audio latent diffusion.
|
||
Strong on SFX, foley, ambience, short loops. Not a music model — it
|
||
does not generate intelligible vocals or structured songs (use
|
||
`ace-step` for that).
|
||
|
||
| | |
|
||
|---|---|
|
||
| host | `irv-ml1` |
|
||
| port | `8211` |
|
||
| GPU | A6000 (`device_ids: ["1"]`) |
|
||
| VRAM | ~6 GB in fp16 |
|
||
| max clip | 47 s at 44.1 kHz |
|
||
| upstream | https://github.com/Stability-AI/stable-audio-tools |
|
||
| model | `stabilityai/stable-audio-open-1.0` (gated) |
|
||
| license | Stability AI Community (non-commercial / personal / research) |
|
||
|
||
## API surface
|
||
|
||
`server.py` (custom FastAPI shim) exposes:
|
||
|
||
- `GET /health` — returns 200 once the model is loaded.
|
||
- `POST /v1/audio/sfx` — returns a `audio/wav` blob.
|
||
|
||
```jsonc
|
||
{
|
||
"prompt": "a vintage typewriter clacking in a quiet room",
|
||
"negative_prompt": "Low quality.", // optional, default "Low quality."
|
||
"duration": 10.0, // seconds, 0.5 – 47
|
||
"steps": 100, // 10 – 300, more = better quality
|
||
"seed": 42, // optional
|
||
"cfg_scale": 7.0 // 0 – 20
|
||
}
|
||
```
|
||
|
||
Why a custom shim: there's no upstream Docker image and no upstream
|
||
HTTP server for Stable Audio Open. Diffusers exposes
|
||
`StableAudioPipeline` cleanly — the shim is ~70 lines.
|
||
|
||
## Deploy
|
||
|
||
```bash
|
||
scripts/elway irv-ml1 --playbook playbooks/deploy-stable-audio-open.yaml
|
||
```
|
||
|
||
Pre-deploy: visit https://huggingface.co/stabilityai/stable-audio-open-1.0
|
||
once and accept the Community License (HF token alone is not enough —
|
||
the gate is per-model). Then put the token in `SAO_HF_TOKEN` in `.env`
|
||
on the host.
|
||
|
||
## Tunables
|
||
|
||
See `.env.example` — copy to `.env` on the host (lives at
|
||
`/opt/docker/compose/stable-audio-open/.env`, gitignored).
|