A Python client for interacting with the Deepdub API
Project description
DeepDub
A Python client for interacting with the DeepDub API, which provides text-to-speech capabilities with voice cloning features.
Installation
pip install deepdub
Features
- Interact with DeepDub's text-to-speech (TTS) API
- Add and manage voice profiles
- Generate speech from text with specified voices
- Command-line interface for easy usage
Requirements
- Python 3.11+
- API key from DeepDub
Usage
Python API Reference
Initialization
from deepdub import DeepdubClient
# Initialize with API key directly
client = DeepdubClient(api_key="your-api-key")
# Or use environment variable
# export DEEPDUB_API_KEY=your-api-key
client = DeepdubClient()
List Voices
# Get all available voices
voices = client.list_voices()
Returns a list of voice dictionaries.
Add Voice
# Add a new voice from audio file
response = client.add_voice(
data=Path("path/to/audio.mp3"), # Path object, bytes, or base64 string
name="Voice Name",
gender="male", # "male" or "female"
locale="en-US",
publish=False, # Default: False
speaking_style="Neutral", # Default: "Neutral"
age=0 # Default: 0
)
Returns the server response with voice information.
Text-to-Speech
# Generate speech from text
audio_data = client.tts(
text="Text to be converted to speech",
voice_prompt_id="your-voice-id",
model="dd-etts-2.5", # Default: "dd-etts-2.5"
locale="en-US" # Default: "en-US"
)
# Save the audio data
with open("output.mp3", "wb") as f:
f.write(audio_data)
Returns binary audio data.
Retroactive Text-to-Speech
# Get URL for generated audio
response = client.tts_retro(
text="Text to be converted to speech",
voice_prompt_id="your-voice-id",
model="dd-etts-2.5", # Default: "dd-etts-2.5"
locale="en-US" # Default: "en-US"
)
# Access the URL
audio_url = response["url"]
Returns a dictionary containing the URL to the generated audio.
Command Line Interface
# List available voices
deepdub list-voices
# Add a new voice
deepdub add-voice --file path/to/audio.mp3 --name "Voice Name" --gender male --locale en-US
# Generate text-to-speech
deepdub tts --text "Hello, world!" --voice-prompt-id your-voice-id
Python API
from deepdub import DeepdubClient
# Initialize with your API key (or set DEEPDUB_API_KEY environment variable)
client = DeepdubClient(api_key="your-api-key")
# List available voices
voices = client.list_voices()
print(voices)
# Generate speech from text
response = client.tts(
text="Hello, this is a test",
voice_prompt_id="your-voice-id",
locale="en-US"
)
# Save the audio output
with open("output.mp3", "wb") as f:
f.write(response)
Authentication
Set your API key either:
- As an environment variable:
DEEPDUB_API_KEY=your-key - When initializing the client:
DeepdubClient(api_key="your-key") - Using the
--api-keyflag with CLI commands
License
[License information]
Project details
Release history Release notifications | RSS feed
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 deepdub-0.1.4.tar.gz.
File metadata
- Download URL: deepdub-0.1.4.tar.gz
- Upload date:
- Size: 8.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
185f98e55c54b67b1ab6238b816c02e66f6e4f5d54a6d64a6a7d9222f92d0415
|
|
| MD5 |
a689d0f1d64debf27225f936313fc337
|
|
| BLAKE2b-256 |
e54ebcbe831855d7d24b197668e924cd9d51a82c17d68ea25ce97c853c528fe0
|
File details
Details for the file deepdub-0.1.4-py3-none-any.whl.
File metadata
- Download URL: deepdub-0.1.4-py3-none-any.whl
- Upload date:
- Size: 8.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb659a1cb85159836244e7d0e442f1def74a83e8fc6ca318ec4a6c9e5763d880
|
|
| MD5 |
6652a75ae5cc67847c5b41c6b592cebd
|
|
| BLAKE2b-256 |
9b6b5d2fa8ed6a8a7c0d09b9671361ee123712d026b7bb6674b28c145d3721ba
|