Create Voice
Creates a voice from a sample of audio and returns immediately with status: "started".
A new voice can take up to a few minutes to be ready. Cloning runs after this call returns, so the voice cannot speak yet and a conversation that references it will not resolve a voice. Wait for status to reach completed, in one of two ways:
- Pass
callback_urland Tavus posts anapplication.voice_status_changedevent once the status settles, carryingvoice_id,voice_name, andstatus. Onerrorit also carrieserror_message. The payload is a state snapshot, so a duplicate delivery is safe to apply twice. - Poll Get Voice if you would rather not receive a webhook.
completed means the voice can speak. It stays completed while Tavus continues preparing the remaining languages, so you do not need to wait for those.
Once ready, use the voice_id as layers.tts.voice_id on a PAL, or as a face’s default_voice_id.
Most teams create and audition voices in PAL Maker, where you can hear the result before shipping it. See Voices.
You must hold the rights to the voice in your training audio.
https://docs.tavus.io/openapi.yaml for the full HTTP API contract.Authorizations
Body
A name for the voice.
1 - 255"Ana"
Publicly accessible link to the training audio. Accepts .mp3, .wav, .m4a, .flac, .ogg, .oga, .webm, .mp4, .mov, a video file is fine, the audio track is what is used.
2048"https://example.com/ana.mp3"
Free-text note about the voice, returned on reads.
1000"Warm, unhurried, mid-Atlantic"
URL to receive the application.voice_status_changed webhook when the voice reaches completed or error.
2048"https://example.com/webhooks/voices"
Up to 50 tags, 64 characters each. Filter on them with the tag query parameter on List Voices.
5064Response
A Tavus Voice. Reference it by voice_id; Tavus picks the provider that is the best fit for the language(s) of the conversation.
Stable identifier. Use as layers.tts.voice_id on a PAL, or default_voice_id on a face.
"v0a1b2c3d4e5f"
"Ana"
"Warm, unhurried, mid-Atlantic"
user for voices you created, system for the Tavus catalog.
user, system "user"
started while the voice is still being created, completed once it is ready to use, error if creation failed (see error_message).
started, completed, error "completed"
Present only when status is error.
"2026-08-17T12:00:00.000000"

