curl --request POST \
--url https://api.krea.ai/generate/audio/elevenlabs/tts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"prompt": "Towering castles in the sky with dragon riders, channeling high-fantasy anime tropes."
}
'import requests
url = "https://api.krea.ai/generate/audio/elevenlabs/tts"
payload = { "prompt": "Towering castles in the sky with dragon riders, channeling high-fantasy anime tropes." }
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({
prompt: 'Towering castles in the sky with dragon riders, channeling high-fantasy anime tropes.'
})
};
fetch('https://api.krea.ai/generate/audio/elevenlabs/tts', 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.krea.ai/generate/audio/elevenlabs/tts",
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([
'prompt' => 'Towering castles in the sky with dragon riders, channeling high-fantasy anime tropes.'
]),
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.krea.ai/generate/audio/elevenlabs/tts"
payload := strings.NewReader("{\n \"prompt\": \"Towering castles in the sky with dragon riders, channeling high-fantasy anime tropes.\"\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.krea.ai/generate/audio/elevenlabs/tts")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"prompt\": \"Towering castles in the sky with dragon riders, channeling high-fantasy anime tropes.\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.krea.ai/generate/audio/elevenlabs/tts")
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 \"prompt\": \"Towering castles in the sky with dragon riders, channeling high-fantasy anime tropes.\"\n}"
response = http.request(request)
puts response.read_body{
"job_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "backlogged",
"created_at": "2023-11-07T05:31:56Z",
"completed_at": null,
"result": null,
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}ElevenLabs TTS
Convert text to natural-sounding speech with ElevenLabs voices. Defaults to eleven_multilingual_v2; pass model_id: eleven_v4 for ElevenLabs’ most expressive model (best voice cloning, 90+ languages) or eleven_v4_turbo for low-latency delivery.
curl --request POST \
--url https://api.krea.ai/generate/audio/elevenlabs/tts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"prompt": "Towering castles in the sky with dragon riders, channeling high-fantasy anime tropes."
}
'import requests
url = "https://api.krea.ai/generate/audio/elevenlabs/tts"
payload = { "prompt": "Towering castles in the sky with dragon riders, channeling high-fantasy anime tropes." }
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({
prompt: 'Towering castles in the sky with dragon riders, channeling high-fantasy anime tropes.'
})
};
fetch('https://api.krea.ai/generate/audio/elevenlabs/tts', 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.krea.ai/generate/audio/elevenlabs/tts",
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([
'prompt' => 'Towering castles in the sky with dragon riders, channeling high-fantasy anime tropes.'
]),
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.krea.ai/generate/audio/elevenlabs/tts"
payload := strings.NewReader("{\n \"prompt\": \"Towering castles in the sky with dragon riders, channeling high-fantasy anime tropes.\"\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.krea.ai/generate/audio/elevenlabs/tts")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"prompt\": \"Towering castles in the sky with dragon riders, channeling high-fantasy anime tropes.\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.krea.ai/generate/audio/elevenlabs/tts")
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 \"prompt\": \"Towering castles in the sky with dragon riders, channeling high-fantasy anime tropes.\"\n}"
response = http.request(request)
puts response.read_body{
"job_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "backlogged",
"created_at": "2023-11-07T05:31:56Z",
"completed_at": null,
"result": null,
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
URL to receive a POST request when the job completes. The webhook will receive the job data including results.
Body
The text to convert to speech.
1 - 2000ElevenLabs voice ID. Available voices: Bella (hpp4J3VqNfWAUOO0d1Us), Roger (CwhRBWXzGAHq8TQ4Fs17), Sarah (EXAVITQu4vr4xnSDxMaL), Laura (FGY2WhTYpPnrIDTdsKH5), Charlie (IKne3meq5aSn9XLyUdCD), George (JBFqnCBsd6RMkjVDRZzb), Callum (N2lVS1w4EtoT3dr4eOWO), River (SAz9YHcvj6GT2YYXdXww), Harry (SOYHLrjzK2X1ezoPC6cr), Liam (TX3LPaxmHKxFdv7VOQHJ), Alice (Xb7hH8MSUJpSbSDYk0k2), Matilda (XrExE9yKIg1WjnnlVkGX), Will (bIHbv24MWmeRgasZH58o), Jessica (cgSgspJ2msm6clMCkdW9), Eric (cjVigY5qzO86Huf0OWal), Chris (iP95p4xoKVk53GoZ742B), Brian (nPczCjzI2devNBz1zQrb), Daniel (onwK4e9ZLuTAKqWW03F9), Lily (pFZP5JQG7iQjIQuC4Bku), Adam (pNInz6obpgDQGcFmaJgB), Bill (pqHfZKP75CvOlQylNhV4).
1ElevenLabs model ID. Defaults to eleven_multilingual_v2. Use eleven_v4 for ElevenLabs' most expressive, highest-quality model (best voice cloning, 90+ languages), or eleven_v4_turbo for low-latency generation.
1Response
The resulting job data. This will be returned in a pending state until the job is completed. See /jobs/{id} for retrieving the results.
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$backlogged, queued, scheduled, processing, sampling, intermediate-complete, completed, failed, cancelled ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$Show child attributes
Show child attributes
Was this page helpful?