# Stable Audio 3 Medium Base Audio Outpainting

> Stable Audio 3 Medium Base audio outpainting is the foundational 1.4 billion parameter checkpoint that extends existing stereo audio with causal continuation guided by text prompts.


## Overview

- **Endpoint**: `https://fal.run/fal-ai/stable-audio-3/medium/base/audio-outpainting`
- **Model ID**: `fal-ai/stable-audio-3/medium/base/audio-outpainting`
- **Category**: audio-to-audio
- **Kind**: inference
**Tags**: music, extension, continuation



## Pricing

- **Price**: $0.0554 per audios

For more details, see [fal.ai pricing](https://fal.ai/pricing).

## API Information

This model can be used via our HTTP API or more conveniently via our client libraries.
See the input and output schema below, as well as the usage examples.


### Input Schema

The API accepts the following input parameters:


- **`negative_prompt`** (`string`, _optional_):
  Text description of qualities to avoid in the output. Default value: `""`
  - Default: `""`

- **`num_inference_steps`** (`integer`, _optional_):
  Number of sampling steps. Base (non-distilled) checkpoints typically need ~50 for good quality. Default value: `50`
  - Default: `50`
  - Range: `1` to `100`

- **`guidance_scale`** (`float`, _optional_):
  Classifier-free guidance scale. Higher values follow the prompt more strictly; ~7.0 is a good starting point for base checkpoints. Default value: `7`
  - Default: `7`
  - Range: `0` to `25`

- **`seed`** (`integer`, _optional_):
  Random seed for reproducible outputs. Omit for a random seed.

- **`enable_prompt_expansion`** (`boolean`, _optional_):
  If True, the prompt will be expanded using an LLM for more detailed and higher quality results.
  - Default: `false`

- **`enable_safety_checker`** (`boolean`, _optional_):
  Enable NSFW content safety checking. Default value: `true`
  - Default: `true`

- **`sync_mode`** (`boolean`, _optional_):
  If True, the audio is returned inline as a data URI and the result is not saved to the request history.
  - Default: `false`

- **`output_format`** (`OutputFormatEnum`, _optional_):
  Container format for the generated audio output. Default value: `"mp3"`
  - Default: `"mp3"`
  - Options: `"mp3"`, `"wav"`, `"flac"`, `"ogg"`, `"opus"`, `"m4a"`, `"aac"`

- **`bitrate`** (`string`, _optional_):
  Audio bitrate for compressed output formats (e.g., mp3, aac, opus). Format e.g. '192k' or '320k'. Ignored for lossless formats (wav, flac). Default value: `"192k"`
  - Default: `"192k"`

- **`prompt`** (`string`, _required_):
  Text description guiding the extension content.
  - Examples: "soft strings continue the melody"

- **`audio_url`** (`string`, _required_):
  Source audio to extend.
  - Examples: "https://storage.googleapis.com/falserverless/model_tests/diffrythm/rock_en.wav"

- **`extend_seconds_before`** (`float`, _optional_):
  Seconds of new audio to generate before the source audio.
  - Default: `0`
  - Range: `0` to `380`
  - Examples: 0

- **`extend_seconds_after`** (`float`, _optional_):
  Seconds of new audio to generate after the source audio.
  - Default: `0`
  - Range: `0` to `380`
  - Examples: 30



**Required Parameters Example**:

```json
{
  "prompt": "soft strings continue the melody",
  "audio_url": "https://storage.googleapis.com/falserverless/model_tests/diffrythm/rock_en.wav"
}
```

**Full Example**:

```json
{
  "num_inference_steps": 50,
  "guidance_scale": 7,
  "enable_safety_checker": true,
  "output_format": "mp3",
  "bitrate": "192k",
  "prompt": "soft strings continue the melody",
  "audio_url": "https://storage.googleapis.com/falserverless/model_tests/diffrythm/rock_en.wav",
  "extend_seconds_before": 0,
  "extend_seconds_after": 30
}
```


### Output Schema

The API returns the following output format:

- **`audio`** (`File`, _required_):
  The generated audio clip.

- **`seed`** (`integer`, _required_):
  The random seed used for generation.

- **`prompt`** (`string`, _required_):
  The prompt used for generation.



**Example Response**:

```json
{
  "audio": {
    "url": "",
    "content_type": "image/png",
    "file_name": "z9RV14K95DvU.png",
    "file_size": 4404019
  },
  "prompt": ""
}
```


## Usage Examples

### cURL

```bash
curl --request POST \
  --url https://fal.run/fal-ai/stable-audio-3/medium/base/audio-outpainting \
  --header "Authorization: Key $FAL_KEY" \
  --header "Content-Type: application/json" \
  --data '{
     "prompt": "soft strings continue the melody",
     "audio_url": "https://storage.googleapis.com/falserverless/model_tests/diffrythm/rock_en.wav"
   }'
```

### Python

Ensure you have the Python client installed:

```bash
pip install fal-client
```

Then use the API client to make requests:

```python
import fal_client

def on_queue_update(update):
    if isinstance(update, fal_client.InProgress):
        for log in update.logs:
           print(log["message"])

result = fal_client.subscribe(
    "fal-ai/stable-audio-3/medium/base/audio-outpainting",
    arguments={
        "prompt": "soft strings continue the melody",
        "audio_url": "https://storage.googleapis.com/falserverless/model_tests/diffrythm/rock_en.wav"
    },
    with_logs=True,
    on_queue_update=on_queue_update,
)
print(result)
```

### JavaScript

Ensure you have the JavaScript client installed:

```bash
npm install --save @fal-ai/client
```

Then use the API client to make requests:

```javascript
import { fal } from "@fal-ai/client";

const result = await fal.subscribe("fal-ai/stable-audio-3/medium/base/audio-outpainting", {
  input: {
    prompt: "soft strings continue the melody",
    audio_url: "https://storage.googleapis.com/falserverless/model_tests/diffrythm/rock_en.wav"
  },
  logs: true,
  onQueueUpdate: (update) => {
    if (update.status === "IN_PROGRESS") {
      update.logs.map((log) => log.message).forEach(console.log);
    }
  },
});
console.log(result.data);
console.log(result.requestId);
```


## Additional Resources

### Documentation

- [Model Playground](https://fal.ai/models/fal-ai/stable-audio-3/medium/base/audio-outpainting)
- [API Documentation](https://fal.ai/models/fal-ai/stable-audio-3/medium/base/audio-outpainting/api)
- [OpenAPI Schema](https://fal.ai/api/openapi/queue/openapi.json?endpoint_id=fal-ai/stable-audio-3/medium/base/audio-outpainting)

### fal.ai Platform

- [Platform Documentation](https://docs.fal.ai)
- [Python Client](https://docs.fal.ai/clients/python)
- [JavaScript Client](https://docs.fal.ai/clients/javascript)
