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.7.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.7-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: deepdub-0.1.7.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.7.tar.gz
Algorithm Hash digest
SHA256 886b3cdb4f41f4434ec6d97f6e1069a4c7334c37fb23d852a14ce067038c5208
MD5 e3eeb52e58c68ec963799cb35e9f6d19
BLAKE2b-256 62870d51281ee545d862040668f3486eef0b70552892d1becc639367d0e82a1a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: deepdub-0.1.7-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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 1d51f39dc915d445a18bb71cb3a0d240f43a270151b0abe0c16b40afc91f6c97
MD5 ec46ab553ced04b7f650938c9367c5d6
BLAKE2b-256 cf2d18685c5e8d85496349d40d21e3d2115d90cb328ff7201549840d0fe9183d

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