Python HTTP client for Voxygen TTS API
Project description
Python SDK for Voxygen TTS HTTP API
This folder provides lightweight Python tools for interacting with a Voxygen TTS HTTP API, including the Voxygen Cloud API (https://api.voxygen.fr/) or local deployments.
Python SDK Structure
├─/examples # Examples of common usages for the Python Client
├─/tts # Python package
| └─ client.py # Python Client
├─ speak.py # Python CLI
└─ README.md # This documentation
Installation
Install the official Voxygen Python client from PyPI:
pip install voxygen-tts
Client usage examples in your own Python application
Convert text to audio stream
from voxygen.tts import Client
parameters = {
"text": "Hello. How can I help you ?",
"language": "en-US",
"voice": "Mary"
}
with Client(token="YOUR_TOKEN") as client:
request = client.build_request(parameters)
response = client.send(request)
if client.content_type(response) == voxygen_client.MimeType.AUDIO:
while data := client.read_data(response):
print(f"received chunk of audio data: {len(data)} bytes")
Retrieve all available voices from your subscription
from voxygen.tts import Client
with Client(token="YOUR_TOKEN", url="info") as client:
request = client.build_request({})
response = client.send(request)
if response.status == 200:
info = client.read_json(response)
print("Available voices:")
for voice in info.get("voices", []):
print(voice["name"])
else:
print("Error:", response.status, response.read().decode())
Command-Line usage examples
The CLI tool is called voxygen-speak and can call any compatible Voxygen TTS API.
Quick Start example
export VOXYGEN_TOKEN="your_token_here"
voxygen-speak
-t $VOXYGEN_TOKEN \
-p text="Hello world" \
-p voice=Mary \
-o output.wav
If you don’t want to pass the
-t (--token)option for each command, you can modify the default value oftokeninmain()from thespeak.pyfile
You can also run the CLI tool directly with Python:
python speak.py [options]
Generate an audio from a text file
voxygen-speak \
-i input-text.txt \
-o output.wav
JSON response mode
voxygen-speak \
-j \
-p text="Hello as JSON" \
-p voice=Mary
** Retrieve from /tts/info request **
voxygen-speak info
CLI options
| Option | Long | Description |
|---|---|---|
-t TOKEN |
--token TOKEN |
Bearer token authentication |
-p key=value |
--param key=value |
TTS parameters |
-i file |
— | Read text from file |
-o file |
— | Save audio to file |
-j |
--json |
Request JSON response |
-h |
--help |
Help text |
Troubleshooting
401 Unauthorized
Common causes:
- Token not provided
- Invalid token
- Token expired or revoked
400 Bad Request
Common causes:
- Missing required TTS parameters
- Incorrect endpoint URL (for example, missing or extra
/tts) - Unsupported parameter values
503 Service Unavailable
The service may be temporarily unavailable due to high load or maintenance.
The Python client automatically retries requests when a 503 Service Unavailable response is returned.
Default retry settings:
- 6 retries
- 10 seconds between attempts
You can customize this behavior:
client.set_retry_policy(max_retries=2, retry_after=5)
Retries apply only to
503responses. Other errors are returned immediately.
If the issue persists after multiple retries, wait a few minutes before sending a new request.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file voxygen_tts-1.4.0.tar.gz.
File metadata
- Download URL: voxygen_tts-1.4.0.tar.gz
- Upload date:
- Size: 10.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0dfee681162fff5804f1aee3e7e0227e3ce0d6aba7c99466b913d5933c0ed7e0
|
|
| MD5 |
21b5ba5a885dfef23c4fba5d00a3a197
|
|
| BLAKE2b-256 |
a0280a727485c8dbc75bf30a85955a155525facf8126a3149c43f78e30c59aa4
|
File details
Details for the file voxygen_tts-1.4.0-py3-none-any.whl.
File metadata
- Download URL: voxygen_tts-1.4.0-py3-none-any.whl
- Upload date:
- Size: 8.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4720495be35be696169c4214924d593b53ca1a60ed95920c9dfc3f3bafb22080
|
|
| MD5 |
ff079ebe71022c8570672f44181aee24
|
|
| BLAKE2b-256 |
458058a5788bb17830fe23fe2f3fb0b4f985783382361b2c3256825e4c22fca4
|