curl --request POST \
--url https://api.krea.ai/generate/audio/elevenlabs/tts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"prompt": "Vibrant marketplace in the heart of a bamboo forest, influenced by traditional anime aesthetics."
}
'import requests
url = "https://api.krea.ai/generate/audio/elevenlabs/tts"
payload = { "prompt": "Vibrant marketplace in the heart of a bamboo forest, influenced by traditional anime aesthetics." }
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: 'Vibrant marketplace in the heart of a bamboo forest, influenced by traditional anime aesthetics.'
})
};
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' => 'Vibrant marketplace in the heart of a bamboo forest, influenced by traditional anime aesthetics.'
]),
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\": \"Vibrant marketplace in the heart of a bamboo forest, influenced by traditional anime aesthetics.\"\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\": \"Vibrant marketplace in the heart of a bamboo forest, influenced by traditional anime aesthetics.\"\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\": \"Vibrant marketplace in the heart of a bamboo forest, influenced by traditional anime aesthetics.\"\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>"
},
"progress": 0.5
}{
"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": "Vibrant marketplace in the heart of a bamboo forest, influenced by traditional anime aesthetics."
}
'import requests
url = "https://api.krea.ai/generate/audio/elevenlabs/tts"
payload = { "prompt": "Vibrant marketplace in the heart of a bamboo forest, influenced by traditional anime aesthetics." }
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: 'Vibrant marketplace in the heart of a bamboo forest, influenced by traditional anime aesthetics.'
})
};
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' => 'Vibrant marketplace in the heart of a bamboo forest, influenced by traditional anime aesthetics.'
]),
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\": \"Vibrant marketplace in the heart of a bamboo forest, influenced by traditional anime aesthetics.\"\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\": \"Vibrant marketplace in the heart of a bamboo forest, influenced by traditional anime aesthetics.\"\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\": \"Vibrant marketplace in the heart of a bamboo forest, influenced by traditional anime aesthetics.\"\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>"
},
"progress": 0.5
}{
"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. When signing is configured, deliveries are signed with ECDSA P-256 (ES256); verify them with the keys at https://api.krea.ai/.well-known/jwks.json (see X-Krea-Webhook-* headers). Treat requests without these headers as unauthenticated.
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
0 <= x <= 1Was this page helpful?