Maya · Batch
Tích hợp
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/vi/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."
]
}
}
Gọi mô hình Maya · Batch (maya/batch) qua Doitong API. Tài liệu cho tác nhân: https://doitong.com/vi/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."
]
}
Nếu trạng thái phản hồi là "queued" hoặc "running", hãy thăm dò GET https://api.doitong.com/v1/requests/REQUEST_ID?wait=20 cho đến khi trạng thái là "succeeded"; tệp nằm trong outputs[].url. POST https://api.doitong.com/v1/quote/maya/batch với cùng nội dung sẽ trả về giá chính xác trước khi chạy.
Yêu cầu này: ≈0,049 $ 49 tín dụng API Chạy trên trang này
Khóa API mới của bạn. Khóa này chỉ hiển thị lúc này và đã được chèn vào mã cũng như trường khóa API bên dưới. Hãy giữ bí mật: không bao giờ đưa khóa này vào mã chạy trong trình duyệt.
Kết quả đầu tiên của bạn sẽ xuất hiện ở đây
Tạo một yêu cầu bên dưới và chạy bằng khóa API của bạn. Đầu ra được sao chép vào bộ lưu trữ của chúng tôi, giữ vĩnh viễn hoặc 7 ngày miễn phí.
Tạo một yêu cầu
Các điều khiển được tạo từ lược đồ mô hình. Mã và giá sẽ cập nhật khi bạn thay đổi chúng.
/run/maya/batch?wait=20
báo giá → 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
}
}
}
Chạy yêu cầu này
Key của bạn vẫn nằm trong trình duyệt này: key chỉ được gửi đến Doitong API và chỉ được lưu trong localStorage nếu bạn chọn Ghi nhớ. Nhận khóa API
Giới thiệu về Maya · Batch
Tổng hợp nhiều đoạn trong một yêu cầu. `texts` và `prompts` mỗi trường nhận từ 1 đến 100 mục và phải có cùng độ dài, ghép từng văn bản với một mô tả giọng nói. Thẻ cảm xúc hoạt động trong từng văn bản. Các cài đặt như tốc độ lấy mẫu, định dạng đầu ra và nhiệt độ áp dụng cho tất cả, kết quả gồm danh sách tệp âm thanh và thời lượng.
Tham số
textsbắt buộc
promptsbắt buộc
temperaturetùy chọn
top_ptùy chọn
max_tokenstùy chọn
repetition_penaltytùy chọn
sample_ratetùy chọn
output_formattùy chọn
enable_safety_checkertùy chọn
Đầu ra
{
"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"
}
}
Các trường đầu ra
- audios
- array of object {url, content_type, file_name, file_size}Các tệp âm thanh được tạo, trả về dưới dạng danh sách.
- durations
- array of numberĐộ dài tính bằng giây của mỗi bản ghi âm thanh được tạo.
- sample_rate
- stringTốc độ lấy mẫu dùng chung cho tất cả tệp âm thanh được tạo.
- total_generation_time
- numberTổng thời gian tạo sinh tính bằng giây cho tất cả tệp âm thanh.
- average_rtf
- numberHệ số thời gian thực trung bình của tất cả lần tạo sinh.
Các biến thể Maya khác
Thêm mô hình: Văn bản sang giọng nói
Dành cho tác nhân AI: trang này ở dạng Markdown tại https://doitong.com/vi/developers/models/maya/batch.md. Tất cả mô hình và hướng dẫn: https://doitong.com/developers/llms.txt