Most AI voice tools give you a menu of strangers. Pick the warm one, the deep one, the excited one, and narrate your video in a voice your audience has heard on a thousand other videos this week.
Speech Lab starts from the other end. The voice is yours: one recording of you reading a guided script becomes a narration voice, trained on that same read, that says anything you write. Then you direct it the way you would direct a person, one line at a time. And if you want other people to use it, you can publish it with its own page to share.
This is what it does, how each part works, and what it will not do.
01 / FIELD NOTESOne read in, a trained voice out
Creating a voice takes one recording: you read a guided script, about eight minutes of calm talk, explanation, numbers, questions, a story and a few short lines, in the browser or the phone app, or upload that read as WAV, MP3, M4A, OGG or WebM. It has to be at least two and a half minutes long, with at least two minutes of actual speech, and at most twenty-one. A shorter recording is refused before anything is charged.
That one upload does two things. First the voice is created from the start of the read, after checks that it decodes, holds clear speech, stays quiet enough in the background and avoids clipping. Then it is trained on the whole read. A recording that fails is refused with the reason, not quietly turned into a voice that sounds wrong, and you hear a real preview in the finished voice before you use it for anything.
Every voice starts with consent, one confirmation that covers creating and training it. You confirm that the voice is yours, or that its owner has given you permission, and that consent is recorded against your account with the time. Agents and API keys cannot give it on anybody's behalf: they have to send the person to Speech Lab to record.
02 / FIELD NOTESDirect it line by line
A script in Speech Lab is a list of lines, and each line carries its own delivery. Leave a line on Auto, or set it from Subtle through Balanced and Animated to Max. A product walkthrough can stay level through the steps and lift on the one line that matters; a story can hold back and then land the ending.
Pace is separate and applies to the whole take, from 0.75x to 1.25x. Enter splits a line, paste splits a block into lines, and Backspace at the start of a line merges it back, so rewriting feels like editing text rather than filling in a form.
If you do not have a script yet, ask the Director. Describe what you need ("a 30-second intro for a cooking channel, warm, ends on a question") and it drafts the lines with a delivery for each. A draft is only a draft: nothing is generated, and no narration credits are spent, until you read it and press Generate.
03 / FIELD NOTESExpressive mode: laughs, sighs and more
The standard engine directs how animated a line is, not which sound it makes. Expressive mode is a second, opt-in engine that performs tags you write into the script: [laugh], [chuckle], [sigh], [gasp], [cough], [clear throat], [sniff], [groan] and [shush] as sounds, and [happy], [sarcastic], [angry], [surprised], [fear], [crying], [whispering], [dramatic], [narration] and [advertisement] as a colour on the words around them. Those are exactly the tags the model was trained on; anything else in brackets is refused with the list, rather than read out or dropped.
It costs something, and we measured what. On one person's eight-minute read, scored against their real speech that neither engine had seen, the trained standard voice reached 78% of the closest possible match and the trained Expressive mode voice 71%. So Expressive mode sounds a little less like you. That is why it is a switch beside Generate and standard stays the default. Expressive mode has no Subtle-to-Max delivery control: the tags do that job.
Same price, same watermark, same pace control. A voice trained after Expressive mode arrived gets its own expressive training from the same read; a voice without it is copied from its recording in Expressive mode. Expressive mode is rolling out now, after the engine passes its checks on our GPU.
04 / FIELD NOTESTrained until it sounds like you
A voice copied from a short clip is a likeness, and only a likeness. That is why every new voice is trained: Speech Lab transcribes your read privately and fits a small adapter to your voice on our own GPU. Creating and training take about 15 to 20 minutes together, and you can leave and come back.
The training is checked against your own speech. Part of the recording is held back, and the adapter is kept only if it reproduces those unseen lines better than the untrained voice does. On our first internal run the error on held-back speech fell from 4.90 to 4.20, and the person whose voice it was said it sounded more like them. An adapter that does not beat the base voice is not kept.
Once trained, the voice speaks through its adapter everywhere it is used, including by other people if you publish it. The copy used for training is deleted as soon as training finishes, whether it succeeded or not. A voice costs 300 credits, once, training included; if creating or training it fails, all 300 are refunded. Voices made from a short clip before training arrived keep working, and can be trained from a guided read at any time.
05 / FIELD NOTESPublish it, with a page to share
A voice is private until you decide otherwise. To publish one you listen to and approve its preview, agree to the publishing terms, and give it a title, a creator name, a short description and up to five style tags. Published voices are listed at vidmoat.com/voices, and each one gets its own page.
That page is made for sharing. It plays the preview, shows who made the voice and what it is good for, and explains exactly how to use it: in Speech Lab with one click, from code with a copy-paste request, or from an AI agent. The page has share buttons for X, WhatsApp, Telegram and LinkedIn, and a link card that unfurls with the voice's name when you paste it into a chat.
You can withdraw a published voice at any time. New narration with it stops straight away; audio people already made stays theirs. Anyone who has a concern about a published voice can report it from its page.
06 / FIELD NOTESUse any voice from anywhere
A voice is used the same way whether it is yours or one somebody published. In Speech Lab you pick it, write, and generate. From code, POST /v1/speech/generations with its voiceId and either text, up to 8,000 characters, or up to 200 lines each with an expression from 0 to 1. Add "mode": "expressive" with tags in the text for Expressive mode, where it is switched on. From an agent connected over MCP, the agent_workspace tool's speech_generate action takes the same voice and the same lines, and speechMode for Expressive mode.
Finished takes land in your Takes list, where you can play, download, or drop them straight into a video project. The editing agent can do that last step for you: ask it to narrate your edit with a named voice and it writes the narration onto the timeline.
curl --fail-with-body "https://api.vidmoat.com/v1/speech/generations" \
-H "Authorization: Bearer $VIDMOAT_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
--data '{
"voiceId": "YOUR_VOICE_ID",
"lines": [
{ "text": "Every story starts with a voice.", "expression": 0.25 },
{ "text": "This one is yours.", "expression": 0.75 }
],
"speed": 1
}'07 / FIELD NOTESWhat it will not do
Speech Lab speaks English only for now. It reads what you write; it does not translate, and it does not sing.
In the standard engine, expression is delivery intensity, not a menu of emotions. Max makes a line more animated; it does not make it angry or sad on request, and it cannot laugh or sigh.
Expressive mode can laugh, sigh and lean a line happy, sarcastic or angry, but only with the nineteen tags it was trained on, and it sounds a little less like you than standard. A tag is a nudge, not a guarantee: listen to the take. A script that needs real crying or a precise emotional arc is still better recorded by a person.
A published voice's creator name is what its owner typed. Consent is recorded, but Vidmoat does not verify anyone's legal identity, and the page says so. There are no royalties for published voices today.
Audio from both engines carries an inaudible watermark, so narration made here can be identified as synthetic later. That is deliberate, and it is not something you can turn off.
Common questions
How long a recording do I need to clone my voice?
One guided read of at least two and a half minutes, with at least two minutes of clear speech, and at most twenty-one minutes. About eight minutes, reading our script in a quiet room with no music, works best. That one recording creates the voice and trains it.
Can other people use my voice?
Only if you publish it. Voices are private by default. A published voice has its own page that anyone can listen to, and signed-in users can narrate with it using their own credits. You can withdraw it at any time, and new use stops immediately.
How much does it cost?
Narration uses your plan's AI credits: 6 credits per started 200 characters, the same in standard and Expressive mode, and the exact cost is shown before you generate. Voice generation is included from the Creator plan. Creating a voice costs 300 credits once, training included, refunded in full if it fails, and failed takes are refunded automatically.
Can I control the emotion of each line?
In standard mode each line has its own delivery, from Subtle to Max, or Auto. That controls how animated the line is rather than which emotion it carries. Expressive mode, rolling out now, adds tags such as [laugh], [sigh] and [sarcastic] written into the script, at a small cost in likeness. Pace, from 0.75x to 1.25x, applies to the whole take in both.
Can an AI agent narrate with my voice?
Yes. Agents connected to Vidmoat over MCP use the agent_workspace tool, and the Vidmoat editing agent can narrate a project with any voice you own or any published voice. An agent cannot create a voice or give consent for you; recording always happens in Speech Lab.
Which languages are supported?
English, for now.