Files
esh-pfi-infrastructure/stacks/stable-audio-open
vh e0d1c44137 chore(fleet): repoint stale irv-ml1 refs (10.100.79.3 -> irv-ml1.nh3.internal)
The 2026-09-06 headscale cutover retired irv-ml1's wg0 tunnel IP 10.100.79.3
(now 10.6.110.50). Repointed all LIVE canonical refs to the DNS NAME so the next
move can't re-break them: homepage.href/siteMonitor labels across 25 stack
composes, load-bearing env defaults (asset-engine INFERENCE_HOST, open-webui
AUDIO_TTS_OPENAI_API_BASE_URL, skaldsong SKALDSONG_TTS_BASE_URL, zonos-gateway
ZONOS_URL, dia), homepage services.yaml manual cards (Voice Design Studio,
IRV-ML1), and servers/irv-ml1/ssh-target. Updated the stale 'WG tunnel' comment
to the mesh reality.

Left as-is: README curl-examples and .env.example comments (docs), and historical
mentions in CLAUDE.md/persistent-memory. NOTE: applying the label repoints to the
RUNNING irv-ml1 containers needs a recreate per service (labels read at creation);
deployed .env values are separate from these canonical defaults.
2026-09-07 15:08:56 -07:00
..

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.
{
  "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

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).