Skip to content

Voice cloning

Speech in the voice of a reference clip on 12 cloning models, with the clip rules and consent.

Access: Keys with the media:read or media:generate scope, on an account with media access granted by Albastar Corp.

A cloning model speaks any text in the voice of a reference clip. The clone copies the speaker, the room and the microphone of the clip: noise, music and a second speaker in the clip come back in every line the voice speaks.

Reference and clone

The reference clip is Narrator A, a synthetic voice made with Kokoro's built-in voice af_heart; no person speaks in the clip. The clone is omnivoice speaking a new line in the voice of the clip, from the shared voice vo_tBeDCRb2byGFjB6HGyQq6a.

ReferenceNarrator A · synthetic

0:00 / 0:14

Transcript Okay, so here's the plan. We land just after sunset, grab the bags, and head straight for the harbour. If the ferry's late again — and honestly, it usually is — we'll get dinner by the water and wait it out. Sound good?

CloneOmniVoice in the reference voice

0:00 / 0:11

Transcript I found the photos from the lake house. Do you remember that summer? We stayed up until three, arguing about the stars, and you swore you'd seen a comet. I still think it was a plane.

The clone of the same clip by every cloning model: Voice models.

The clip

AspectAim forAvoid
Length20 s of speech; 3 s minimum, 60 s maximumA clip under 3 s or over 60 s: POST /v1/media/voices refuses the clip
SpeakersOne speakerA second voice, a reply, a crowd
BackgroundA quiet room, close to the microphoneMusic, traffic, fans, the echo of a large room
DeliveryWhole sentences at the pace the voice speaks laterWhispering, shouting, a list of single words
LevelSpeech clearly audible, no clippingAudio that distorts on loud syllables
FormatWAV or FLAC; MP3 at 128 kbit/s or morePhone-call audio, heavily compressed files
  • Before cloning, the silence at both ends of the clip is removed. A clip longer than a model's limit is cut at a pause near the model's cut point (Cloning models). With 20 s of speech, every cloning model except VoxCPM 2 uses the whole clip.
  • Send the exact words of the clip as transcript: a cloning model reads the words together with the clip. Without a transcript, the API transcribes the clip on first use and stores the text on the voice. When a model cuts the clip, the model reads the words of the kept part from a transcript of the clip.
  • Files up to 20 MB in WAV, MP3, M4A, Ogg, WebM or FLAC. The length comes from the file's header; a WebM clip has duration_s null, and only its first 60 s are used.

A cloned voice is a person's voice. Clone your own voice, or the voice of a speaker who agreed, and write the agreement in consent: who, for what use, and when. The consent note is visible to the voice's own account only. Never clone a film or TV character or a public figure. A designed voice (POST /v1/media/voices/design) needs no speaker: the model makes the voice from a description.

Check a saved voice

  1. Save the voice with POST /v1/media/voices. status is ready at once, and preview_job names the job making the preview.
  2. Wait for preview_url and listen to the preview: the voice's default_model reads one sentence in the voice.
  3. Generate a paragraph of the text the voice is for. A clone that sounds muffled, echoing or noisy repeats the clip: record the clip again.
  4. Each model in the voice's models makes its own clone of the clip: generate the same paragraph on a second model and compare the two files.

The example generates one paragraph in a saved voice on two models. Replace vo_your_voice_id with the voice's id.

Shell
VOICE=vo_your_voice_id
TEXT="Thanks for calling the harbour office. The next ferry leaves at \
a quarter past six from pier two, and tickets are on sale at the kiosk \
by the gate until ten minutes before departure."

for MODEL in omnivoice qwen3-tts; do
  curl https://api.albastov.com/v1/audio/speech \
    -H "Authorization: Bearer $ALBASTAR_API_KEY" \
    -H "Content-Type: application/json" \
    -d "{\"model\": \"$MODEL\", \"voice\": \"$VOICE\",
         \"input\": \"$TEXT\"}" \
    --output "check-$MODEL.mp3"
done

Cloning models

Every cloning model takes voice, reference_text, seed and format. A model uses a clip up to its limit whole; a longer clip is cut at a pause near the model's cut point. Languages and a sample of each model: Voice models.

ModelmodelLimitCut pointOther parameters
BreezeTTS 2breeze220 s12 sinstruct
Chatterboxchatterbox20 s12 sNone
CosyVoice 3cosyvoice320 s12 sNone
FireRedTTS 3fireredtts320 s12 sNone
Fish Audio S2 Profish-s2pro20 s12 sNone
Higgs Audio v3higgs320 s12 sNone
IndexTTS 2.5indextts2.520 s12 slanguage
MioTTSmiotts20 s12 sNone
MOSS-TTS Local Transformermoss-local20 s12 sNone
OmniVoiceomnivoice24 s20 slanguage, speed
Qwen3-TTSqwen3-tts22 s18 slanguage
VoxCPM 2voxcpm211 s8 sNone

A saved voice's models lists every model that speaks the voice. OmniVoice also takes instruct, which designs a voice only when the request has no voice.

Reference