curl --request GET \
--url https://api.slng.ai/v1/catalog/models \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.slng.ai/v1/catalog/models"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.slng.ai/v1/catalog/models', 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.slng.ai/v1/catalog/models",
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://api.slng.ai/v1/catalog/models"
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))
}HttpResponse<String> response = Unirest.get("https://api.slng.ai/v1/catalog/models")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.slng.ai/v1/catalog/models")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"items": [
{
"code": "slng/rime/arcana:3-en",
"name": "Arcana V3 English",
"service_type": "tts",
"provider_code": "rime",
"provider": {
"name": "Rime",
"logo_url": "https://assets.slng.ai/provider-logos/rime-9d9ccf23.jpg",
"code": "rime",
"created_at": "2026-03-25T12:43:28.731Z",
"updated_at": "2026-04-14T16:14:02.621Z"
},
"hosted_by": "slng",
"short_description": "Ultra-realistic, expressive voices with low latency and native multilingual code-switching.",
"long_description": "Arcana v3 delivers low-latency conversational TTS with multilingual code-switching and word-level timestamps.",
"best_for": "Voice Assistants, Business Telephony, IVR, TTS",
"use_cases": [
"Call centers",
"voice assistant",
"IVR"
],
"capabilities": [
"Streaming",
"Expressiveness",
"Latency"
],
"languages": [
"en"
],
"streaming": true,
"batch": false,
"voice_count": 0,
"api_path": "/v1/tts/slng/rime/arcana:3-en",
"docs_url": "https://docs.slng.ai/api-reference/endpoints/rime-arcana-v3/arcana-v3-english-http",
"tags": [],
"available_regions": [
"ap-southeast-2",
"asia-south1",
"eu-north-1"
],
"region_details": [
{
"code": "ap-southeast-2",
"country": "Australia",
"world_part_code": "au",
"latency_ms": 240
}
],
"supported_protocols": [
"https",
"wss"
],
"voices": [],
"similar_models": [
{
"code": "slng/deepgram/aura:2-en",
"name": "Aura 2 English",
"service_type": ""
}
],
"pricing": {
"min_price": 100,
"unit": "microdollars_per_min"
}
}
],
"meta": {
"page": 1,
"page_size": 20,
"total": 26,
"pages": 2
}
}List catalog models
List the models available in the SLNG catalog. Supports filtering by service type, provider, region, language, use case, capability, and protocol, plus full-text search and pagination. Authentication is optional — an API key personalizes pricing and region availability for your organisation; anonymous requests return public catalog data.
curl --request GET \
--url https://api.slng.ai/v1/catalog/models \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.slng.ai/v1/catalog/models"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.slng.ai/v1/catalog/models', 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.slng.ai/v1/catalog/models",
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://api.slng.ai/v1/catalog/models"
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))
}HttpResponse<String> response = Unirest.get("https://api.slng.ai/v1/catalog/models")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.slng.ai/v1/catalog/models")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"items": [
{
"code": "slng/rime/arcana:3-en",
"name": "Arcana V3 English",
"service_type": "tts",
"provider_code": "rime",
"provider": {
"name": "Rime",
"logo_url": "https://assets.slng.ai/provider-logos/rime-9d9ccf23.jpg",
"code": "rime",
"created_at": "2026-03-25T12:43:28.731Z",
"updated_at": "2026-04-14T16:14:02.621Z"
},
"hosted_by": "slng",
"short_description": "Ultra-realistic, expressive voices with low latency and native multilingual code-switching.",
"long_description": "Arcana v3 delivers low-latency conversational TTS with multilingual code-switching and word-level timestamps.",
"best_for": "Voice Assistants, Business Telephony, IVR, TTS",
"use_cases": [
"Call centers",
"voice assistant",
"IVR"
],
"capabilities": [
"Streaming",
"Expressiveness",
"Latency"
],
"languages": [
"en"
],
"streaming": true,
"batch": false,
"voice_count": 0,
"api_path": "/v1/tts/slng/rime/arcana:3-en",
"docs_url": "https://docs.slng.ai/api-reference/endpoints/rime-arcana-v3/arcana-v3-english-http",
"tags": [],
"available_regions": [
"ap-southeast-2",
"asia-south1",
"eu-north-1"
],
"region_details": [
{
"code": "ap-southeast-2",
"country": "Australia",
"world_part_code": "au",
"latency_ms": 240
}
],
"supported_protocols": [
"https",
"wss"
],
"voices": [],
"similar_models": [
{
"code": "slng/deepgram/aura:2-en",
"name": "Aura 2 English",
"service_type": ""
}
],
"pricing": {
"min_price": 100,
"unit": "microdollars_per_min"
}
}
],
"meta": {
"page": 1,
"page_size": 20,
"total": 26,
"pages": 2
}
}Authorizations
API key issued by SLNG. Pass as Authorization: Bearer <token>.
Query Parameters
Filter models by service type.
stt, tts Filter models by supported language code (for example en).
Filter models by provider code (for example rime).
Filter models by region code (for example eu-north-1).
Filter models by use case tag.
Filter models by capability tag.
Filter models by supported protocol.
https, wss When true, return only SLNG-hosted models. Accepts true, false, 1, or 0.
Full-text search across model names and descriptions.
200The page number to return (1-based). Defaults to 1.
1 <= x <= 10000The number of items per page. Defaults to 20.
1 <= x <= 100