curl --request GET \
--url https://api.jogg.ai/v1/voices \
--header 'x-api-key: <api-key>'import requests
url = "https://api.jogg.ai/v1/voices"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.jogg.ai/v1/voices', 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.jogg.ai/v1/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 => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.jogg.ai/v1/voices"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.jogg.ai/v1/voices")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.jogg.ai/v1/voices")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"code": 123,
"msg": "<string>",
"data": {
"total": 10,
"voices": [
{
"name": "Emily",
"voice_id": "en-US-ChristopherNeural",
"audition_url": "https://jogg-test.cds8.cn/jogg/2024-08-05/3020cde64e75c1a3a232ec325e3d1790.mp3",
"language": "english",
"gender": "female",
"age": "adult"
}
]
}
}Get Voice List from Library
Retrieve a list of available voices with specified filters
curl --request GET \
--url https://api.jogg.ai/v1/voices \
--header 'x-api-key: <api-key>'import requests
url = "https://api.jogg.ai/v1/voices"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.jogg.ai/v1/voices', 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.jogg.ai/v1/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 => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.jogg.ai/v1/voices"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.jogg.ai/v1/voices")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.jogg.ai/v1/voices")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"code": 123,
"msg": "<string>",
"data": {
"total": 10,
"voices": [
{
"name": "Emily",
"voice_id": "en-US-ChristopherNeural",
"audition_url": "https://jogg-test.cds8.cn/jogg/2024-08-05/3020cde64e75c1a3a232ec325e3d1790.mp3",
"language": "english",
"gender": "female",
"age": "adult"
}
]
}
}Authorizations
Query Parameters
Page number
x >= 1Page size
x >= 1Filter voices by age:
-
young
-
middle_aged
-
old
young, middle_aged, old Filter voices by gender:
- male
- female
male, female Filter voices by language:
-
english - English
-
filipino - Filipino
-
french - French
-
german - German
-
hindi - Hindi
-
indonesian - Indonesian
-
italian - Italian
-
japanese - Japanese
-
korean - Korean
-
malay - Malay
-
portuguese - Portuguese
-
russian - Russian
-
spanish - Spanish
-
thai - Thai
-
vietnamese - Vietnamese
-
arabic - Arabic
-
greek - Greek
-
turkish - Turkish
-
slovenian - Slovenian
-
croatian - Croatian
-
romanian - Romanian
-
chinese - Simplified Chinese
-
bengali - Bengali
-
urdu - Urdu
-
hungarian - Hungarian
-
traditional-chinese - Traditional Chinese
-
polish - Polish
-
cantonese - Cantonese
-
danish - Danish
-
malayalam - Malayalam
-
tamil - Tamil
-
telugu - Telugu
-
czech - Czech
-
hebrew - Hebrew
-
zulu - Zulu
-
swedish - Swedish
-
lithuanian - Lithuanian
-
dutch - Dutch
-
flemish - Flemish
-
norwegian - Norwegian
-
finnish - Finnish
-
bulgarian - Bulgarian
-
latvian - Latvian
-
ukrainian - Ukrainian
-
mongolian - Mongolian
-
persian - Persian
-
odia - Odia
-
assamese - Assamese
-
kannada - Kannada
-
tagalog - Tagalog
-
amharic - Amharic
-
serbian - Serbian
-
slovak - Slovak
-
swahili - Swahili
english, filipino, french, german, hindi, indonesian, italian, japanese, korean, malay, portuguese, russian, spanish, thai, vietnamese, arabic, greek, turkish, slovenian, croatian, romanian, chinese, bengali, urdu, hungarian, traditional-chinese, polish, cantonese, danish, malayalam, tamil, telugu, czech, hebrew, zulu, swedish, lithuanian, dutch, flemish, norwegian, finnish, bulgarian, latvian, ukrainian, mongolian, persian, odia, assamese, kannada, tagalog, amharic, serbian, slovak, swahili Response
Success

