Skip to content
TriedDocs
Voices

Add community voice

Add a voice from the ElevenLabs shared library to your workspace's voices.

POSThttps://api.tried.com.au/add-community-voice

Needs keys Adds a shared ElevenLabs voice found with Search community voices to your ElevenLabs account and to your workspace. Live adds need ELEVENLABS_API_KEY. Without it (or with TRIED_MOCK_PROVIDERS=1) the voice is stored without calling ElevenLabs.

The new voice shows up in List voices and can be set as an agent's voice_id.

Request#

Field Type Required Description
public_owner_id string Yes The public_owner_id from the search result.
voice_id string Yes The shared voice_id from the search result.
voice_name string Yes Name for the voice in your workspace. 1 to 120 characters.

Example request#

curl -X POST https://api.tried.com.au/add-community-voice \
  -H "Authorization: Bearer $TRIED_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"public_owner_id": "owner_a1", "voice_id": "shared_harper", "voice_name": "Harper (reception)"}'
const res = await fetch("https://api.tried.com.au/add-community-voice", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.TRIED_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ public_owner_id: "owner_a1", voice_id: "shared_harper", voice_name: "Harper (reception)" }),
});
const voice = await res.json();
import os, requests

res = requests.post(
    "https://api.tried.com.au/add-community-voice",
    headers={"Authorization": f"Bearer {os.environ['TRIED_API_KEY']}"},
    json={"public_owner_id": "owner_a1", "voice_id": "shared_harper", "voice_name": "Harper (reception)"},
)
voice = res.json()

Response#

201 Created

{
  "voice_id": "custom_voice_137bcfa732ab6e2df5d2b815",
  "voice_name": "Harper (reception)",
  "provider": "elevenlabs",
  "provider_voice_id": "shared_harper",
  "gender": "female",
  "accent": "australian"
}
Field Type Description
voice_id string New workspace voice ID, starting with custom_voice_.
provider string Always elevenlabs.
provider_voice_id string The voice ID ElevenLabs returns for your account. In mock mode it is the shared voice_id you sent.
gender, accent string Taken from the sample list when the voice_id matches one of its voices, otherwise female and an empty accent.

This response has no age or preview_audio_url. Get voice returns the full voice object.

Errors#

Status When
400 A field fails validation, or ElevenLabs add shared voice failed (<status>): ....
401 Missing or invalid API key.
403 The key's IP allowlist or scopes reject the request (this route needs the agents scope), or the caller is a read-only dashboard member.
429 Rate limit exceeded. See Rate limits.

See Errors for the body format.

Retell compatibility#

Same path and method as Retell, but the body differs: Tried takes public_owner_id, voice_id and voice_name, supports ElevenLabs only, and returns 201.