Skip to main content

Complete python wrapper for the elevenlabs API

Project description

elevenlabslib

Buy Me a Coffee at ko-fi.com PyPI - Downloads PyPI GitHub last commit

Python wrapper for the full elevenlabs API.

NOTE: There's now an official wrapper, but this project will continue to be maintained.

The main reason is the different approach to playback. By doing playback purely within python instead of piping to an external process, there are a couple of important extra things that can be done, such as:

  • Playback on a specific output device
  • Running functions exactly when the playback begins and ends
  • Controlling the playback from within python

Documentation now available at https://elevenlabslib.readthedocs.io/en/latest/

Installation

Just run pip install elevenlabslib, it's on pypi.

Note: On Linux, you may need to install portaudio. On debian and derivatives, it's sudo apt-get install libportaudio2, and possibly also sudo apt-get install python3-pyaudio.

IMPORTANT: The library requires libsndfile v1.1.0 or newer, as that is when mp3 support was introduced. This won't be an issue on Windows, but may be relevant on other platforms. Check the soundfile repo for more information.

Usage

For a far more comprehensive example, check example.py or the docs.

Here is a very simple usage sample.

  • Retrieves a voice based on the name
  • Plays back (using the included playback functions that use sounddevice) all its samples (and the preview)
  • Generates and plays back a new audio
  • Deletes the newly created audio from the user history
from elevenlabslib import *

user = User("API_KEY")
voice = user.get_voices_by_name_v2("Rachel")[0]  # This is a list because multiple voices can have the same name

voice.generate_play_audio_v2("Test.", playbackOptions=PlaybackOptions(runInBackground=False))

for historyItem in user.get_history_items_paginated():
    if historyItem.text == "Test.":
        # The first items are the newest, so we can stop as soon as we find one.
        historyItem.delete()
        break

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

elevenlabslib-0.32.1.tar.gz (57.0 kB view details)

Uploaded Source

Built Distribution

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

elevenlabslib-0.32.1-py3-none-any.whl (61.2 kB view details)

Uploaded Python 3

File details

Details for the file elevenlabslib-0.32.1.tar.gz.

File metadata

  • Download URL: elevenlabslib-0.32.1.tar.gz
  • Upload date:
  • Size: 57.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for elevenlabslib-0.32.1.tar.gz
Algorithm Hash digest
SHA256 fb950fe4ef68ac6375bfb497ad7d1548c5812a75eed4dd96214d567ab94e3f33
MD5 02e737d47829f63927b704951359b995
BLAKE2b-256 4bfd3968de71a0faa3acd7f4bd2150bac41e2034dc972eeb375c7e61b8d71601

See more details on using hashes here.

File details

Details for the file elevenlabslib-0.32.1-py3-none-any.whl.

File metadata

  • Download URL: elevenlabslib-0.32.1-py3-none-any.whl
  • Upload date:
  • Size: 61.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for elevenlabslib-0.32.1-py3-none-any.whl
Algorithm Hash digest
SHA256 01b58215e12717100fc6de7d2c4e15bdcdde23abb627db81cd445cba1778abad
MD5 ff527b7f75c99c142a1a5ac7cf20debd
BLAKE2b-256 cedf26b537f352894840f141f67cbbb802c26ca2e305881f83ba9b3fcd28db9b

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