List All Voices
curl --request GET \
--url https://users.rime.ai/data/voices/all-v2.jsonimport requests
url = "https://users.rime.ai/data/voices/all-v2.json"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://users.rime.ai/data/voices/all-v2.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/all-v2.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/all-v2.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/all-v2.json")
.asString();require 'uri'
require 'net/http'
url = URI("https://users.rime.ai/data/voices/all-v2.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 All Voices
List every Rime voice, keyed by modelId and language.
List All Voices
curl --request GET \
--url https://users.rime.ai/data/voices/all-v2.jsonimport requests
url = "https://users.rime.ai/data/voices/all-v2.json"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://users.rime.ai/data/voices/all-v2.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/all-v2.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/all-v2.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/all-v2.json")
.asString();require 'uri'
require 'net/http'
url = URI("https://users.rime.ai/data/voices/all-v2.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/all-v2.jsonExample structure
{
"coda": {
"eng": [
"astra",
"albion",
// ...and more...
],
"spa": [
"alba",
"celestino",
// ...and more...
]
},
"mistv3": {
"eng": [
"alexis",
"astra",
// ...and more...
],
"spa": [
"diego",
"isa",
// ...and more...
]
}
}
Explanation
The response is keyed bymodelId, then by ISO 639-2 language code, and each entry lists the speaker values for that model and language. For current cloud models, pass the top-level key as modelId in a request to the Rime TTS APIs.
