tiktok-voice icon indicating copy to clipboard operation
tiktok-voice copied to clipboard

Simple Python script to interact with the TikTok TTS API

TikTok Text-to-speech API

This is a simple Python program that accesses the TikTok API and gives you an .mp3 file with what it says in the specified voice.

If you are stuck and need assistance, please ask me in my Discord server in #tiktok-voice (quickest response) or via the Issues tab.

If you like this project, feel free to support me via this website!

If you are the creator for a project which uses this, I would just like to thank you! I am so glad I am making people's lives easier with things. Please do credit me however either using the GitHub project link or my Twitter username.

NOTICE - NEW VOICES

We need your help! There are so many more voices on the TikTok platform that we don't know about! Please let us know if you find one either via the Voices issue or the Discord server!

Usage

To use this, you need Python 3.8+ and all of the required packages installed.

To install required packages, run pip3 install playsound requests or pip3 install -r requirements.txt

Read from file

  1. Make sure you have your text in plaintext. You can name it anything
  2. Run py main.py -v VOICE -f FILENAME.txt (see voices below)

There is no character limit, though only latin characters are supported.

Read from argument

  1. Run py main.py -v VOICE -t TEXT -n FILENAME.mp3 (see voices below)

This has a 200 character limit, but you can have non-latin characters (as long as it has a TTS supported voice)

Play from text

Optionally, if you want to listen to the file instead of saving to a file, you can use the -p argument to play directly and then delete. If you get error 263, ignore it, it doesn't affect the program itself.

Voice Options

Since the list has gotten quite large, I have moved it to codes.md

Languages Supported:

  • Portuguese (Brazil)
  • German
  • English (Australia)
  • English (United Kingdom)
  • English (United States)
  • English (Disney)
  • Spanish
  • Spanish (Mexico)
  • French
  • Indonesian
  • Japanese
  • Korean

Samples

You can find samples of all the voices in /samples/

Credits

  • Spotlight for giving me the idea for this program
  • Myself for creating this
  • scanlime for giving the voice options
  • Komfudo for translating the sample text to German
  • Philemax for translating the sample text to French
  • Ash for adding command line arguments
  • BigJ64 for adding a play argument