Skip to main content
POST
https://api.trillet.ai
/
v1
/
api
/
voices
/
clone
Clone Voice
curl --request POST \
  --url https://api.trillet.ai/v1/api/voices/clone \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --header 'x-workspace-id: <x-workspace-id>' \
  --data '
{
  "name": "<string>",
  "description": "<string>",
  "language": "<string>"
}
'
{
  "embedding": {
    "data": "...",
    "format": "float32"
  },
  "voice": {
    "_id": "665a1b2c3d4e5f6a7b8c9d0e",
    "name": "My Custom Voice",
    "description": "Cloned from recording",
    "language": "en",
    "workspaceId": "664a1b2c3d4e5f6a7b8c9d0e"
  }
}

Headers

x-api-key
string
required
API key used for authenticating requests to the API.
x-workspace-id
string
required
Workspace identifier for the API.

Request Body

The request body should be sent as multipart/form-data.
file
file
required
Audio file to clone the voice from. Maximum file size: 50MB.
name
string
Name for the cloned voice.
description
string
Description of the cloned voice.
language
string
Language code for the voice (e.g., “en”).

Response Fields

embedding
object
The voice embedding data generated from the audio file.
voice
object
The created custom voice object (if name was provided).
_id
string
Unique identifier for the custom voice.
name
string
Name of the custom voice.
{
  "embedding": {
    "data": "...",
    "format": "float32"
  },
  "voice": {
    "_id": "665a1b2c3d4e5f6a7b8c9d0e",
    "name": "My Custom Voice",
    "description": "Cloned from recording",
    "language": "en",
    "workspaceId": "664a1b2c3d4e5f6a7b8c9d0e"
  }
}