Your own voices (ElevenLabs)
As well as the built-in Alexa voices, Voice Monkey can speak in voices from your own ElevenLabs account: their library voices, and any voice you’ve cloned or designed there. You connect your ElevenLabs API key once, save the voices you want to use, then pick them anywhere you’d choose an Alexa voice.
ElevenLabs bills you directly for the speech you generate, under your own ElevenLabs plan. Voice Monkey doesn’t charge extra.
Connect ElevenLabs
Section titled “Connect ElevenLabs”- Sign in to ElevenLabs and open Developers → API keys.
- Create a key and restrict it. Voice Monkey needs Text to Speech access and Voices read access. Add User read access too if you’d like to see your ElevenLabs credits in the console.
- Optionally set a credit limit on the key, so it can never use more than you’re happy with.
- In the Voice Monkey console, go to Integrations → ElevenLabs, paste the key and click Connect.
Voice Monkey checks the key with ElevenLabs, then stores it encrypted. It’s never shown again; the console only shows its last four characters so you can recognise it. Disconnecting deletes it.
Save a voice
Section titled “Save a voice”On the ElevenLabs page, click Add a voice:
- Name: what you’ll see in voice pickers, e.g. “Butler”.
- ElevenLabs voice: any voice in your ElevenLabs library. To use one from the ElevenLabs Voice Library, add it to your library in ElevenLabs first, then click Refresh.
- Model: which ElevenLabs model generates the speech. Eleven v4 Turbo is fast and expressive and suits most announcements. Eleven v4 sounds best but takes a little longer. Eleven Flash v2.5 is the fastest but can read numbers, dates and times oddly.
- Stability, Similarity, Style exaggeration and Speed: the same settings as in ElevenLabs.
- Alexa fallback voice: used if ElevenLabs can’t generate the speech (see When ElevenLabs can’t speak).
Use Generate preview to hear it before saving. Each preview uses ElevenLabs credits, like an announcement.
Every saved voice gets an ID made from its name, like butler-8k2p9. Renaming the voice later keeps its ID, so nothing that uses it breaks. Changing its model or settings changes how it sounds everywhere it’s used.
Use it
Section titled “Use it”- Flows: choose the voice in a Speech or Question node.
- Reminders: choose it under Sound, voice and screen.
- Inbound webhooks: choose it on an Announcement action.
- API: pass its ID as
voiceto the Announcement API or the Reminders API. List every voice you can use withGET /voices. - Home Assistant, Zapier and AI assistants: use the ID wherever you’d give a voice. AI assistants can look it up with
list_voices, so you can just ask for “the Butler voice”.
curl -X POST https://api-v3.voicemonkey.io/announce \ -H "Content-Type: application/json" \ -d '{ "token": "YOUR_TOKEN", "device": "YOUR_SPEAKER_DEVICE_ID", "speech": "[cheerfully] Dinner is ready!", "voice": "butler-8k2p9" }'Writing for generated voices
Section titled “Writing for generated voices”- Directions in brackets: Eleven v4 and v3 follow cues like
[whispers],[excited]or[laughs]. They’re removed if the announcement falls back to Alexa, so Alexa doesn’t read them out. - SSML: Alexa SSML tags such as
<say-as>or<emphasis>are removed before the text goes to ElevenLabs. A<break>becomes a short pause. - Placeholders: variables and built-ins are filled in first, exactly as for Alexa voices.
- Numbers and times: write them the way they should be said if a model reads them oddly, or pick a model that reads them well.
Repeats are free
Section titled “Repeats are free”Voice Monkey keeps each clip it generates for 30 days. When an announcement says exactly the same thing in the same voice and settings again, the saved clip plays straight away and no ElevenLabs credits are used. Announcements that change every time (with the time or a temperature in them, say) are generated each time.
When ElevenLabs can’t speak
Section titled “When ElevenLabs can’t speak”If a clip can’t be generated, the announcement still plays, in the voice’s Alexa fallback voice. That happens when:
- your ElevenLabs account is out of credits (Voice Monkey tries again every hour),
- ElevenLabs stops accepting your key (connect a new one on the ElevenLabs page),
- ElevenLabs is slow or busy,
- you’ve reached the daily limit below, or
- your plan no longer includes your own voices.
The ElevenLabs page shows the last problem, and the API response says why under voice.fallback.
Limits
Section titled “Limits”- Up to 2,500 characters of speech per announcement. Longer text is cut short, at the end of a sentence where possible.
- Up to 50,000 newly generated characters a day (UTC), on top of any limit on your ElevenLabs key. Repeats played from saved clips don’t count.
- Up to 50 saved voices.
Privacy
Section titled “Privacy”When an announcement uses one of your voices, its text is sent to ElevenLabs to generate the speech, under your ElevenLabs account and their terms. ElevenLabs’ free plan is for non-commercial use only. Generated clips are stored by Voice Monkey for 30 days and deleted with your account.
