Why clone your voice at all
There is a simple reason. A voice agent that sounds like a generic robot undercuts the whole point. If you are calling a client, a clinic, or a supplier, the person on the other end should hear you. Not a synthetic monotone that makes them wonder if they are being pranked. A good clone keeps the trust intact while you are off doing something else.
The second reason is scale. One person can only be on one call at a time. A cloned voice agent can confirm three appointments, chase two callbacks, and follow up on a delivery while you sleep. The voice stays yours. The bandwidth does not.
The stack you actually need
People hear “AI phone call” and imagine one magic box. There are two separate jobs, and conflating them is the most common mistake.
Part 1: ElevenLabs for the clone
ElevenLabs is the practical choice for cloning a real human voice. You get two tiers. Instant Voice Cloning takes one to three minutes of clean audio and returns a usable voice in seconds. Professional Voice Cloning trains on thirty minutes to three hours of audio and produces a sharper result, especially if you have an unusual accent. For most people the instant tier is plenty.
The output is a voice_id, a short stable string. That string is the handle every other system uses to speak in your voice. Store it somewhere safe.
Part 2: Telnyx for the call
A cloned voice cannot dial a phone by itself. You need a platform that owns a telephone number and orchestrates the three moving parts of a live call: speech to text (hearing the other person), a language model (deciding what to say), and text to speech (your cloned voice saying it). Telnyx does all of this and it is the phone line as well.
Here is the part that makes Telnyx the right pick over the old Retell approach. Telnyx is not a bolt on voice layer. It is a licensed carrier that also runs the speech, the model inference, and the text to speech on its own infrastructure. One platform, one bill, no Frankenstack of separate providers each adding latency and a margin. For an Australian user that matters because Telnyx has a Sydney point of presence and sells local Australian numbers across the major area codes, so your outbound calls to local landlines and mobiles stay low latency.
Telnyx supports ElevenLabs voices natively. You store your ElevenLabs API key as a Telnyx secret, then point the assistant’s voice provider at ElevenLabs and pick your cloned voice. The conversation brain is the assistant’s instructions, written in plain English. After the call, Telnyx runs structured analysis on the conversation and can push the result to a webhook, so you get the outcome as data, not a vague “call completed”.
How the pieces fit together
The flow is linear. ElevenLabs gives you the voice. Telnyx gives you the phone, the speech, the model, and the brain. The Hermes skill is the thin layer that ties a plain English request to those two services and brings the result back to your chat.
When you type “call the dentist and confirm my Tuesday 2pm appointment, then tell me if it is booked”, the skill builds a Telnyx assistant from that sentence, binds your cloned voice, places the call through a TeXML application, waits for it to finish, and returns the extracted outcome fields. You see “appointment_confirmed: true” instead of a guess.
Building the Hermes skill (the easy part)
The skill lives as a folder with a SKILL.md and three small Python scripts. You do the one time setup once, then every call is a single sentence.
Step 1: Clone the voice
In ElevenLabs, open Voices, choose Create Voice, then Instant Voice Clone. Upload one to three minutes of clean solo speech. Quiet room, one microphone, no music, no other voices. Name it clearly. Copy the voice_id into the skill config file.
Step 2: Set up Telnyx
Create a Telnyx account and grab an API key. Buy an Australian local number in the Mission Control portal. That number becomes your from_number in E.164 format, something like +612xxxxxxx. Store your ElevenLabs API key in Telnyx as an integration secret so the assistant can use your cloned voice. Create a TeXML application and link it to your assistant. This is the one extra step Telnyx needs for outbound that a pure voice platform hides, but it is a one time setup and it is what lets you trigger calls from an API.
Step 3: Create the assistant from plain English
You describe the objective and the success criteria. The skill turns that into assistant instructions and defines the outcome fields you want extracted. For a booking confirmation you might ask for two fields: a boolean for “was it confirmed” and a string for “any alternative time”. The script writes the new assistant ID back into config so you do not retype it.
Step 4: Place the call
The skill calls the Telnyx outbound endpoint with your TeXML application ID, the from and to numbers, and the assistant ID. It returns a call_id. The call is now live. Answering machine detection is available, so the assistant can leave a message or retry if it hits voicemail.
Step 5: Get the outcome back
Feed the call_id to the outcome script. It returns the transcript excerpt and the extracted fields. That is the moment the system earns its keep. You know the result, not just that a call happened.
What it costs
Pricing is per minute of call time. Telnyx charges $0.05 per minute for the voice engine, which already includes speech to text, the agent runtime (turn taking, interruption handling, tools, and knowledge retrieval), and its own text to speech. Your ElevenLabs cloned voice is an add on billed through your ElevenLabs plan. Telephony is carrier cost from about $0.0032 per minute and the language model is billed per token on Telnyx owned GPUs (roughly $0.004 per minute for a model like Kimi). A realistic all in production call lands near $0.056 per minute.
Compare that with the stitched together stacks. Telnyx cites Retell at $0.088 to $0.31 per minute and Vapi at $0.12 to $0.42 before you even add the premium voice. For personal and small business use, Telnyx plus an ElevenLabs clone is the sweet spot, and compliance coverage (HIPAA, SOC 2, PCI, ISO, GDPR) is included on every plan rather than sold as a costly add on.
The traps that ruin a good clone
Most failures come from the audio, not the software. Feed the cloner noisy audio, wild swings in volume, or several people talking and you get a robotic, unstable voice. Keep it clean and consistent. One quiet take with steady tone beats ten noisy clips.
Resist the urge to upload ten minutes of audio for an instant clone. Past two or three minutes the quality stops improving and can actually degrade. Use the Australian number Telnyx provides for the smoothest local call. Set a max call duration so a stuck call cannot run forever and quietly rack up minutes.
Privacy, consent and disclosure
Cloning your own voice for your own use is straightforward and permitted. Cloning someone else without consent is not, and ElevenLabs asks you to confirm you have the right before it builds the clone. Keep that consent documented.
Disclosure is the part people forget. Many jurisdictions require you to tell the person on the line that they are speaking with an AI assistant, especially on recorded or business calls. Bake a short disclosure line into the assistant instructions where it applies. It is the difference between a clever tool and a legally risky one.
Where this goes next
The skill is deliberately small. Create the assistant, make the call, read the outcome. From here you can schedule calls on a cron, chain them through a list of follow ups, or wire the outcome fields straight into a Notion log. The voice is the headline, but the outcome capture is the feature you will actually rely on.
A cloned voice that cannot report what happened is a party trick. A cloned voice that confirms your appointments, chases your callbacks, and tells you the result is leverage. Build the second one.
Related Reading
Frontier AI agents took unauthorised actions on the live internet during UK safety tests