Cloning takes seconds of audio and no training run, which makes it quick to try and easy to misjudge. Almost every disappointing clone is a clip problem, and clip problems are cheap to fix once you know what you are listening for. This page is the craft. Voices is the API.

The clip is the conditioning

Here is the whole model in one sentence: every generation is conditioned on the reference clip you uploaded. There is no training step that averages anything away, and there is no abstract “voice” extracted from the recording. Whatever is in the clip, the synthesized speech inherits. That one fact derives every rule below, so you do not have to memorize any of them:
  • Room reverb in the clip clones the room. The voice sounds like it is always in that room.
  • Background music clones a hum that follows the speaker into every sentence.
  • A second voice in the background is a second voice the model may reach for.
  • A clip recorded through a heavy codec clones the codec artifacts.
  • A shouted clip clones a shouted voice, and it will shout your terms of service.

Only the first six seconds are used

The reference clip is cropped to 6 seconds — once when the voice is prepared and again by the serving model on every synthesis. Audio past that point is uploaded, stored, and never heard by anything that decides how the voice sounds.
Six seconds is not an arbitrary round number. The acoustic encoder that builds the voice prompt is quadratic in clip length, and a ten-second reference was enough to exhaust the memory on the serving card — which surfaced as a call that went silent rather than as an error. Six seconds also happens to be what cloning wants. Two things follow, and both change what you should upload:
  • A longer take is not a better clone. Cut the best six seconds out of a long recording rather than uploading the whole session. Uploading two minutes and hoping the model picks the good part gets you the first six seconds of it, whatever they contain.
  • Put the usable speech at the start. A clip that opens with two seconds of breath and room tone has spent a third of its budget before the voice arrives.
Nothing enforces a minimum. A one-word clip is accepted, prepared and returned as ready, and it clones badly. Aim for a connected sentence.
Two shipped surfaces still say three to ten seconds: the SDK method’s own summary, and the message POST /v1/voices returns when an upload is over the size cap — “A reference clip only needs 3-10 seconds of clean speech”. Six is the number the pipeline enforces. Anything above it is stored and ignored.

What a good clip looks like

Uploads are capped at 10 MB and must carry an audio/* content type. At these lengths that ceiling is generous: if you are anywhere near it, you are uploading far more audio than the model will use. Match the clip to the job. The clip sets register as well as timbre. If the voice will read support answers, record it reading something like a support answer — not a dramatic performance, and not a single word.

The two failures that look like a bad model

The clip transcribed badly

The reference transcript is not optional and it is not yours to supply. The platform transcribes the trimmed clip itself, because the synthesis model concatenates that transcript with your input and crops by clip duration — the words have to be the words in the audio the encoder sees. Supplying ref_text on the upload changes nothing; it is replaced. So the transcript is only as good as the recording. A noisy clip transcribes badly, the bad transcript conditions the voice, and the clone comes out subtly wrong in a way retrying cannot fix, because retrying re-derives the same bad transcript from the same audio. A clip that transcribes to nothing does not come out wrong at all — it fails, with status: "failed" and the reason in error. The fix is always the recording: less room, closer mic, a clearer read.

The voice is right but the room is wrong

The other one is quieter. The clone sounds like the person, and every sentence it speaks sits in the space the clip was recorded in — a slight hall, a hard desk, a laptop microphone’s thin midrange. It reads as “the model sounds artificial” when it is really “the model reproduced your kitchen.” You can hear this in one listen if you know to check for it. You cannot fix it after the fact.

Audition before you ship

POST /v1/voices/{voice_id}/preview synthesizes one fixed sentence. You do not choose the text, and that is the feature: two voices previewed on the same sentence are comparable, where two voices reading their own best lines are not. Listen for the things that come from the clip rather than from the model:
  • Does it sound like it is in a room you did not intend?
  • Does the energy match what you want it saying at minute nine of a call?
  • Does it hold across a long sentence, or thin out at the end?
Then hear it on your own material through text to speech. A voice that is convincing on one sentence can still be wrong for a paragraph.

If it sounds wrong, re-record

Cloning is deterministic given the clip. Uploading the same audio again produces the same voice, so a retry is worth something only if you changed the input — a different take, a tighter cut, the noise gone, the good part moved to the front. The fastest loop is to cut three candidate clips from one recording session, clone all three, preview them side by side, keep one and delete the rest. Deleting a voice erases the reference clip from storage before it removes the row, so a rejected candidate leaves no voiceprint behind. Each clone costs 100 credits, and the free plan includes exactly one, so run this loop on an account with credits rather than discovering the limit on candidate two. A reference clip is a recording of a real person, which in several jurisdictions makes it biometric data and a protected likeness. consent_attested=true is required and the timestamp is stored on the voice — but an attestation records your claim. Nothing checks who is speaking on the clip. Two things to plan around:
  • Keep your own evidence of the speaker’s permission. It has to outlive the clip.
  • A clone is erased three years after its last use, and that period is not configurable on any deployment. Using a voice resets the clock, so a voice in production never expires out from under you — but one you cloned once and shelved will go, along with its reference audio.
If you do not need a specific person, use a built-in voice. Those are designed from a text vocabulary rather than recorded from anyone, so they carry no likeness rights and no retention clock. See Compliance for the duties that come with cloning someone.

Next

Voices

The API: clone, preview, rename, delete.

Clone a voice

The whole loop, end to end.