Hoppa till innehåll
Kom igång

Snabbstart

Visa som Markdown Uppdaterad

Kör din första generering på några minuter. Alla 1 496 modeller tar emot samma typ av begäran och returnerar samma begärandeobjekt för bilder, video och ljud: lär dig det en gång här.

1. Skaffa en API-nyckel

Skapa en nyckel på https://doitong.com/developers/dashboard#keys och spara den i en miljövariabel: den visas bara en gång. Varje nyckel kan ha en egen budget, så du kan ge en till en agent utan att riskera hela kontot. GET /account returnerar ditt API-saldo.

export DOITONG_API_KEY="doitong_..."

curl "https://api.doitong.com/v1/account" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

Körningar betalas från kontots API-saldo i API-krediter: 1 000 API-krediter = 1 $, och varje modell kostar exakt tillverkarens pris. Fyll på via https://doitong.com/developers/dashboard#balance.

2. Hämta priset och kör sedan

POST /quote/{model_id} tar emot JSON-indata och returnerar det exakta priset. Ingen nyckel behövs och det kostar ingenting. Att köra samma indata kostar exakt detta: prisuppgiften är debiteringen. (En modell som debiteras efter användning är undantaget: dess prisuppgift är det högsta körningen kan kosta, och den oanvända delen återbetalas efter körningen.)

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}'
200 OK · prisuppgift
{
  "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"
}

Skicka sedan samma body till POST /run/{model_id}. Lägg till ?wait=20 för att hålla anslutningen öppen i upp till 20 sekunder: en snabb modell returnerar det färdiga resultatet i ett enda tur- och retur-anrop. Skicka en Idempotency-Key-header så att en omförsökning aldrig kör (eller debiterar) två gånger.

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"}'

Svaret är ett begärandeobjekt:

200 OK · begäran
{
  "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. Följ statusen

Om modellen fortfarande arbetar när väntetiden tar slut får du 202 Accepted med begärans id och aktuella status. Varje begäran går igenom samma livscykel:

Begärans livscykel
  1. queued Accepterad och debiterad, väntar på en arbetare
  2. running Modellen genererar
  3. Slutstatusar:
    • succeededDebiterade det angivna priset; outputs[] innehåller URL:er på vår lagring
    • failedÅterbetalas automatiskt; felet förklarar varför
    • canceledStoppad före ett resultat; återbetald

Läs begäran igen med dess id. ?wait=20 fungerar även här, så en enkel loop räcker:

curl "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

När status är succeeded innehåller outputs[].url länkar till filerna i vår lagring. Om begäran failed eller canceled återbetalas dess API-krediter automatiskt och error anger varför. Avbryt allt som fortfarande är queued eller running:

terminal
curl -X POST "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

För långa videojobb kan du hoppa över polling och i stället skicka webhook_url (se Webhooks).

4. Filer

Skicka valfri offentlig URL som indata, eller be POST /files om en uppladdnings-URL, PUT filen dit och använd den returnerade file_url (se Filer). En lyckad begäran listar resultaten i outputs[] med typ, innehållstyp och, när det är känt, dimensioner och varaktighet.

terminal
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}'

Fel

Alla modeller misslyckas på samma sätt: ett omslag med en type, en exakt code, den felande param och alla problem i details, så att en agent kan åtgärda begäran utan att läsa löptext. Inget debiteras för en ogiltig begäran.

422 Unprocessable Entity
{
  "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"
  }
}

Alla typer och koder finns i Fel.

Prissättning

Priserna anges i USD och API-krediter och visas på varje modellsida innan du kör. Varje begäran innehåller cost med credits, usd, charged och refunded. En körning debiteras när den accepteras; failed och canceled begäranden återbetalas automatiskt. Vissa modeller prissätts exakt utifrån indata, vissa efter längden eller storleken på filerna du skickar, medan andra tar ett uppskattat pris per körning: oavsett vilket är prisuppgiften det du betalar. Några modeller (språk- och synmodeller, röst- och verktyg för bearbetningstid) debiteras efter användning: prisuppgiften är det högsta körningen kan kosta, och den del körningen inte använde återbetalas automatiskt. Se Prissättning.

MCP och AI-agenter

Anslut valfri MCP-klient till https://api.doitong.com/v1/mcp med samma Bearer-nyckel. Din agent kan söka i katalogen, hämta priser och köra modeller samt läsa alla dokumentationssidor som Markdown.

Claude Code
claude mcp add --transport http doitong-models https://api.doitong.com/v1/mcp \
  --header "Authorization: Bearer YOUR_API_KEY"

Nästa steg