Maya1
Integréieren
maya
# 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/maya?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "Hello from Doitong. This is a short test sentence.",
"prompt": "Hello from Doitong. This is a short test sentence."
}'
# 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/maya?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"text": "Hello from Doitong. This is a short test sentence.",
"prompt": "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.ru/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"text": "Hello from Doitong. This is a short test sentence.",
"prompt": "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/maya", 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/lb/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": "maya",
"input": {
"text": "Hello from Doitong. This is a short test sentence.",
"prompt": "Hello from Doitong. This is a short test sentence."
}
}
Rufft de Maya1-Modell (maya) iwwer d'Doitong API op. Dokumentatioun fir Agenten: https://doitong.com/lb/developers/models/maya.md
POST https://api.doitong.ru/v1/run/maya?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"text": "Hello from Doitong. This is a short test sentence.",
"prompt": "Hello from Doitong. This is a short test sentence."
}
Wann de Äntwertstatus "queued" oder "running" ass, frot GET https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20 of, bis en "succeeded" ass; d'Dateie stinn an outputs[].url. POST https://api.doitong.ru/v1/quote/maya mam selwechte Body gëtt de geneeë Präis virun der Ausféierung zréck.
Dës Ufro: ≈0,049 $ 49 API-Kreditter · ≈ 5,22 ₽ Op dëser Säit ausféieren
Ären neien API-Schlëssel. Si gëtt nëmmen elo ugewisen a steet schonn am Code an am API-Schlëssel-Feld hei drënner. Halt se geheim: Setz se ni an Code, deen an engem Browser leeft.
Äin éischt Resultat kënnt hei hin
Baut hei drënner eng Ufro a féiert se mat Ärem API-Schlëssel aus. Output gëtt an eis Späicherung kopéiert, fir ëmmer oder 7 Deeg gratis gespäichert.
Eng Ufro erstellen
D'Kontrolle ginn aus dem Modellschema generéiert. De Code an de Präis aktualiséiere sech, wann s du se ännerst.
/run/maya?wait=20
Präis → 0,049 $
# 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/maya?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "Hello from Doitong. This is a short test sentence.",
"prompt": "Hello from Doitong. This is a short test sentence."
}'
# 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/maya?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"text": "Hello from Doitong. This is a short test sentence.",
"prompt": "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.ru/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"text": "Hello from Doitong. This is a short test sentence.",
"prompt": "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/maya", 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": "maya",
"input": {
"text": "Hello from Doitong. This is a short test sentence.",
"prompt": "Hello from Doitong. This is a short test sentence."
},
"wait_seconds": 20
}
}
}
Dës Ufro ausféieren
Äre Schlëssel bleift an dësem Browser: e gëtt nëmmen un d'Doitong API geschéckt an nëmme gespäichert (localStorage), wann s du „Erënneren“ aktivéiers. En API-Schlëssel kréien
Iwwer Maya1
Konvertéiert Text vu bis zu 5000 Zeechen a Sprooch. E verpflichtende `prompt` vu bis zu 500 Zeeche beschreift d'Stëmm, zum Beispill Alter, Akzent an Toun. Emotiounstags wéi laugh oder whisper kënnen am Text agebett ginn. Wielt 48 kHz oder 24 kHz Samplerate an wav- oder mp3-Ausgab; `max_tokens` begrenzt d'Audiolängt.
Parameteren
textobligatoresch
promptobligatoresch
temperatureoptional
top_poptional
max_tokensoptional
repetition_penaltyoptional
sample_rateoptional
output_formatoptional
enable_safety_checkeroptional
Output
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "maya",
"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": 49,
"usd": "0.049",
"charged": 49,
"refunded": 0
},
"input": {
"text": "Hello from Doitong. This is a short test sentence.",
"prompt": "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
},
"duration": 5,
"sample_rate": "48 kHz",
"generation_time": 2.3,
"rtf": 0.51
},
"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"
}
}
Output-Felder
- audio
- object {url, content_type, file_name, file_size}Generéiert Sprooch-Datei am WAV- oder MP3-Format, mat Mono-Audio bei 24 kHz oder 48 kHz, wéi vum Upsampler bestëmmt.
- duration
- numberLängt vum Audio-Output, gemooss a Sekonnen.
- sample_rate
- stringSamplingrate vum Audio-Output.
- generation_time
- numberDauer vun der Audio-Generatioun, gemooss a Sekonnen.
- rtf
- numberRealtime-Faktor, berechent als generation_time gedeelt duerch audio_duration; méi kleng Wäerter weisen op besser Leeschtung hin.
Aner Maya-Varianten
Méi Modeller: Text zu Sprooch
Fir AI-Agenten: dës Säit als Markdown ass ënner https://doitong.com/lb/developers/models/maya.md. All Modeller a Guiden: https://doitong.com/developers/llms.txt