Eleven v4 Text to Speech
Integrēt
elevenlabs/tts/eleven-v4
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.ru/v1/run/elevenlabs/tts/eleven-v4?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "[whispers] Okay, everyone, gather close. [excited] The bread is finally out of the oven. [laughs] Fine, fine, one slice each, but only if you promise to save one for me."
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.ru/v1";
const headers = {
"Authorization": "Bearer " + process.env.DOITONG_API_KEY,
"Content-Type": "application/json",
};
// Run the model; wait up to 20 s for the finished result in the same call
let res = await fetch(API + "/run/elevenlabs/tts/eleven-v4?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"text": "[whispers] Okay, everyone, gather close. [excited] The bread is finally out of the oven. [laughs] Fine, fine, one slice each, but only if you promise to save one for me."
}),
});
let request = await res.json();
if (!res.ok) throw new Error(request.error.code + ": " + request.error.message);
// Not finished yet: long-poll until it is
while (request.status === "queued" || request.status === "running") {
res = await fetch(API + "/requests/" + request.id + "?wait=20", { headers });
request = await res.json();
}
if (request.status !== "succeeded") throw new Error(JSON.stringify(request.error));
console.log(request.outputs.map((o) => o.url), request.cost.credits + " API credits ($" + request.cost.usd + ")");
import os
import requests
API = "https://api.doitong.ru/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"text": "[whispers] Okay, everyone, gather close. [excited] The bread is finally out of the oven. [laughs] Fine, fine, one slice each, but only if you promise to save one for me.",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/elevenlabs/tts/eleven-v4", params={"wait": 20}, json=payload, headers=headers)
request = r.json()
if not r.ok:
raise RuntimeError(request["error"]["code"] + ": " + request["error"]["message"])
# Not finished yet: long-poll until it is
while request["status"] in ("queued", "running"):
request = requests.get(API + "/requests/" + request["id"], params={"wait": 20}, headers=headers).json()
if request["status"] != "succeeded":
raise RuntimeError(request["error"])
print([o["url"] for o in request["outputs"]], request["cost"]["credits"], "API credits", "$" + request["cost"]["usd"])
# 1. Connect once (Claude Code; Cursor, VS Code, Claude Desktop: https://doitong.com/lv/developers/docs/mcp)
claude mcp add --transport http doitong-models https://api.doitong.ru/v1/mcp \
--header "Authorization: Bearer $DOITONG_API_KEY"
# 2. Your agent calls the "run" tool with:
{
"model_id": "elevenlabs/tts/eleven-v4",
"input": {
"text": "[whispers] Okay, everyone, gather close. [excited] The bread is finally out of the oven. [laughs] Fine, fine, one slice each, but only if you promise to save one for me."
}
}
Izsauciet Eleven v4 Text to Speech modeli (elevenlabs/tts/eleven-v4), izmantojot Doitong API. Dokumentācija aģentiem: https://doitong.com/lv/developers/models/elevenlabs/tts/eleven-v4.md
POST https://api.doitong.ru/v1/run/elevenlabs/tts/eleven-v4?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"text": "[whispers] Okay, everyone, gather close. [excited] The bread is finally out of the oven. [laughs] Fine, fine, one slice each, but only if you promise to save one for me."
}
Ja atbildes statuss ir "queued" vai "running", periodiski izsauciet GET https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20, līdz tas kļūst par "succeeded"; faili atrodas outputs[].url. POST https://api.doitong.ru/v1/quote/elevenlabs/tts/eleven-v4 ar to pašu pamattekstu atgriež precīzu cenu pirms izpildes.
Šis pieprasījums: 0,014 $ 14 API kredītu · ≈ 1,51 ₽ Izpildīt šajā lapā
Jūsu jaunā API atslēga. Tā tiek parādīta tikai tagad un jau ir ievietota kodā un tālāk esošajā API atslēgas laukā. Glabājiet to noslēpumā: nekad neievietojiet to kodā, kas darbojas pārlūkprogrammā.
Piemēri
Izveidot pieprasījumu
Vadīklas tiek ģenerētas no modeļa shēmas. Kods un cena tiek atjaunināti, kad tos maināt.
/run/elevenlabs/tts/eleven-v4?wait=20
cena → 0,014 $
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.ru/v1/run/elevenlabs/tts/eleven-v4?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "[whispers] Okay, everyone, gather close. [excited] The bread is finally out of the oven. [laughs] Fine, fine, one slice each, but only if you promise to save one for me."
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.ru/v1";
const headers = {
"Authorization": "Bearer " + process.env.DOITONG_API_KEY,
"Content-Type": "application/json",
};
// Run the model; wait up to 20 s for the finished result in the same call
let res = await fetch(API + "/run/elevenlabs/tts/eleven-v4?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"text": "[whispers] Okay, everyone, gather close. [excited] The bread is finally out of the oven. [laughs] Fine, fine, one slice each, but only if you promise to save one for me."
}),
});
let request = await res.json();
if (!res.ok) throw new Error(request.error.code + ": " + request.error.message);
// Not finished yet: long-poll until it is
while (request.status === "queued" || request.status === "running") {
res = await fetch(API + "/requests/" + request.id + "?wait=20", { headers });
request = await res.json();
}
if (request.status !== "succeeded") throw new Error(JSON.stringify(request.error));
console.log(request.outputs.map((o) => o.url), request.cost.credits + " API credits ($" + request.cost.usd + ")");
import os
import requests
API = "https://api.doitong.ru/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"text": "[whispers] Okay, everyone, gather close. [excited] The bread is finally out of the oven. [laughs] Fine, fine, one slice each, but only if you promise to save one for me.",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/elevenlabs/tts/eleven-v4", params={"wait": 20}, json=payload, headers=headers)
request = r.json()
if not r.ok:
raise RuntimeError(request["error"]["code"] + ": " + request["error"]["message"])
# Not finished yet: long-poll until it is
while request["status"] in ("queued", "running"):
request = requests.get(API + "/requests/" + request["id"], params={"wait": 20}, headers=headers).json()
if request["status"] != "succeeded":
raise RuntimeError(request["error"])
print([o["url"] for o in request["outputs"]], request["cost"]["credits"], "API credits", "$" + request["cost"]["usd"])
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "run",
"arguments": {
"model_id": "elevenlabs/tts/eleven-v4",
"input": {
"text": "[whispers] Okay, everyone, gather close. [excited] The bread is finally out of the oven. [laughs] Fine, fine, one slice each, but only if you promise to save one for me."
},
"wait_seconds": 20
}
}
}
Palaist šo pieprasījumu
Jūsu atslēga paliek šajā pārlūkprogrammā: tā tiek nosūtīta tikai uz Doitong API un saglabāta (localStorage) tikai tad, ja atzīmējat Atcerēties. Iegūt API atslēgu
Par Eleven v4 Text to Speech
Eleven v4 nolasa tekstu dabiskās, emocionālās balsīs un saprot iekļautos audio tagus, piemēram, [excited] vai [whispering], kā arī IPA izrunas. Izvēlieties balsi, pielāgojiet stabilitāti un līdzību, iestatiet valodu un pēc izvēles saņemiet vārdu līmeņa laika zīmogus. MP3, PCM, Opus un telefonijas formāti.
Parametri
textobligāts
voiceneobligāts
stabilityneobligāts
similarity_boostneobligāts
seedneobligāts
language_codeneobligāts
output_formatneobligāts
+vēl 3
opus_48000_96opus_48000_128opus_48000_192apply_text_normalizationneobligāts
timestampsneobligāts
Izvade
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "elevenlabs/tts/eleven-v4",
"status": "succeeded",
"created_at": "2026-10-20T12:00:00Z",
"started_at": "2026-10-20T12:00:02Z",
"completed_at": "2026-10-20T12:00:09Z",
"queue_position": null,
"cost": {
"credits": 14,
"usd": "0.014",
"charged": 14,
"refunded": 0
},
"input": {
"text": "[excited] Hello! Welcome to the future of voice.",
"voice": "Aria"
},
"output": {
"audio": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp3",
"content_type": "audio/mpeg",
"file_name": "0-output.mp3",
"file_size": 1843200
},
"timestamps": []
},
"outputs": [
{
"type": "audio",
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp3",
"content_type": "audio/mpeg",
"file_size": 1843200,
"duration": 12,
"stored": true
}
],
"error": null,
"metrics": {
"inference_seconds": 6.8
},
"urls": {
"self": "https://api.doitong.ru/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
"cancel": "https://api.doitong.ru/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
}
}
Izvades lauki
- audio
- object {url, content_type, file_name, file_size}Ģenerētais audio fails.
- timestamps
- array of any | nullĢenerētās runas laika dati, kas iekļauti tikai pieprasījumos ar `timestamps` iestatītu uz True; katram vārdam ir laika zīmogs.
Citi ElevenLabs v4 varianti
Vairāk modeļu: Teksts uz runu
AI aģentiem: šī lapa Markdown formātā ir pieejama https://doitong.com/lv/developers/models/elevenlabs/tts/eleven-v4.md. Visi modeļi un ceļveži: https://doitong.com/developers/llms.txt