Maya · Batch
التكامل
maya/batch
# 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/maya/batch?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"texts": [
"Hello from Doitong. This is a short test sentence."
],
"prompts": [
"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/maya/batch?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"texts": [
"Hello from Doitong. This is a short test sentence."
],
"prompts": [
"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 = {
"texts": [
"Hello from Doitong. This is a short test sentence.",
],
"prompts": [
"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/batch", 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/ar/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": "maya/batch",
"input": {
"texts": [
"Hello from Doitong. This is a short test sentence."
],
"prompts": [
"Hello from Doitong. This is a short test sentence."
]
}
}
استدعِ نموذج Maya · Batch (maya/batch) عبر Doitong API. توثيق الوكلاء: https://doitong.com/ar/developers/models/maya/batch.md
POST https://api.doitong.com/v1/run/maya/batch?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"texts": [
"Hello from Doitong. This is a short test sentence."
],
"prompts": [
"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/maya/batch مع نفس النص الأساسي السعر الدقيق قبل التشغيل.
هذا الطلب: ≈0.049 $ 49 رصيد API تشغيله في هذه الصفحة
مفتاح API الجديد الخاص بك. يظهر الآن فقط، وهو مُدرج بالفعل في الشيفرة وفي حقل مفتاح API أدناه. احتفظ به سريًا: لا تضعه أبدًا في شيفرة تعمل في المتصفح.
ستظهر نتيجتك الأولى هنا
أنشئ طلبًا أدناه وشغّله باستخدام مفتاح API الخاص بك. تُنسخ المخرجات إلى تخزيننا، وتُحفظ إلى الأبد أو لمدة 7 أيام مجانًا.
إنشاء طلب
تُنشأ عناصر التحكم من مخطط النموذج. يتحدّث الرمز والسعر عند تغييرها.
/run/maya/batch?wait=20
عرض السعر → 0.049 $
# 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/maya/batch?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"texts": [
"Hello from Doitong. This is a short test sentence."
],
"prompts": [
"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/maya/batch?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"texts": [
"Hello from Doitong. This is a short test sentence."
],
"prompts": [
"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 = {
"texts": [
"Hello from Doitong. This is a short test sentence.",
],
"prompts": [
"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/batch", 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/batch",
"input": {
"texts": [
"Hello from Doitong. This is a short test sentence."
],
"prompts": [
"Hello from Doitong. This is a short test sentence."
]
},
"wait_seconds": 20
}
}
}
تشغيل هذا الطلب
يبقى مفتاحك في هذا المتصفح: لا يُرسل إلا إلى Doitong API ويُحفظ في localStorage فقط إذا فعّلت خيار التذكّر. الحصول على مفتاح API
حول Maya · Batch
يولّد عدة مقاطع في طلب واحد. يستقبل كل من `texts` و`prompts` من 1 إلى 100 إدخال، ويجب أن يتطابقا في الطول، بحيث يقترن كل نص بوصف صوت. تعمل وسوم المشاعر في كل نص. تنطبق إعدادات مثل معدل أخذ العينات وتنسيق الإخراج ودرجة الحرارة على الجميع، وتشمل النتائج قائمة بملفات الصوت ومددها.
المعاملات
textsمطلوب
promptsمطلوب
temperatureاختياري
top_pاختياري
max_tokensاختياري
repetition_penaltyاختياري
sample_rateاختياري
output_formatاختياري
enable_safety_checkerاختياري
المخرجات
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "maya/batch",
"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": {
"texts": [
"Hello from Doitong. This is a short test sentence."
],
"prompts": [
"Hello from Doitong. This is a short test sentence."
]
},
"output": {
"audios": [
{
"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
}
],
"durations": [
5
],
"sample_rate": "48 kHz",
"total_generation_time": 5.7,
"average_rtf": 0.15
},
"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"
}
}
حقول المخرجات
- audios
- array of object {url, content_type, file_name, file_size}ملفات الصوت المُنتَجة، تُعاد كقائمة.
- durations
- array of numberالطول بالثواني لكل تسجيل صوتي مُولَّد.
- sample_rate
- stringمعدل أخذ العينات المشترك بين جميع ملفات الصوت المُولَّدة.
- total_generation_time
- numberإجمالي وقت التوليد بالثواني لجميع ملفات الصوت.
- average_rtf
- numberمتوسط عامل الوقت الفعلي لجميع عمليات التوليد.
أنواع Maya الأخرى
مزيد من النماذج: تحويل النص إلى كلام
لوكلاء الذكاء الاصطناعي: تتوفر هذه الصفحة بصيغة Markdown على https://doitong.com/ar/developers/models/maya/batch.md. جميع النماذج والأدلة: https://doitong.com/developers/llms.txt