> ## Documentation Index
> Fetch the complete documentation index at: https://developer.audioshake.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Python Library & CLI

> The official Python client and command-line tool for the AudioShake API

`audioshake` is the official Python library and CLI for the AudioShake API — typed clients with automatic retries, and an `audioshake` command for processing files, folders, and URLs from the terminal.

```bash theme={null}
pip install audioshake
```

Authenticate with an [API key](https://developer.audioshake.ai/quickstart.md) exported as `AUDIOSHAKE_API_KEY`, or sign in from the terminal with `audioshake login`.

> [card] [GitHub](https://github.com/audioshake/audioshake-python)
>
> Source, issues, and changelog.

> [card] [PyPI](https://pypi.org/project/audioshake/)
>
> Releases and version history.

## Library

One call uploads the file, creates the Task, waits for it, and downloads the outputs:

```python theme={null}
from audioshake import AudioShake

with AudioShake() as client:  # reads AUDIOSHAKE_API_KEY
    result = client.run("song.wav", ["vocals", "drums"], output_dir="stems/song")

print(result.task.cost)                # credits charged
print([str(f) for f in result.files])  # stems/song/vocals.wav, stems/song/drums.wav
```

Each step is also available on its own (`client.assets.upload`, `client.tasks.create`, `client.tasks.wait`, `client.tasks.download`), errors are typed, and `AsyncAudioShake` offers the same surface for asyncio. See the [library reference](https://github.com/audioshake/audioshake-python/blob/main/docs/library.md).

## CLI

`audioshake run` takes files, folders, and URLs, shows a live progress tree, and writes one folder per source:

```bash theme={null}
audioshake run song.wav -m vocals,drums -o stems/
audioshake run https://example.com/talk.mp3 -m transcription --language en
audioshake run panel.wav -m multi_voice --num-speakers 3

audioshake models        # what your account can run, with cost and formats
audioshake tasks list    # recent tasks
```

Or run it without installing anything:

```bash theme={null}
uvx audioshake run song.wav -m vocals,drums
```

Pass `--json` for machine-readable output in scripts. See the [CLI reference](https://github.com/audioshake/audioshake-python/blob/main/docs/cli.md).

> [!NOTE]
>
> Requires Python 3.10+. The library is pre-1.0: breaking changes are called out in the [changelog](https://github.com/audioshake/audioshake-python/blob/main/CHANGELOG.md) and bump the minor version.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.