Getting Started with Uberduck TTS

This page will help you get started with the Uberduck Text to Speech API. You'll be up and running in a jiffy!

:speaker: Welcome to the Uberduck Text to Speech API! :speaker:

You're on your way to building something cool! Here's how to get started.

๐Ÿ“ Create an API key and secret

To authenticate to the Uberduck API, you'll need to create an API key and secret. To create a key and secret, you'll need to upgrade to one of our paid plans. You can create these in the Manage Account page. Make sure you store your secret somewhere safeโ€”you won't be able to access it again!

:loudspeaker: Generate Speech

Once you have your API and secret you can make an HTTP request to /speak. You can authenticate to the API using Basic Auth, with your key as the username and secret as the password.

curl -u $API_KEY:$API_SECRET \
  'https://api.uberduck.ai/speak' \
  --data-raw '{"speech":"This is just a test.","voice":"zwf"}'
  
# Sample output:
# { "uuid": "abcd1234-7f75-441e-b0f1-1aee401134d9" }

Then, using the UUID from the sample output, poll the /speak-status endpoint.

curl -u $API_KEY:$API_SECRET \
  'https://api.uberduck.ai/speak-status?uuid=abcd1234-96e0-45b3-b036-6feac21764e7'
  
# Sample output:
# {
#   "started_at": "2021-07-09T17:07:58.679918",
#   "failed_at": null,
#   "finished_at": "2021-07-09T17:08:10.445369",
#   "path": "https://uberduck-audio-outputs.s3-us-west-2.amazonaws.com/abcd1234-96e0-45b3-b036-6feac21764e7/audio.wav"
# }

When the request has not yet been processed, path and finished_at are null.

:notebook: List Voices

You can see the set of supported voices on the website, or use the /voices endpoint.

# NOTE: This will output lots of JSON!
curl 'https://api.uberduck.ai/voices?mode=tts-basic' | jq

Whatโ€™s Next