curl --request POST \
--url https://api.slng.ai/v1/tts/slng/rime/arcana:fr \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"text": "Bonjour depuis Rime Arcana Français. Test de la synthèse vocale.",
"speaker": "destin"
}
'import requests
url = "https://api.slng.ai/v1/tts/slng/rime/arcana:fr"
payload = {
"text": "Bonjour depuis Rime Arcana Français. Test de la synthèse vocale.",
"speaker": "destin"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
text: 'Bonjour depuis Rime Arcana Français. Test de la synthèse vocale.',
speaker: 'destin'
})
};
fetch('https://api.slng.ai/v1/tts/slng/rime/arcana:fr', 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/tts/slng/rime/arcana:fr",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'text' => 'Bonjour depuis Rime Arcana Français. Test de la synthèse vocale.',
'speaker' => 'destin'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.slng.ai/v1/tts/slng/rime/arcana:fr"
payload := strings.NewReader("{\n \"text\": \"Bonjour depuis Rime Arcana Français. Test de la synthèse vocale.\",\n \"speaker\": \"destin\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.slng.ai/v1/tts/slng/rime/arcana:fr")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"text\": \"Bonjour depuis Rime Arcana Français. Test de la synthèse vocale.\",\n \"speaker\": \"destin\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.slng.ai/v1/tts/slng/rime/arcana:fr")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"text\": \"Bonjour depuis Rime Arcana Français. Test de la synthèse vocale.\",\n \"speaker\": \"destin\"\n}"
response = http.request(request)
puts response.read_body"<string>"Arcana v2 (French)
Synthesize French speech using Rime Arcana TTS model.
curl --request POST \
--url https://api.slng.ai/v1/tts/slng/rime/arcana:fr \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"text": "Bonjour depuis Rime Arcana Français. Test de la synthèse vocale.",
"speaker": "destin"
}
'import requests
url = "https://api.slng.ai/v1/tts/slng/rime/arcana:fr"
payload = {
"text": "Bonjour depuis Rime Arcana Français. Test de la synthèse vocale.",
"speaker": "destin"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
text: 'Bonjour depuis Rime Arcana Français. Test de la synthèse vocale.',
speaker: 'destin'
})
};
fetch('https://api.slng.ai/v1/tts/slng/rime/arcana:fr', 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/tts/slng/rime/arcana:fr",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'text' => 'Bonjour depuis Rime Arcana Français. Test de la synthèse vocale.',
'speaker' => 'destin'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.slng.ai/v1/tts/slng/rime/arcana:fr"
payload := strings.NewReader("{\n \"text\": \"Bonjour depuis Rime Arcana Français. Test de la synthèse vocale.\",\n \"speaker\": \"destin\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.slng.ai/v1/tts/slng/rime/arcana:fr")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"text\": \"Bonjour depuis Rime Arcana Français. Test de la synthèse vocale.\",\n \"speaker\": \"destin\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.slng.ai/v1/tts/slng/rime/arcana:fr")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"text\": \"Bonjour depuis Rime Arcana Français. Test de la synthèse vocale.\",\n \"speaker\": \"destin\"\n}"
response = http.request(request)
puts response.read_body"<string>"Authorizations
API key issued by SLNG. Pass as Authorization: Bearer <token>.
Headers
Target region override. Auto-selected if not provided.
eu-north-1 Body
Rime Arcana TTS request for French.
Voice speaker ID (French voices).
destin, livet_aurelie, morel_marianne, serrin_joseph, solstice Text to synthesize.
1Model: arcana (most realistic, ~150ms), mistv2 (speed & control, ~70ms).
arcana, arcana-3, mistv2, mist The repetition penalty. We do not recommend changing this from the default value. Typical range is 1 to 2. Float that penalizes new tokens based on whether they appear in the prompt and the generated text so far. Values > 1 encourage the model to use new tokens, while values < 1 encourage the model to repeat tokens.
The temperature. We do not recommend changing this from the default value. Typical range is 0 to 1. Float that controls the randomness of the sampling. Lower values make the model more deterministic, while higher values make the model more random. Zero means greedy sampling.
The top p. We do not recommend changing this from the default value. Typical range is 0 to 1. Float that controls the cumulative probability of the top tokens to consider. Must be in (0, 1]. Set to 1 to consider all tokens.
Output audio format as MIME type.
audio/webm;codecs=opus, audio/ogg;codecs=opus, audio/mp3, audio/wav, audio/pcm, audio/x-mulaw Output sample rate in Hz. Values above 24000 are upsampled.
8000, 16000, 22050, 24000, 44100, 48000, 96000 Speech rate multiplier (0.25 = half speed, 2.0 = double speed).
0.25 <= x <= 2Response
Synthesis successful.
Binary audio data.
Was this page helpful?