Skip to main content

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-key flag with CLI commands

License

[License information]

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

deepdub-0.1.8.tar.gz (8.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

deepdub-0.1.8-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

Details for the file deepdub-0.1.8.tar.gz.

File metadata

  • Download URL: deepdub-0.1.8.tar.gz
  • Upload date:
  • Size: 8.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.10

File hashes

Hashes for deepdub-0.1.8.tar.gz
Algorithm Hash digest
SHA256 29bf0e96425663f2a9f4d8dcde4b8a6952fa1eeee41086a3b8a44372b4a3b761
MD5 2a36038ffb319b78a69f2044fe39b5e0
BLAKE2b-256 e3011078d4584db8b9f708d4186b04b40a61abfc6ba5925d97e1d73ec0d1750a

See more details on using hashes here.

File details

Details for the file deepdub-0.1.8-py3-none-any.whl.

File metadata

  • Download URL: deepdub-0.1.8-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

Hashes for deepdub-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 73e4b2deabaf6a2cedbc7fe276344ae3006b7686d9c53438870f8ce938a77920
MD5 b93e1776d64adc4c8ddc86f59afccded
BLAKE2b-256 671a7264cf45c29f92327a66ae0750c2e9dbc6cdd269587e8bb52b6ad6f6be19

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page