Retrieve Available Voices
curl --request GET \
--url https://app.famulor.de/api/user/assistants/voices \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.famulor.de/api/user/assistants/voices', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://app.famulor.de/api/user/assistants/voices"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.famulor.de/api/user/assistants/voices",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
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://app.famulor.de/api/user/assistants/voices"
req, _ := http.NewRequest("GET", 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))
}[
{
"id": 1,
"name": "Alloy",
"language_id": 1,
"gender": "female",
"preview_url": "https://cdn.openai.com/API/voice-previews/alloy.flac",
"accent": null,
"age": "Middle aged",
"synthesizer_provider_id": null
},
{
"id": 10,
"name": "Zephyr",
"language_id": 1,
"gender": "female",
"preview_url": "https://gstatic.com/aistudio/voices/samples/Zephyr.wav",
"accent": null,
"age": "Middle aged",
"synthesizer_provider_id": 1
},
{
"id": 11,
"name": "Puck",
"language_id": 1,
"gender": "male",
"preview_url": "https://gstatic.com/aistudio/voices/samples/Puck.wav",
"accent": null,
"age": "Middle aged",
"synthesizer_provider_id": 1
}
]
Retrieve Available Voices
Retrieve all available voices for assistant configuration
GET
/
api
/
user
/
assistants
/
voices
Retrieve Available Voices
curl --request GET \
--url https://app.famulor.de/api/user/assistants/voices \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.famulor.de/api/user/assistants/voices', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://app.famulor.de/api/user/assistants/voices"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.famulor.de/api/user/assistants/voices",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
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://app.famulor.de/api/user/assistants/voices"
req, _ := http.NewRequest("GET", 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))
}[
{
"id": 1,
"name": "Alloy",
"language_id": 1,
"gender": "female",
"preview_url": "https://cdn.openai.com/API/voice-previews/alloy.flac",
"accent": null,
"age": "Middle aged",
"synthesizer_provider_id": null
},
{
"id": 10,
"name": "Zephyr",
"language_id": 1,
"gender": "female",
"preview_url": "https://gstatic.com/aistudio/voices/samples/Zephyr.wav",
"accent": null,
"age": "Middle aged",
"synthesizer_provider_id": 1
},
{
"id": 11,
"name": "Puck",
"language_id": 1,
"gender": "male",
"preview_url": "https://gstatic.com/aistudio/voices/samples/Puck.wav",
"accent": null,
"age": "Middle aged",
"synthesizer_provider_id": 1
}
]
This endpoint returns a list of all available voices that can be used when creating or updating assistants, with optional filtering by assistant mode and language.
Query Parameters
Filter voices by assistant mode. Options:
pipeline, multimodal, dualplexFilter voices by language ID. Use the Retrieve Languages endpoint to get available language IDs.
Response Fields
Show Properties
Show Properties
The unique identifier of the voice
The display name of the voice
The language ID associated with this voice
The gender of the voice (male/female)
URL to an audio sample of the voice. Can be used to allow users to preview the voice before selecting it.
The accent of the voice (e.g., “American”, “British”). Can be
null.The age category of the voice (e.g., “Young”, “Middle aged”). Can be
null.The TTS provider ID to which this voice belongs. Use the Retrieve Synthesizer Providers endpoint to resolve provider names. Can be
null.[
{
"id": 1,
"name": "Alloy",
"language_id": 1,
"gender": "female",
"preview_url": "https://cdn.openai.com/API/voice-previews/alloy.flac",
"accent": null,
"age": "Middle aged",
"synthesizer_provider_id": null
},
{
"id": 10,
"name": "Zephyr",
"language_id": 1,
"gender": "female",
"preview_url": "https://gstatic.com/aistudio/voices/samples/Zephyr.wav",
"accent": null,
"age": "Middle aged",
"synthesizer_provider_id": 1
},
{
"id": 11,
"name": "Puck",
"language_id": 1,
"gender": "male",
"preview_url": "https://gstatic.com/aistudio/voices/samples/Puck.wav",
"accent": null,
"age": "Middle aged",
"synthesizer_provider_id": 1
}
]
Notes
- Use the
idfield asvoice_idwhen creating or updating assistants - Filter by
modeto retrieve only voices compatible with your desired assistant type - Filter by
language_idto get voices for a specific language - If no filters are specified, all available voices are returned
- Only voices that are public or belong to the authenticated user are returned
Was this page helpful?
⌘I

