Skip to main content
Every Voice agent speaks with a voice from your account’s voice library. With the API you can list the voices available to you, add a voice you already have at ElevenLabs, Cartesia, or Google Cloud, clone a new voice from audio samples, and manage the background sounds played during calls. For the dashboard version of these features, see Voices and sounds.

List voices

GET /voices returns the voices your account can use.
string
Callers voice ID. Use this as voiceId / callParams.voice when creating or updating agents.
string
The voice’s ID at the provider.
string
Display name.
string
MALE or FEMALE.
boolean
Whether the voice can speak several languages.
string[]
Locales the voice supports, such as en-US or es-MX.
object
Provider settings such as stability, similarity_boost, and speed.
string
Speech provider.
string
Owning account.
Use the Callers id, not the provider voiceId, when you assign a voice to an agent.

Add a voice by provider ID

If a voice already exists in your ElevenLabs, Cartesia, or Google Cloud account, add it with POST /voices.
string
required
Display name, at least 5 characters.
string
required
The voice’s ID at the provider.
string
required
ELEVENLABS, CARTESIA, or GOOGLE_CLOUD.
string
required
MALE or FEMALE.
string
Provider model to use with this voice.
boolean
default:"false"
Whether the voice is multilingual.
string[]
Locales the voice supports.
object
Voice settings.
boolean
default:"false"
Also create the voice in each of your subaccounts.
The response is an array: the voice created in your account, plus one per subaccount when subAccounts is true.

Clone a voice from audio

POST /voices/voice-clone creates a new voice from recordings. Send it as multipart/form-data with one files part per recording.

Audio requirements by provider

These match the limits shown in the dashboard; see File requirements by provider.
The response is an array of the created voices. Use the first item’s id in your agent.
Only clone voices you have the rights and the speaker’s consent to use. Google Cloud requires a recorded consent statement as one of the two files.
For the best clone, use clean recordings: one speaker, no music or background noise, natural pace, and a few minutes of total audio where the provider allows multiple files.
If voice cloning isn’t available for your account, the request is rejected. Contact support@callers.ai.

Clone file retention

The audio files you upload for cloning are kept for a retention period. Set it in days with PUT /voices/clone-files/retention and the body { "retentionDays": 30 } (a positive whole number).

Update or delete a voice

  • PUT /voices/{id} updates name, ttsModel, isMultilingual, supportedLocales, gender, or settings. Send only the fields you want to change.
  • DELETE /voices/{id} removes the voice from your library. Reassign any agents that use it first.

Assign a voice to an agent

Pass the Callers voice id when creating or replacing an agent, either as voiceId or as callParams.voice:
See Manage agents.

Background sounds

Background sounds play under the agent’s voice (for example, office ambience) on calls made over SIP.
To use a sound, set the agent’s backgroundNoiseId and, optionally, callParams.backgroundNoiseVolumePercent.

Troubleshooting

Check the file count, formats, and sizes for the provider (table above), and that name has at least 5 characters. ttsModel requires providerType.
You probably passed the provider voiceId. Use the Callers id from GET /voices.
Background sounds play on SIP calls only. Check the agent’s volume setting.

Voices and sounds

Browse, test, and tune voices in the dashboard.

Manage agents

Assign voices to agents through the API.