Skip to content
This repository has been archived by the owner on Nov 30, 2024. It is now read-only.

GaspardCulis/elevenlabs-unleashed

Repository files navigation

11Labs Unleashed

Provides unlimited ElevenLabs API calls.

Note

This project is no longer maintained and requires efforts and fixes to get running.

Installation

Dependencies

You need the chromedriver in your PATH.

Pip installation

pip install git+https://github.com/GaspardCulis/elevenlabs-unleashed.git

Usage

Create an account

from elevenlabs_unleashed.account import create_account

username, password, api_key = create_account()

Full-on unlimited 11Labs API wrapper

from elevenlabs_unleashed.tts import UnleashedTTS

tts = UnleashedTTS(nb_accounts=2, create_accounts_threads=2)
"""
Will automatically generate 2 accounts in 2 threads. Takes a few seconds.
"""

tts.speak("Hello world!", voice="Josh", model="eleven_multilingual_v1")

How it works

11Labs Unleashed is basically just a web scraper (selenium) that creates unlimited 11Labs accounts programatically.

The ELUAccountManager stores an array of API keys populated in a FIFO queue manner. When calling next(), it returns the last API key in the queue (making sure it is not empty), and refills the queue, making the API key renewal instant after the first next() call as long as nb_accounts is greater than 1 (defaults to 2, more would be overkill).

The UnleashedTTS class is a wrapper around the ElevenLabs API, it automatically creates a given amount of 11Labs accounts and saves them in a userdata json file at initialisation. When calling speak() it will take the account with the higher API usage while still having enough characters left (11Labs bans your IP temporarly if you use too many accounts in a short period of time). At initialisation and after each speak() call, it will update each account's API usage (not saving it to the userdata json file).

You can run the account creation procedure with the browser visible by executing the python process with DEBUG=1 environment variable.

TODO

  • Automatic account deletion when max API usage reached
  • Less crappy Python code and better API
  • Try not to get sued by 11Labs

Notes

Using this code might temporarly ban your IP from using 11Labs API, refer to this

Credits

Thanks to the ElevenLabs team for making the best multi-lingual TTS models in the world. But because the API pricing is such expensive, this library had to be done.

And so thanks to Wikidepia for creating the hektCaptcha-extension allowing me to bypass the 11Labs captcha lol.

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages