Metadata-Version: 2.4
Name: utts
Version: 0.1.2
Summary: Universal interface to test and compare text-to-speech providers
Author-email: Dave Savostyanov <ds@artifactory.ai>
License: MIT
License-File: LICENSE
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.11.12
Requires-Dist: cartesia>=2.0.2
Requires-Dist: elevenlabs>=1.57.0
Requires-Dist: hume>=0.8.3
Requires-Dist: nest-asyncio>=1.6.0
Requires-Dist: openai>=1.76.2
Requires-Dist: pandas>=2.2.2
Requires-Dist: pydantic-settings>=2.9.1
Requires-Dist: pydantic>=2.11.4
Requires-Dist: replicate>=1.0.6
Requires-Dist: timeout-function-decorator>=2.0.0
Requires-Dist: zyphra>=0.1.6
Description-Content-Type: text/markdown

# UTTS
[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/arch1baald/utts/blob/main/examples/example.ipynb)

Universal interface to test and compare text-to-speech models. Currently supports:
- [OpenAI TTS](https://platform.openai.com/docs/guides/text-to-speech)
- [ElevenLabs](https://elevenlabs.io/)
- [Kokoro](https://replicate.com/cjwbw/kokoro)
- [Orpheus](https://replicate.com/scuffedcontent/orpheus-v1)
- [Zyphra/Zonos](https://playground.zyphra.com/audio)
- [Hume AI](https://dev.hume.ai/docs/text-to-speech-tts/quickstart/python)
- [Cartesia](https://docs.cartesia.ai/)


## Installation

```bash
pip install utts
```

or install from source:
```bash
pip install --upgrade git+https://github.com/arch1baald/utts.git
```

Obtain API keys for the services you want to use:
- [OpenAI](https://platform.openai.com/settings/api-keys)
- [ElevenLabs](https://elevenlabs.io/app/settings/api-keys)
- [Replicate](https://replicate.com/account/api-tokens) (for Kokoro and Orpheus)
- [Zyphra/Zonos](https://playground.zyphra.com/settings/api-keys)
- [Hume AI](https://platform.hume.ai/settings/keys)
- [Cartesia](https://play.cartesia.ai/keys)

## Quick Start

The simplest way to get started is to open the notebook in Colab:

[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/arch1baald/utts/blob/main/examples/example.ipynb)


Or test from Jupyter Notebook:
```python
import os
from IPython.display import Audio
import utts.openai

os.environ["OPENAI__API_KEY"] = "<openai-api-key>"
audio = utts.openai.generate('Hello, world!', 'echo')
Audio(audio)
```

## Development

### Prerequisites

- Python 3.11.12 or higher
- [uv](https://docs.astral.sh/uv/getting-started/installation/) - Modern Python package installer and resolver
- Make - for running development commands

### Setup

Clone the repository:
```bash
git clone https://github.com/arch1baald/utts.git
cd utts
```

Install in development mode:
```bash
make install-dev
```

### Development Commands

For all available commands:
```bash
make help
```

Run linting and type checking:
```bash
make lint
```
