# Chatterbox TTS

> Run Chatterbox TTS by infsh online or via API. Pay per run, no setup.

**URL:** https://inference.sh/apps/infsh/chatterbox
**Last updated:** 2026-03-05

---

Converts written text into spoken audio.

- app: `infsh/chatterbox`
- maker: [infsh](https://inference.sh/apps/infsh.md)
- category: [audio](https://inference.sh/apps/category/audio.md)
- input → output: text → speech
- tasks: [text to speech](https://inference.sh/apps/tag/text-to-speech.md)
- price: GPU time, billed per millisecond
- runs via: api, javascript and python sdk, belt cli, mcp

## chatterbox API Guide

### About
converts written text into spoken audio.

### 1. Calling the API

#### Install the Client

```bash
pip install inferencesh
```

#### Setup Your API Key
Set `INFERENCE_API_KEY` as an environment variable. Get your key from settings → api keys.

```bash
export INFERENCE_API_KEY="inf_your_key"
```

#### Run and Get Result

```python
import os
from inferencesh import inference

client = inference(api_key=os.environ["INFERENCE_API_KEY"])


result = client.run({
        "app": "infsh/chatterbox@7k5q02bg",
        "input": {
            "text": "text"
        }
    })

print(result["output"])
```

#### Stream Live Updates

```python
import os
from inferencesh import inference

client = inference(api_key=os.environ["INFERENCE_API_KEY"])


## stream=True yields updates as they arrive
for update in client.run({
        "app": "infsh/chatterbox@7k5q02bg",
        "input": {
            "text": "text"
        }
    }, stream=True):
    if update.get("progress"):
        print(f"progress: {update['progress']}%")
    if update.get("output"):
        print(f"output: {update['output']}")
```

### 2. Authentication
The API uses API keys for authentication. See the authentication docs for detailed setup instructions.

### 3. Files

#### Automatic Upload

```python
## local file paths are automatically uploaded
result = client.run({
    "app": "infsh/chatterbox@7k5q02bg",
    "input": {
        "image": "/path/to/local/image.png",  # detected & uploaded
        "audio": "https://example.com/audio.mp3",  # url passed through
    }
})
```

#### Manual Upload

```python
## upload and get a hosted URL
file = client.files.upload("/path/to/file.png")
print(file.uri)  # https://cloud.inference.sh/...
```

### 4. Schema

#### Input
- **model** (string): Model to use: 'original' (works without voice ref), 'turbo' (fastest, requires voice ref, supports [laugh] tags), or 'multilingual' (23+ languages)
- **mode** (string): Mode of operation: 'tts' (Text-to-Speech) or 'vc' (Voice Conversion, original model only)
- **text** (string) *required*: Text to convert to speech. Turbo model supports tags like [laugh], [cough], [chuckle]
- **voice_reference** (string): Reference audio file for voice cloning. Required for turbo model.
- **language** (string): Language code for multilingual model (ar, da, de, el, en, es, fi, fr, he, hi, it, ja, ko, ms, nl, no, pl, pt, ru, sv, sw, tr, zh)
- **source_audio** (string): Source audio for voice conversion (VC mode with original model only)
- **target_voice_style** (string): Target voice style for voice conversion (VC mode with original model only)
- **exaggeration** (number): Expressiveness control (original/multilingual). Higher (0.7+) = dramatic, lower (0.3-) = neutral
- **cfg_weight** (number): Voice matching strength (original/multilingual). Lower (0.3) = natural variation, higher (0.7+) = closer match

#### Output
- **audio_output** (string): Generated audio file

## other audio apps

- [Eleven Flash v2.5](https://inference.sh/apps/elevenlabs/eleven-flash-v2-5.md): $0.04/1K characters
- [Eleven Multilingual v2](https://inference.sh/apps/elevenlabs/eleven-multilingual-v2.md): $0.08/1K characters
- [Eleven v3](https://inference.sh/apps/elevenlabs/eleven-v3.md): $0.08/1K characters
- [Eleven v4 Turbo](https://inference.sh/apps/elevenlabs/eleven-v4-turbo.md): $0.04/1K characters
- [Eleven v4](https://inference.sh/apps/elevenlabs/eleven-v4.md): $0.08/1K characters

## faq

### how much does Chatterbox TTS cost?

GPU time, billed per millisecond. you pay per run from your inference shell credits. no subscription is required.

### how do I run Chatterbox TTS via api?

call infsh/chatterbox with the javascript or python sdk, the rest api, or `belt app run infsh/chatterbox` from a terminal. the api reference on this page lists every input.

### who makes Chatterbox TTS?

Chatterbox TTS is made by infsh and runs on inference shell. every infsh app is listed at https://inference.sh/apps/infsh.

### can my agent use Chatterbox TTS?

yes. agents call it as a tool through the inference shell mcp server (https://api.inference.sh/mcp), the belt cli or the sdk, and pay per run like you do.

### what are the alternatives to Chatterbox TTS?

other audio apps on inference shell include Eleven Flash v2.5, Eleven Multilingual v2, Eleven v3, Eleven v4 Turbo. they run through the same api, so switching is a one-line change.
