Inworld TTS-1.5 Max
Integrar
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/pt-PT/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."
}
}
Chame o modelo Inworld TTS-1.5 Max (inworld-tts) através da Doitong API. Documentação para agentes: https://doitong.com/pt-PT/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."
}
Se o estado da resposta for "queued" ou "running", consulte GET https://api.doitong.com/v1/requests/REQUEST_ID?wait=20 repetidamente até ficar "succeeded"; os ficheiros estão em outputs[].url. POST https://api.doitong.com/v1/quote/inworld-tts com o mesmo corpo devolve o preço exato antes da execução.
Este pedido: 0,001 $ 1 crédito da API Executar nesta página
A sua nova chave de API. É apresentada apenas agora e já está inserida no código e no campo da chave de API abaixo. Mantenha-a secreta: nunca a coloque em código que seja executado num navegador.
O seu primeiro resultado aparece aqui
Crie um pedido abaixo e execute-o com a sua chave de API. As saídas são copiadas para o nosso armazenamento, guardadas para sempre ou durante 7 dias gratuitamente.
Criar um pedido
Os controlos são gerados a partir do esquema do modelo. O código e o preço são atualizados à medida que os altera.
/run/inworld-tts?wait=20
cotação → 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
}
}
}
Executar este pedido
A sua chave permanece neste navegador: é enviada apenas para a Doitong API e guardada em localStorage apenas se selecionar Lembrar. Obter uma chave de API
Sobre Inworld TTS-1.5 Max
Converte até 2000 caracteres de `text` em voz. `voice` seleciona entre 113 vozes nomeadas, sendo Craig (en) a predefinida. `sample_rate_hertz` pode ser 8000, 16000, 24000, 32000, 40000 ou 48000 (predefinição). Devolve um ficheiro de áudio.
Parâmetros
textobrigatório
voiceopcional
+97 mais
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_hertzopcional
enable_safety_checkeropcional
Resultado
{
"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"
}
}
Campos do resultado
- audio
- object {url, content_type, file_name, file_size}Ficheiro de áudio produzido pela geração.
Mais modelos: Texto para voz
Para agentes de IA: esta página em Markdown está disponível em https://doitong.com/pt-PT/developers/models/inworld-tts.md. Todos os modelos e guias: https://doitong.com/developers/llms.txt