# stabilityai/stable-audio-open-1.0 — vLLM serving recipe

> Text-to-audio generation model (1.2B params) producing up to ~47 s stereo audio at 44.1 kHz, served via vLLM-Omni

Configuration: hardware `h200` (8× H200) · variant `default` (BF16) · task `t2a`

- Interactive page: https://vllm-recipes-cimvhk5sf-inferact-inc.vercel.app/stabilityai/stable-audio-open-1.0
- This configuration as JSON: https://vllm-recipes-cimvhk5sf-inferact-inc.vercel.app/stabilityai/stable-audio-open-1.0.json?hardware=h200

The commands below were rendered for exactly this configuration and take precedence over any example in the guide.

## Other configurations

Change the query string (the same parameters as the page URL) and fetch this URL again. Unknown or incompatible values fall back to the recipe default, so check the Configuration line.

- `hardware`: `h100`, `h200`, `b200`, `gb200`, `b300`, `gb300`, `mi300x`, `mi325x`, `mi350x`, `mi355x`
- `variant`: `default`
- `task`: `t2a`

## Install

Requires vLLM >= 0.22.0.

```bash
uv venv
source .venv/bin/activate
uv pip install -U vllm --torch-backend auto
```

Extra dependencies:

- vLLM 0.22.0 or newer

```bash
uv pip install 'vllm>=0.22.0'
```

- vllm-omni provides the audio generation backend

```bash
uv pip install git+https://github.com/vllm-project/vllm-omni.git
```

- soundfile (recommended) or scipy for WAV output

```bash
uv pip install soundfile
```

## Serve

vLLM-Omni recipe — the generation endpoints and request examples are in the guide below.

```bash
vllm serve stabilityai/stable-audio-open-1.0 \
  --trust-remote-code \
  --enforce-eager \
  --gpu-memory-utilization 0.9 \
  --omni
```

## Guide

> Background reference. Commands in it are examples and may target another configuration — use the Serve section above.

### Overview

[Stable Audio Open 1.0](https://huggingface.co/stabilityai/stable-audio-open-1.0) is
Stability AI's text-to-audio generation model (~1.2B parameters). It produces stereo
audio at 44.1 kHz, up to ~47 seconds. Served via **vLLM-Omni** (not standard vLLM).

Limitations:
- No realistic vocals (no singing or speech).
- English-only training data.
- Better at sound effects than complex music.

### Prerequisites

- vLLM-Omni on top of vLLM 0.22.0 or newer
- `soundfile` or `scipy` for saving audio

### Installation

```bash
uv venv
source .venv/bin/activate
uv pip install git+https://github.com/vllm-project/vllm-omni.git

# Audio saving
uv pip install soundfile
```

### Python Usage

```python
import torch
import soundfile as sf
from vllm_omni.entrypoints.omni import Omni

omni = Omni(model="stabilityai/stable-audio-open-1.0")
generator = torch.Generator(device="cuda").manual_seed(42)

audio = omni.generate(
    "The sound of a dog barking",
    negative_prompt="Low quality.",
    generator=generator,
    guidance_scale=7.0,
    num_inference_steps=100,
    extra={"audio_start_in_s": 0.0, "audio_end_in_s": 10.0},
)

audio_data = audio[0].cpu().float().numpy().T  # [samples, channels]
sf.write("output.wav", audio_data, 44100)
```

### CLI Usage (from vLLM-Omni repo)

```bash
python examples/offline_inference/text_to_audio/text_to_audio.py \
  --model stabilityai/stable-audio-open-1.0 \
  --prompt "The sound of a dog barking" \
  --audio-length 10.0 \
  --num-inference-steps 100 \
  --guidance-scale 7.0 \
  --output dog_barking.wav
```

### Key Parameters

| Parameter | Default | Description |
|-----------|---------|-------------|
| `audio_start_in_s` | 0.0 | Start time in seconds |
| `audio_end_in_s` | 10.0 | End time in seconds |
| `num_inference_steps` | 100 | Denoising steps (higher = better quality, slower) |
| `guidance_scale` | 7.0 | Classifier-free guidance scale |
| `negative_prompt` | "Low quality." | Text to avoid |
| `num_waveforms` | 1 | Samples per prompt |
| `sample_rate` | 44100 | Output sample rate (Hz) |

### License

Released under the Stability AI Community License. Commercial use requires a separate license.

### References

- [Stable Audio Open on Hugging Face](https://huggingface.co/stabilityai/stable-audio-open-1.0)
- [vLLM-Omni text-to-audio example](https://github.com/vllm-project/vllm-omni/blob/main/examples/offline_inference/text_to_audio/text_to_audio.py)
