Async Text to Speech Pro V1.0
Ενσωμάτωση
async/tts-pro/v1.0
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/async/tts-pro/v1.0?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"transcript": "Hello from Doitong. This is a short test sentence.",
"voice": {
"name": "Jennie"
}
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.com/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/async/tts-pro/v1.0?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"transcript": "Hello from Doitong. This is a short test sentence.",
"voice": {
"name": "Jennie"
}
}),
});
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.com/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"transcript": "Hello from Doitong. This is a short test sentence.",
"voice": {
"name": "Jennie",
},
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/async/tts-pro/v1.0", 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/el/developers/docs/mcp)
claude mcp add --transport http doitong-models https://api.doitong.com/v1/mcp \
--header "Authorization: Bearer $DOITONG_API_KEY"
# 2. Your agent calls the "run" tool with:
{
"model_id": "async/tts-pro/v1.0",
"input": {
"transcript": "Hello from Doitong. This is a short test sentence.",
"voice": {
"name": "Jennie"
}
}
}
Καλέστε το μοντέλο Async Text to Speech Pro V1.0 (async/tts-pro/v1.0) μέσω του Doitong API. Τεκμηρίωση για πράκτορες: https://doitong.com/el/developers/models/async/tts-pro/v1.0.md
POST https://api.doitong.com/v1/run/async/tts-pro/v1.0?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"transcript": "Hello from Doitong. This is a short test sentence.",
"voice": {
"name": "Jennie"
}
}
Αν η κατάσταση της απόκρισης είναι "queued" ή "running", εκτελέστε δημοσκόπηση με GET https://api.doitong.com/v1/requests/REQUEST_ID?wait=20 μέχρι να γίνει "succeeded"· τα αρχεία βρίσκονται στο outputs[].url. Το POST https://api.doitong.com/v1/quote/async/tts-pro/v1.0 με το ίδιο σώμα επιστρέφει την ακριβή τιμή πριν από την εκτέλεση.
Αυτό το αίτημα: 0,001 $ 1 πίστωση API Εκτέλεση σε αυτήν τη σελίδα
Το νέο σας κλειδί API. Εμφανίζεται μόνο τώρα και βρίσκεται ήδη στον κώδικα και στο παρακάτω πεδίο κλειδιού API. Κρατήστε το μυστικό: μην το εισάγετε ποτέ σε κώδικα που εκτελείται σε πρόγραμμα περιήγησης.
Το πρώτο σας αποτέλεσμα θα εμφανιστεί εδώ
Δημιουργήστε ένα αίτημα παρακάτω και εκτελέστε το με το κλειδί API σας. Οι έξοδοι αντιγράφονται στην αποθήκευσή μας και διατηρούνται για πάντα ή 7 ημέρες δωρεάν.
Δημιουργία αιτήματος
Τα στοιχεία ελέγχου δημιουργούνται από το σχήμα του μοντέλου. Ο κώδικας και η τιμή ενημερώνονται καθώς τα αλλάζετε.
/run/async/tts-pro/v1.0?wait=20
προσφορά → 0,001 $
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/async/tts-pro/v1.0?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"transcript": "Hello from Doitong. This is a short test sentence.",
"voice": {
"name": "Jennie"
}
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.com/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/async/tts-pro/v1.0?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"transcript": "Hello from Doitong. This is a short test sentence.",
"voice": {
"name": "Jennie"
}
}),
});
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.com/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"transcript": "Hello from Doitong. This is a short test sentence.",
"voice": {
"name": "Jennie",
},
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/async/tts-pro/v1.0", 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": "async/tts-pro/v1.0",
"input": {
"transcript": "Hello from Doitong. This is a short test sentence.",
"voice": {
"name": "Jennie"
}
},
"wait_seconds": 20
}
}
}
Εκτέλεση αυτού του αιτήματος
Το κλειδί σας παραμένει σε αυτό το πρόγραμμα περιήγησης: αποστέλλεται μόνο στο Doitong API και αποθηκεύεται (localStorage) μόνο αν ενεργοποιήσετε την επιλογή «Να απομνημονεύεται». Λήψη κλειδιού API
Σχετικά με το Async Text to Speech Pro V1.0
Μετατρέπει ένα `transcript` σε ομιλία χρησιμοποιώντας ένα επιλεγμένο αντικείμενο `voice`. Η προαιρετική παράμετρος `language` επιβάλλει σύνθεση στα αγγλικά, γαλλικά, ισπανικά, γερμανικά, ιταλικά ή πορτογαλικά. Ένα αντικείμενο `output_format` ρυθμίζει τον ήχο και το αποτέλεσμα περιλαμβάνει το αρχείο ήχου, τον τύπο MIME και το μέγεθός του σε byte. Κατάλληλο για voiceover όπου επιλέγετε συγκεκριμένη φωνή.
Παράμετροι
transcriptαπαιτείται
voiceαπαιτείται
voice.nameπροαιρετικό
+84 ακόμη
EiraNyraArianLilyPierceKaelaElowenFreyaLennyAlessaPandoraFiaAbbottKaelOrlaSableMarnieSeraVirelLioraRivenElysDreenaRheaVelaNymeraIsoldeLirienZellaAvennaMirelleCaliaLuneaLucanTarianArloJovanNeronZivenDaxOrienLiorEryxTyrenNoxElricVarianZoranMiroDalenRonixJarekNyxieSorenVionaSeleneRachielCorbinAbigailFaithKimberlyDaveGraceAldenRenlyVioletJoelXavierEsmeraldaRobertLilaBrooksLennoxVanessaSimonNyomiJackPenelopeBraydenAbelNellieConnieAndrewLincolnoutput_formatπροαιρετικό
output_format.containerπροαιρετικό
output_format.encodingπροαιρετικό
output_format.sample_rateπροαιρετικό
output_format.bit_rateπροαιρετικό
languageπροαιρετικό
Έξοδος
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "async/tts-pro/v1.0",
"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": 1,
"usd": "0.001",
"charged": 1,
"refunded": 0
},
"input": {
"transcript": "Hello from Doitong. This is a short test sentence.",
"voice": {
"name": "Jennie"
}
},
"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
},
"content_type": "audio/mpeg",
"size_bytes": 1
},
"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.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
"cancel": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
}
}
Πεδία εξόδου
- audio
- object {url, content_type, file_name, file_size}
- content_type
- stringΤύπος MIME ήχου.
- size_bytes
- integerΜέγεθος ήχου σε byte.
Περισσότερα μοντέλα: Κείμενο σε ομιλία
Για πράκτορες AI: αυτή η σελίδα σε Markdown βρίσκεται στη διεύθυνση https://doitong.com/el/developers/models/async/tts-pro/v1.0.md. Όλα τα μοντέλα και οι οδηγοί: https://doitong.com/developers/llms.txt