Update Voice Clone
curl --request PUT \
--url https://api.buena.ai/api/v2/voice-clones/{voiceId} \
--header 'Content-Type: <content-type>' \
--header 'x-api-key: <api-key>' \
--data '
{
"name": "<string>",
"description": "<string>",
"settings": {
"stability": 123,
"clarity": 123,
"use_speaker_boost": true
}
}
'import requests
url = "https://api.buena.ai/api/v2/voice-clones/{voiceId}"
payload = {
"name": "<string>",
"description": "<string>",
"settings": {
"stability": 123,
"clarity": 123,
"use_speaker_boost": True
}
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "<content-type>"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'x-api-key': '<api-key>', 'Content-Type': '<content-type>'},
body: JSON.stringify({
name: '<string>',
description: '<string>',
settings: {stability: 123, clarity: 123, use_speaker_boost: true}
})
};
fetch('https://api.buena.ai/api/v2/voice-clones/{voiceId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.buena.ai/api/v2/voice-clones/{voiceId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'description' => '<string>',
'settings' => [
'stability' => 123,
'clarity' => 123,
'use_speaker_boost' => true
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: <content-type>",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.buena.ai/api/v2/voice-clones/{voiceId}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"settings\": {\n \"stability\": 123,\n \"clarity\": 123,\n \"use_speaker_boost\": true\n }\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "<content-type>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.buena.ai/api/v2/voice-clones/{voiceId}")
.header("x-api-key", "<api-key>")
.header("Content-Type", "<content-type>")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"settings\": {\n \"stability\": 123,\n \"clarity\": 123,\n \"use_speaker_boost\": true\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.buena.ai/api/v2/voice-clones/{voiceId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = '<content-type>'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"settings\": {\n \"stability\": 123,\n \"clarity\": 123,\n \"use_speaker_boost\": true\n }\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"id": "voice_abc123",
"name": "Professional Sales Voice",
"description": "Optimized for B2B outreach campaigns",
"status": "ready",
"settings": {
"stability": 0.7,
"clarity": 0.9,
"use_speaker_boost": true
},
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-20T15:30:00Z"
}
}
Voice Cloning
Update Voice Clone
Update voice clone settings and metadata
PUT
/
api
/
v2
/
voice-clones
/
{voiceId}
Update Voice Clone
curl --request PUT \
--url https://api.buena.ai/api/v2/voice-clones/{voiceId} \
--header 'Content-Type: <content-type>' \
--header 'x-api-key: <api-key>' \
--data '
{
"name": "<string>",
"description": "<string>",
"settings": {
"stability": 123,
"clarity": 123,
"use_speaker_boost": true
}
}
'import requests
url = "https://api.buena.ai/api/v2/voice-clones/{voiceId}"
payload = {
"name": "<string>",
"description": "<string>",
"settings": {
"stability": 123,
"clarity": 123,
"use_speaker_boost": True
}
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "<content-type>"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'x-api-key': '<api-key>', 'Content-Type': '<content-type>'},
body: JSON.stringify({
name: '<string>',
description: '<string>',
settings: {stability: 123, clarity: 123, use_speaker_boost: true}
})
};
fetch('https://api.buena.ai/api/v2/voice-clones/{voiceId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.buena.ai/api/v2/voice-clones/{voiceId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'description' => '<string>',
'settings' => [
'stability' => 123,
'clarity' => 123,
'use_speaker_boost' => true
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: <content-type>",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.buena.ai/api/v2/voice-clones/{voiceId}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"settings\": {\n \"stability\": 123,\n \"clarity\": 123,\n \"use_speaker_boost\": true\n }\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "<content-type>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.buena.ai/api/v2/voice-clones/{voiceId}")
.header("x-api-key", "<api-key>")
.header("Content-Type", "<content-type>")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"settings\": {\n \"stability\": 123,\n \"clarity\": 123,\n \"use_speaker_boost\": true\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.buena.ai/api/v2/voice-clones/{voiceId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = '<content-type>'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"settings\": {\n \"stability\": 123,\n \"clarity\": 123,\n \"use_speaker_boost\": true\n }\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"id": "voice_abc123",
"name": "Professional Sales Voice",
"description": "Optimized for B2B outreach campaigns",
"status": "ready",
"settings": {
"stability": 0.7,
"clarity": 0.9,
"use_speaker_boost": true
},
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-20T15:30:00Z"
}
}
Update an existing voice clone’s settings, name, or description. This allows you to fine-tune voice generation parameters and organize your voice clones.
Requires the
voice:update permission.Request
The unique identifier of the voice clone to update
Your API key with
voice:update permissionMust be
application/jsonBody Parameters
Updated name for the voice clone
Updated description of the voice clone
Examples
Update Voice Settings
curl -X PUT "https://api.buena.ai/api/v2/voice-clones/voice_abc123" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Professional Sales Voice",
"description": "Optimized for B2B outreach campaigns",
"settings": {
"stability": 0.7,
"clarity": 0.9,
"use_speaker_boost": true
}
}'
const response = await fetch(
"https://api.buena.ai/api/v2/voice-clones/voice_abc123",
{
method: "PUT",
headers: {
"x-api-key": "YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
name: "Professional Sales Voice",
description: "Optimized for B2B outreach campaigns",
settings: {
stability: 0.7,
clarity: 0.9,
use_speaker_boost: true,
},
}),
}
);
const data = await response.json();
console.log(data);
import requests
response = requests.put(
'https://api.buena.ai/api/v2/voice-clones/voice_abc123',
headers={
'x-api-key': 'YOUR_API_KEY',
'Content-Type': 'application/json'
},
json={
'name': 'Professional Sales Voice',
'description': 'Optimized for B2B outreach campaigns',
'settings': {
'stability': 0.7,
'clarity': 0.9,
'use_speaker_boost': True
}
}
)
print(response.json())
Response
Always
true for successful requestsThe updated voice clone information
{
"success": true,
"data": {
"id": "voice_abc123",
"name": "Professional Sales Voice",
"description": "Optimized for B2B outreach campaigns",
"status": "ready",
"settings": {
"stability": 0.7,
"clarity": 0.9,
"use_speaker_boost": true
},
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-20T15:30:00Z"
}
}
Next Steps
Test Changes
Generate preview with new settings
List Voice Clones
View all your voice clones
LinkedIn Voice Messages
Use updated voice in campaigns
Voice Clone Guide
Learn optimization best practices
⌘I

