Inworld TTS-1.5 Max
ผสานการทำงาน
inworld-tts
# 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/inworld-tts?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "Hello from Doitong. This is a short test sentence."
}'
# 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/inworld-tts?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"text": "Hello from Doitong. This is a short test sentence."
}),
});
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 = {
"text": "Hello from Doitong. This is a short test sentence.",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/inworld-tts", 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/th/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": "inworld-tts",
"input": {
"text": "Hello from Doitong. This is a short test sentence."
}
}
เรียกใช้โมเดล Inworld TTS-1.5 Max (inworld-tts) ผ่าน Doitong API เอกสารสำหรับเอเจนต์: https://doitong.com/th/developers/models/inworld-tts.md
POST https://api.doitong.com/v1/run/inworld-tts?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"text": "Hello from Doitong. This is a short test sentence."
}
หากสถานะการตอบกลับเป็น "queued" หรือ "running" ให้ส่งคำขอแบบสำรวจ GET https://api.doitong.com/v1/requests/REQUEST_ID?wait=20 จนกว่าจะเป็น "succeeded" ไฟล์อยู่ใน outputs[].url การส่ง POST https://api.doitong.com/v1/quote/inworld-tts ด้วยบอดี้เดียวกันจะแสดงราคาที่แน่นอนก่อนเรียกใช้
คำขอนี้: $0.001 1 เครดิต API เรียกใช้ในหน้านี้
คีย์ API ใหม่ของคุณ คีย์นี้จะแสดงเฉพาะตอนนี้ และมีอยู่ในโค้ดและช่องคีย์ API ด้านล่างแล้ว เก็บเป็นความลับ: อย่าใส่คีย์นี้ไว้ในโค้ดที่ทำงานบนเบราว์เซอร์
ผลลัพธ์แรกของคุณจะแสดงที่นี่
สร้างคำขอด้านล่างและเรียกใช้ด้วยคีย์ API ของคุณ เอาต์พุตจะถูกคัดลอกไปยังพื้นที่จัดเก็บของเรา และเก็บไว้ตลอดไปหรือฟรี 7 วัน
สร้างคำขอ
ตัวควบคุมสร้างจากสคีมาของโมเดล โค้ดและราคาจะอัปเดตเมื่อคุณเปลี่ยนค่า
/run/inworld-tts?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/inworld-tts?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "Hello from Doitong. This is a short test sentence."
}'
# 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/inworld-tts?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"text": "Hello from Doitong. This is a short test sentence."
}),
});
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 = {
"text": "Hello from Doitong. This is a short test sentence.",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/inworld-tts", 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": "inworld-tts",
"input": {
"text": "Hello from Doitong. This is a short test sentence."
},
"wait_seconds": 20
}
}
}
เรียกใช้คำขอนี้
คีย์ของคุณจะอยู่ในเบราว์เซอร์นี้ โดยส่งไปยัง Doitong API เท่านั้น และจะบันทึกใน localStorage ก็ต่อเมื่อคุณเลือกจดจำ รับคีย์ API
เกี่ยวกับ Inworld TTS-1.5 Max
แปลงอักขระสูงสุด 2000 ตัวใน `text` เป็นเสียงพูด `voice` ใช้เลือกจากเสียงที่มีชื่อ 113 แบบ โดยมี Craig (en) เป็นค่าเริ่มต้น `sample_rate_hertz` เป็น 8000, 16000, 24000, 32000, 40000 หรือ 48000 (ค่าเริ่มต้น) ได้ ส่งคืนไฟล์เสียงหนึ่งไฟล์
พารามิเตอร์
textจำเป็น
voiceไม่บังคับ
เพิ่มเติมอีก 97 ค่า
Anjali (en)Saanvi (en)Arjun (en)Claire (en)Oliver (en)Simon (en)Elliot (en)James (en)Serena (en)Gareth (en)Vinny (en)Lauren (en)Jessica (en)Ethan (en)Tyler (en)Jason (en)Chloe (en)Veronica (en)Victoria (en)Miranda (en)Sebastian (en)Victor (en)Malcolm (en)Kayla (en)Nate (en)Jake (en)Brian (en)Amina (en)Kelsey (en)Derek (en)Grant (en)Evan (en)Alex (en)Ashley (en)Craig (en)Deborah (en)Dennis (en)Edward (en)Elizabeth (en)Hades (en)Julia (en)Pixie (en)Mark (en)Olivia (en)Priya (en)Ronald (en)Sarah (en)Shaun (en)Theodore (en)Timothy (en)Wendy (en)Dominus (en)Hana (en)Clive (en)Carter (en)Blake (en)Luna (en)Yichen (zh)Xiaoyin (zh)Xinyi (zh)Jing (zh)Erik (nl)Katrien (nl)Lennart (nl)Lore (nl)Alain (fr)Hélène (fr)Mathieu (fr)Étienne (fr)Johanna (de)Josef (de)Gianni (it)Orietta (it)Asuka (ja)Satoshi (ja)Hyunwoo (ko)Minji (ko)Seojun (ko)Yoona (ko)Szymon (pl)Wojciech (pl)Heitor (pt)Maitê (pt)Diego (es)Lupita (es)Miguel (es)Rafael (es)Svetlana (ru)Elena (ru)Dmitry (ru)Nikolai (ru)Riya (hi)Manoj (hi)Yael (he)Oren (he)Nour (ar)Omar (ar)sample_rate_hertzไม่บังคับ
enable_safety_checkerไม่บังคับ
เอาต์พุต
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "inworld-tts",
"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": {
"text": "Hello from Doitong. This is a short test sentence."
},
"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
}
},
"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}ไฟล์เสียงที่ได้จากการสร้าง
โมเดลเพิ่มเติม: ข้อความเป็นเสียงพูด
สำหรับเอเจนต์ AI: หน้า Markdown นี้อยู่ที่ https://doitong.com/th/developers/models/inworld-tts.md. โมเดลและคู่มือทั้งหมด: https://doitong.com/developers/llms.txt