Delete Voice
curl --request DELETE \
--url https://api.eesi.ai/v1/voices/{voice_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.eesi.ai/v1/voices/{voice_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.eesi.ai/v1/voices/{voice_id}', 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.eesi.ai/v1/voices/{voice_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.eesi.ai/v1/voices/{voice_id}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://api.eesi.ai/v1/voices/{voice_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.eesi.ai/v1/voices/{voice_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"voice_id": "<string>",
"name": "<string>",
"engine": "<string>",
"status": "processing",
"has_ref_text": true,
"created_at": "2023-11-07T05:31:56Z",
"error": "<string>",
"ref_text": "<string>",
"is_builtin": false,
"category": "<string>",
"description": "<string>",
"language": "<string>",
"gender": "<string>",
"country": "<string>",
"accent": "<string>",
"consent_attested_at": "2023-11-07T05:31:56Z",
"used_by_count": 0,
"used_by_names": [
"<string>"
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}main
Delete Voice
Erase a cloned voice: its reference clip first, then its row.
The clip is a recording of a person’s voice, so “deleted” has to mean the bytes are gone — flipping a flag and leaving the voiceprint in the bucket makes the delete button a false promise.
Audio is removed before the row, because the row holds the only pointer to it. The other order strands a voiceprint that nothing references and nothing can ever find again. If the clip fails to erase we stop and keep the row, so the voice stays visible and the delete can be retried rather than half-succeeding in silence.
DELETE
/
v1
/
voices
/
{voice_id}
Delete Voice
curl --request DELETE \
--url https://api.eesi.ai/v1/voices/{voice_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.eesi.ai/v1/voices/{voice_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.eesi.ai/v1/voices/{voice_id}', 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.eesi.ai/v1/voices/{voice_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.eesi.ai/v1/voices/{voice_id}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://api.eesi.ai/v1/voices/{voice_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.eesi.ai/v1/voices/{voice_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"voice_id": "<string>",
"name": "<string>",
"engine": "<string>",
"status": "processing",
"has_ref_text": true,
"created_at": "2023-11-07T05:31:56Z",
"error": "<string>",
"ref_text": "<string>",
"is_builtin": false,
"category": "<string>",
"description": "<string>",
"language": "<string>",
"gender": "<string>",
"country": "<string>",
"accent": "<string>",
"consent_attested_at": "2023-11-07T05:31:56Z",
"used_by_count": 0,
"used_by_names": [
"<string>"
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
BearerAuthApiKeyHeader
An EESI API key (sk-eesi-...) or a Clerk session token.
Path Parameters
Response
Successful Response
Available options:
processing, ready, failed