List Voice Details
curl --request GET \
--url https://users.rime.ai/data/voices/voice_details.jsonimport requests
url = "https://users.rime.ai/data/voices/voice_details.json"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://users.rime.ai/data/voices/voice_details.json', 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://users.rime.ai/data/voices/voice_details.json",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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://users.rime.ai/data/voices/voice_details.json"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://users.rime.ai/data/voices/voice_details.json")
.asString();require 'uri'
require 'net/http'
url = URI("https://users.rime.ai/data/voices/voice_details.json")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_bodyAPI Metadata
List Voice Details
Voice metadata endpoint: list every Rime voice with demographic and model details.
List Voice Details
curl --request GET \
--url https://users.rime.ai/data/voices/voice_details.jsonimport requests
url = "https://users.rime.ai/data/voices/voice_details.json"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://users.rime.ai/data/voices/voice_details.json', 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://users.rime.ai/data/voices/voice_details.json",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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://users.rime.ai/data/voices/voice_details.json"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://users.rime.ai/data/voices/voice_details.json")
.asString();require 'uri'
require 'net/http'
url = URI("https://users.rime.ai/data/voices/voice_details.json")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_bodyThis is a public endpoint, so you don’t need an
Authorization header or API key.
The response can include legacy Arcana records and models hosted outside the Rime cloud API. Their presence does not mean the model is available through Rime cloud. Use Coda or Mist for cloud requests.
View in browser
https://users.rime.ai/data/voices/voice_details.jsonDescription
The demographic fields are based on subjective assessment and are a general guide to each voice. Use them to narrow your choice. The only values you pass in a request arespeaker, modelId, and lang.
See Finding a Voice to choose a voice, and Explanation of fields for each field.
Example structure
[
{
"speaker": "astra",
"gender": "Female",
"age": "Young Adult",
"country": "US",
"dialect": "Standard",
"demographic": "White",
"genre": [
"Conversational, Customer Support, Narration"
],
"modelId": "coda",
"language": "English",
"lang": "eng",
"flagship": true
},
{
"speaker": "cove",
"gender": "Female",
"age": "Young Adult",
"country": "US",
"dialect": "African American",
"demographic": "Black",
"genre": [
"Customer Support"
],
"modelId": "mistv3",
"language": "English",
"lang": "eng",
"flagship": true
},
// and more...
]
Explanation of fields
The response is an array with one object per voice. Each object contains the following fields:speaker: The voice name. Pass it asspeakerin a request.gender: Indicates the gender of the voice.age: Describes the age group of the voice.country: The country that the voice is associated with, typically representing the accent or regional dialect.dialect: More specific than country, this field can indicate a particular area within a country.demographic: Describes the demographic group the voice represents.genre: An array of genres that the voice is suitable for, such asConversational.language: The language the voice speaks.lang: The value to pass aslangso the voice speaks its language.modelId: The model the voice is available under. Pass it asmodelIdin a request.flagship:truefor featured voices.

