timhagel / MeloTTS-Docker-API-Server

A docker image to access MeloTTS through API calls
MIT License
11 stars 6 forks source link
ai api docker docker-hub docker-image language llm melotts myshell rest-api server

MeloTTS Docker API Server

A quick easy way to access MeloTTS through REST API calls.

Build Image

Assuming you have docker installed and setup.

(This might take a bit because MeloTTS is a big dependency)

Local

git clone git@github.com:timhagel/MeloTTS-Docker-API-Server.git
cd MeloTTS-Docker-API-Server
docker build -t timhagel/melotts-api-server .

Docker Hub

docker pull timhagel/melotts-api-server

Languages and Speakers

Language

Speaker IDs

Running

Run (CPU) (English)

docker run --name melotts-server -p 8888:8080 -e DEFAULT_SPEED=1 -e DEFAULT_LANGUAGE=EN -e DEFAULT_SPEAKER_ID=EN-Default timhagel/melotts-api-server

Run (GPU) (English)

docker run --name melotts-server -p 8888:8080 --gpus=all -e DEFAULT_SPEED=1 -e DEFAULT_LANGUAGE=EN -e DEFAULT_SPEAKER_ID=EN-Default timhagel/melotts-api-server

Call API

localhost:8888/convert/tts

Use Environment Defaults

Response: .wav

Post body:
{
    "text": "Put input here"
}
Example curl command:
curl http://localhost:8888/convert/tts \
--header "Content-Type: application/json" \
-d '{ "text": "Put input here" }' \
--output "example.wav"

Customize (Everything except for "text" is optional)

Response: .wav

Post body:
{
    "text": "input",
    "speed": "speed",
    "language": "language",
    "speaker_id": "speaker_id"
}
Example curl command:
curl http://localhost:8888/convert/tts \
--header "Content-Type: application/json" \
-d '{
  "text": "Put input here",
  "speed": "0.5",
  "language": "EN",
  "speaker_id": "EN-BR"
}' \
--output "example.wav"

Acknowledgement

This is just an API server for the awesome work of MeloTTS from MyShell