CSM-1B
Integreiddio
csm-1b
# 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/csm-1b?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"scene": [
{
"speaker_id": 0,
"text": "Hey how are you doing."
},
{
"speaker_id": 1,
"text": "Pretty good, pretty good."
},
{
"speaker_id": 0,
"text": "I'\''m great, so happy to be speaking to you."
}
]
}'
# 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/csm-1b?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"scene": [
{
"speaker_id": 0,
"text": "Hey how are you doing."
},
{
"speaker_id": 1,
"text": "Pretty good, pretty good."
},
{
"speaker_id": 0,
"text": "I'm great, so happy to be speaking to you."
}
]
}),
});
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 = {
"scene": [
{
"speaker_id": 0,
"text": "Hey how are you doing.",
},
{
"speaker_id": 1,
"text": "Pretty good, pretty good.",
},
{
"speaker_id": 0,
"text": "I'm great, so happy to be speaking to you.",
},
],
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/csm-1b", 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/cy/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": "csm-1b",
"input": {
"scene": [
{
"speaker_id": 0,
"text": "Hey how are you doing."
},
{
"speaker_id": 1,
"text": "Pretty good, pretty good."
},
{
"speaker_id": 0,
"text": "I'm great, so happy to be speaking to you."
}
]
}
}
Galwch y model CSM-1B (csm-1b) drwy Doitong API. Dogfennaeth ar gyfer asiantau: https://doitong.com/cy/developers/models/csm-1b.md
POST https://api.doitong.ru/v1/run/csm-1b?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"scene": [
{
"speaker_id": 0,
"text": "Hey how are you doing."
},
{
"speaker_id": 1,
"text": "Pretty good, pretty good."
},
{
"speaker_id": 0,
"text": "I'm great, so happy to be speaking to you."
}
]
}
Os yw statws yr ymateb yn "queued" neu "running", holwch GET https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20 nes ei fod yn "succeeded"; mae'r ffeiliau yn outputs[].url. Mae POST https://api.doitong.ru/v1/quote/csm-1b gyda'r un corff yn dychwelyd yr union bris cyn y rhediad.
Y cais hwn: ≈$0.03 30 o gredydau API · ≈ ₽3.16 Ei redeg ar y dudalen hon
Eich allwedd API newydd. Dim ond nawr y caiff ei ddangos ac mae eisoes yn y cod ac ym maes allwedd API isod. Cadwch ef yn gyfrinachol: peidiwch byth â’i roi mewn cod sy’n rhedeg mewn porwr.
Mae eich canlyniad cyntaf yn mynd yma
Adeiladwch gais isod a'i redeg gyda'ch allwedd API. Mae allbynnau'n cael eu copïo i'n storio, wedi'u cadw am byth neu am 7 diwrnod am ddim.
Adeiladu cais
Cynhyrchir rheolyddion o sgema'r model. Mae'r cod a'r pris yn diweddaru wrth i chi eu newid.
/run/csm-1b?wait=20
dyfynbris → $0.03
# 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/csm-1b?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"scene": [
{
"speaker_id": 0,
"text": "Hey how are you doing."
},
{
"speaker_id": 1,
"text": "Pretty good, pretty good."
},
{
"speaker_id": 0,
"text": "I'\''m great, so happy to be speaking to you."
}
]
}'
# 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/csm-1b?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"scene": [
{
"speaker_id": 0,
"text": "Hey how are you doing."
},
{
"speaker_id": 1,
"text": "Pretty good, pretty good."
},
{
"speaker_id": 0,
"text": "I'm great, so happy to be speaking to you."
}
]
}),
});
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 = {
"scene": [
{
"speaker_id": 0,
"text": "Hey how are you doing.",
},
{
"speaker_id": 1,
"text": "Pretty good, pretty good.",
},
{
"speaker_id": 0,
"text": "I'm great, so happy to be speaking to you.",
},
],
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/csm-1b", 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": "csm-1b",
"input": {
"scene": [
{
"speaker_id": 0,
"text": "Hey how are you doing."
},
{
"speaker_id": 1,
"text": "Pretty good, pretty good."
},
{
"speaker_id": 0,
"text": "I'm great, so happy to be speaking to you."
}
]
},
"wait_seconds": 20
}
}
}
Rhedeg y cais hwn
Mae'ch allwedd yn aros yn y porwr hwn: caiff ei hanfon at Doitong API yn unig a'i chadw (localStorage) dim ond os ticiwch Cofio. Cael allwedd API
Ynglŷn â CSM-1B
Yn cynhyrchu lleferydd o `scene` gofynnol, sef arae o wrthrychau sy’n cynnwys y testun i’w lefaru. Mae arae `context` dewisol yn darparu troadau sgwrs cynharach i siapio’r cyflwyniad. Mae’r canlyniad yn un allbwn sain. Wedi’i adeiladu ar gyfer lleferydd ar ffurf deialog.
Paramedrau
scenegofynnol
scene[].speaker_idgofynnol
scene[].textgofynnol
contextdewisol
context[].promptgofynnol
context[].speaker_idgofynnol
context[].audio_urlgofynnol
Allbwn
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "csm-1b",
"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": 30,
"usd": "0.03",
"charged": 30,
"refunded": 0
},
"input": {
"scene": [
{
"speaker_id": 0,
"text": "Hey how are you doing."
},
{
"speaker_id": 1,
"text": "Pretty good, pretty good."
},
{
"speaker_id": 0,
"text": "I'm great, so happy to be speaking to you."
}
]
},
"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.ru/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
"cancel": "https://api.doitong.ru/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
}
}
Meysydd yr allbwn
- audio
- object {url, content_type, file_name, file_size} | stringSain a gynhyrchwyd gan y model.
Mwy o fodelau: Testun i Leferydd
Ar gyfer asiantau AI: mae'r dudalen hon fel Markdown ar gael yn https://doitong.com/cy/developers/models/csm-1b.md. Pob model a chanllaw: https://doitong.com/developers/llms.txt