This project has been archived by its maintainers, and is no longer receiving any updates.
outloud
Beautiful TUI for text-to-speech. Gemini, OpenAI, or local. One command.
Features
- Multi-provider — Google Gemini, OpenAI, or KittenTTS (local, free, no API key)
- Beautiful TUI — full terminal UI with voice picker, style presets, progress bar
- Cost calculator — see estimated cost before generating
- 30+ voices — across all providers
- Style control — warm, whisper, energetic, audiobook, newsreader, and more
- Smart defaults — auto-detects available providers, zero config needed
- Direct CLI mode — pipe text, pass files, or use inline for scripting
- History — click to replay any past generation
Install
# Cloud providers (Gemini + OpenAI) — lightweight
pipx install outloud-tts
# Include local TTS (KittenTTS) — free, no API key needed
pipx install outloud-tts[local]
Requires ffmpeg:
brew install ffmpeg # macOS
sudo apt install ffmpeg # Linux
Quick Start
# Launch the TUI
outloud
# Direct generation
outloud --direct "Hello world"
outloud --direct ~/Documents/article.md
pbpaste | outloud --direct
# Pick a provider
outloud --direct -p OpenAI "Hello from OpenAI"
outloud --direct -p Local "Free and local"
# List voices and providers
outloud --voices
outloud --providers
Providers
| Provider | Voices | Style Control | Cost | API Key |
|---|---|---|---|---|
| Gemini | 30 | Yes | ~$0.01-0.04/1K chars | GEMINI_API_KEY |
| OpenAI | 13 | Yes (gpt-4o-mini-tts) | ~$0.015/1K chars | OPENAI_API_KEY |
| Local | 8 | No | Free | None |
Setup
Set one or more API keys:
export GEMINI_API_KEY="your-key"
export OPENAI_API_KEY="your-key"
Or skip API keys entirely — install with [local] for free offline TTS.
Keyboard Shortcuts
| Key | Action |
|---|---|
Ctrl+G |
Generate |
Ctrl+P |
Play last |
Ctrl+O |
Open output folder |
Ctrl+L |
Clear text |
Ctrl+Q |
Quit |
Support
If outloud saved you time, consider:
- Star this repo — it helps others find it
- Buy me a coffee — building from Lebanon on 29 Mbps
License
MIT
Metadata
Release files for outloud-tts 0.4.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| outloud_tts-0.4.1.tar.gz | 22.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| outloud_tts-0.4.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 50.4 kB
Release files / outloud_tts-0.4.1.tar.gz
| Download URL | outloud_tts-0.4.1.tar.gz |
|---|---|
| Size | 22.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ed875cb4f1c9336a92c461fdc70225d631c9dfe6ae2991e44fd0d93fe2e50fe2
|
|
BLAKE2b-256 checksum How to use checksums |
9abd7b39ff7a8592ccb3e676ec7b3beb3bd9f5090ca207ca9dfa41ab8a9fbcb9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / outloud_tts-0.4.1-py3-none-any.whl
| Download URL | outloud_tts-0.4.1-py3-none-any.whl |
|---|---|
| Size | 27.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3689ee7026639d91181b67aab22db9fd129c5d4f5397878507ceefd6ebeaebda
|
|
BLAKE2b-256 checksum How to use checksums |
9a8774cadfe87053dffa6a3cf95da66f6b7d680d3200d7a21e9ca2c20ce05cc4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Security for outloud-tts 0.4.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.