Bidu ta' malajr
Mexxi l-ewwel ġenerazzjoni tiegħek fi ftit minuti. Il-mudelli 1,496 kollha jaċċettaw l-istess tip ta' talba u jirritornaw l-istess oġġett tat-talba, għall-immaġni, vidjo u awdjo: tgħallmu darba hawn.
1. Ikseb ċavetta API
Oħloq ċavetta fuq https://doitong.com/developers/dashboard#keys u żommha f'varjabbli tal-ambjent: tintwera darba biss. Kull ċavetta jista' jkollha l-baġit tagħha, għalhekk tista' tgħaddi waħda lil aġent mingħajr ma tirriskja l-kont kollu. GET /account jirritorna l-bilanċ tal-API tiegħek.
export DOITONG_API_KEY="doitong_..."
curl "https://api.doitong.com/v1/account" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const res = await fetch("https://api.doitong.com/v1/account", {
headers: { Authorization: `Bearer ${process.env.DOITONG_API_KEY}` },
});
console.log(await res.json());
import os
import requests
r = requests.get(
"https://api.doitong.com/v1/account",
headers={"Authorization": f"Bearer {os.environ['DOITONG_API_KEY']}"},
)
print(r.json())
Il-ġenerazzjonijiet jitħallsu mill-bilanċ tal-API tal-kont tiegħek fi krediti tal-API: 1,000 krediti tal-API = $1, u kull mudell jiswa eżatt il-prezz tal-produttur tiegħu. Agħmel top-up fuq https://doitong.com/developers/dashboard#balance.
2. Ikseb kwotazzjoni, imbagħad mexxi
POST /quote/{model_id} jieħu l-JSON tal-input u jirritorna l-prezz eżatt. Ma jeħtieġx ċavetta u ma jiswa xejn. It-tħaddim tal-istess input jiswa eżatt dak: il-kwotazzjoni hija l-ħlas. (Mudell li jitħallas skont l-użu huwa l-eċċezzjoni: il-kwotazzjoni hija l-ogħla spiża possibbli tal-ġenerazzjoni, u l-parti mhux użata tiġi rrifużata wara l-ġenerazzjoni.)
curl -X POST "https://api.doitong.com/v1/quote/kling-video/v3/pro/image-to-video" \
-H "Content-Type: application/json" \
-d '{"image": "https://example.com/fox.jpg", "duration": 5, "generate_audio": true}'
const res = await fetch("https://api.doitong.com/v1/quote/kling-video/v3/pro/image-to-video", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ image: "https://example.com/fox.jpg", duration: 5, generate_audio: true }),
});
const quote = await res.json();
console.log(quote.credits, quote.usd); // 840 "0.84"
import requests
r = requests.post(
"https://api.doitong.com/v1/quote/kling-video/v3/pro/image-to-video",
json={"image": "https://example.com/fox.jpg", "duration": 5, "generate_audio": True},
)
print(r.json()["credits"], r.json()["usd"]) # 840 0.84
{
"object": "quote",
"model": "kling-video/v3/pro/image-to-video",
"credits": 840,
"usd": "0.84",
"unit": "second",
"quantity": 5,
"unit_credits": 168,
"mode": "exact",
"breakdown": "5 s × 168 API credits"
}
Imbagħad ibgħat l-istess korp lil POST /run/{model_id}. Żid ?wait=20 biex iżżomm il-konnessjoni sa 20 sekonda: mudell veloċi jirritorna r-riżultat komplut f'vjaġġ wieħed. Ibgħat header Idempotency-Key sabiex tentattiv mill-ġdid qatt ma jmexxi (jew jitlob ħlas għal) l-istess talba darbtejn.
curl -X POST "https://api.doitong.com/v1/run/flux/schnell?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: lighthouse-001" \
-d '{"prompt": "A lighthouse on a rocky coast at dusk, warm light in the window"}'
const res = await fetch("https://api.doitong.com/v1/run/flux/schnell?wait=20", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.DOITONG_API_KEY}`,
"Content-Type": "application/json",
"Idempotency-Key": "lighthouse-001",
},
body: JSON.stringify({ prompt: "A lighthouse on a rocky coast at dusk, warm light in the window" }),
});
const request = await res.json();
console.log(request.status, request.outputs[0]?.url);
import os
import requests
r = requests.post(
"https://api.doitong.com/v1/run/flux/schnell",
params={"wait": 20},
headers={
"Authorization": f"Bearer {os.environ['DOITONG_API_KEY']}",
"Idempotency-Key": "lighthouse-001",
},
json={"prompt": "A lighthouse on a rocky coast at dusk, warm light in the window"},
)
request = r.json()
print(request["status"], request["outputs"][0]["url"] if request["outputs"] else None)
Ir-rispons huwa oġġett tat-talba:
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "flux/schnell",
"status": "succeeded",
"cost": { "credits": 3, "usd": "0.003", "charged": 3, "refunded": 0 },
"outputs": [
{ "type": "image", "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg", "width": 1024, "height": 768, "stored": true }
],
"error": null
}
3. Segwi l-istatus
Jekk il-mudell ikun għadu qed jaħdem meta jintemm il-ħin ta' stennija, tirċievi 202 Accepted bl-id tat-talba u l-status attwali tagħha. Kull talba tgħaddi mill-istess ċiklu tal-ħajja:
-
queuedAċċettata u ċċarġjata, qed tistenna ħaddiem -
runningIl-mudell qed jiġġenera -
Statuses finali:
succeededĠiet iċċarġjata l-kwotazzjoni; outputs[] fihom URLs fil-ħażna tagħnafailedRifużjoni awtomatika; l-iżball jispjega għaliexcanceledImwaqqfa qabel riżultat; rifużjoni saret
Aqra t-talba mill-ġdid bl-id tagħha. ?wait=20 jaħdem hawn ukoll, għalhekk linja sempliċi hija biżżejjed:
curl "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const headers = { Authorization: `Bearer ${process.env.DOITONG_API_KEY}` };
let request = await (await fetch("https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t?wait=20", { headers })).json();
while (request.status === "queued" || request.status === "running") {
const res = await fetch(`https://api.doitong.com/v1/requests/${request.id}?wait=20`, { headers });
request = await res.json();
}
console.log(request.status, request.outputs[0]?.url);
import os
import requests
headers = {"Authorization": f"Bearer {os.environ['DOITONG_API_KEY']}"}
request = {"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t", "status": "queued"}
while request["status"] in ("queued", "running"):
request = requests.get(
f"https://api.doitong.com/v1/requests/{request['id']}",
params={"wait": 20},
headers=headers,
).json()
print(request["status"], request["outputs"][0]["url"] if request["outputs"] else None)
Meta status ikun succeeded, outputs[].url ikun fih links għall-fajls fil-ħażna tagħna. Jekk it-talba failed jew canceled, il-krediti tal-API tagħha jiġu rrifużati awtomatikament u error jispjega għaliex. Ikkanċella kull ħaġa li għadha queued jew running:
curl -X POST "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel" \
-H "Authorization: Bearer $DOITONG_API_KEY"
Għal xogħlijiet twal tal-vidjo tista' taqbeż il-polling u tgħaddi webhook_url minflok (ara Webhooks).
4. Fajls
Għaddi kwalunkwe URL pubbliku bħala input, jew itlob URL tat-tlugħ b'POST /files, agħmel PUT tal-fajl hemmhekk u uża l-file_url rritornat (ara Fajls). Talba li tkun irnexxiet telenka r-riżultati tagħha f'outputs[] bit-tip, it-tip tal-kontenut u, meta magħrufa, id-dimensjonijiet u t-tul.
curl -X POST "https://api.doitong.com/v1/files" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{"filename": "fox.jpg", "content_type": "image/jpeg", "size": 482113}'
Żbalji
Kull mudell ifalli bl-istess mod: envelope wieħed b'type, code eżatt, il-param li kkawża l-problema u kull problema f'details, sabiex aġent ikun jista' jirranġa t-talba mingħajr ma jaqra l-proża. Ma jintalab ebda ħlas għal talba invalida.
{
"error": {
"type": "invalid_request",
"code": "invalid_input",
"message": "duration must be one of 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15.",
"param": "duration",
"details": [ { "param": "duration", "message": "duration must be one of 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15." } ],
"request_id": null,
"doc_url": "https://doitong.com/developers/docs/errors#invalid_input"
}
}
Kull tip u kodiċi huma elenkati f'Żbalji.
Ipprezzar
Il-prezzijiet huma f'USD u krediti tal-API u jintwerew fuq kull paġna tal-mudell qabel ma tmexxi. Kull talba ġġorr cost b'credits, usd, charged u refunded. Ġenerazzjoni titħallas meta tiġi aċċettata; talbiet failed u canceled jiġu rrifużati awtomatikament. Xi mudelli għandhom prezz eżatt mill-input, xi wħud skont it-tul jew id-daqs tal-fajls li tibgħat, u oħrajn jitolbu prezz stmat għal kull ġenerazzjoni: fi kwalunkwe każ, il-kwotazzjoni hija dak li tħallas. Xi mudelli (mudelli tal-lingwa u tal-viżjoni, vuċi, għodod ibbażati fuq il-ħin tal-ipproċessar) jitħallsu skont l-użu: il-kwotazzjoni hija l-ogħla spiża possibbli tal-ġenerazzjoni, u l-parti li l-ġenerazzjoni ma użatx tiġi rrifużata awtomatikament. Ara Ipprezzar.
MCP u aġenti tal-AI
Qabbad kwalunkwe klijent MCP ma' https://api.doitong.com/v1/mcp bl-istess ċavetta Bearer. L-aġent tiegħek jista' jfittex fil-katalgu, jikseb kwotazzjonijiet u jmexxi mudelli, u jaqra kull paġna tad-dokumentazzjoni bħala Markdown.
claude mcp add --transport http doitong-models https://api.doitong.com/v1/mcp \
--header "Authorization: Bearer YOUR_API_KEY"
Passi li jmiss
- Ibbrawżja l-mudelli kollha. Kull paġna għandha bennej tat-talbiet li jikteb il-kodiċi għalik.
- Tgħallem iċ-ċiklu tal-ħajja tat-talba: Talbiet.
- Uża l-istess ismijiet tal-parametri fuq kull mudell: Parametri.
- Qed taħdem ma' aġent tal-kodifikazzjoni tal-AI? Agħtih https://doitong.com/developers/llms.txt jew qabbad is-server MCP.