Gå til indhold
Kom godt i gang

Hurtigstart

Vis som Markdown Opdateret

Kør din første generering på få minutter. Alle 1.496 modeller tager imod samme type anmodning og returnerer det samme anmodningsobjekt for billeder, video og lyd: lær det én gang her.

1. Hent en API-nøgle

Opret en nøgle på https://doitong.com/developers/dashboard#keys, og gem den i en miljøvariabel: den vises kun én gang. Hver nøgle kan have sit eget budget, så du kan give en til en agent uden at risikere hele kontoen. GET /account returnerer din API-saldo.

export DOITONG_API_KEY="doitong_..."

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

Kørsler betales fra din kontos API-saldo i API-kreditter: 1.000 API-kreditter = 1 $, og hver model koster præcis producentens pris. Foretag optankning på https://doitong.com/developers/dashboard#balance.

2. Få et prisoverslag, og kør derefter

POST /quote/{model_id} tager input-JSON'en og returnerer den nøjagtige pris. Den kræver ingen nøgle og koster ingenting. Det koster præcis dette at køre med det samme input: prisoverslaget er beløbet, der opkræves. (En model, der opkræves efter forbrug, er undtagelsen: dens prisoverslag er det højeste beløb, kørslen kan koste, og den ubrugte del tilbagebetales efter kørslen.)

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 · prisoverslag
{
  "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"
}

Send derefter det samme body til POST /run/{model_id}. Tilføj ?wait=20 for at holde forbindelsen åben i op til 20 sekunder: en hurtig model returnerer det færdige resultat i én rundrejse. Send en Idempotency-Key-header, så en gentagelse aldrig kører (eller opkræver) to gange.

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 er et anmodningsobjekt:

200 OK · anmodning
{
  "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ølg status

Hvis modellen stadig arbejder, når ventetiden udløber, får du 202 Accepted med anmodningens id og dens aktuelle status. Alle anmodninger gennemgår den samme livscyklus:

Requestens livscyklus
  1. queued Accepteret og opkrævet, venter på en worker
  2. running Modellen genererer
  3. Endelige statusser:
    • succeededCiteringen er trukket; outputs[] indeholder URL'er på vores lager
    • failedRefunderet automatisk; fejlen forklarer hvorfor
    • canceledStoppet før et resultat; refunderet

Læs anmodningen igen med dens id. ?wait=20 fungerer også her, så en simpel løkke er nok:

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

Når status er succeeded, indeholder outputs[].url links til filerne på vores lagring. Hvis anmodningen failed eller blev canceled, tilbagebetales dens API-kreditter automatisk, og error angiver hvorfor. Annuller alt, der stadig er queued eller running:

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

Ved lange videojob kan du springe polling over og i stedet angive en webhook_url (se Webhooks).

4. Filer

Angiv en offentlig URL som input, eller bed POST /files om en upload-URL, PUT filen dertil, og brug den returnerede file_url (se Filer). En gennemført anmodning viser sine resultater i outputs[] med type, indholdstype og, når det er kendt, dimensioner og varighed.

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

Fejl

Alle modeller fejler på samme måde: én kuvert med en type, en nøjagtig code, den problematiske param og alle problemer i details, så en agent kan rette anmodningen uden at læse prosa. Der opkræves ikke noget for en ugyldig anmodning.

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

Alle typer og koder er angivet i Fejl.

Priser

Priserne er i USD og API-kreditter og vises på hver models side, før du kører. Hver anmodning indeholder cost med credits, usd, charged og refunded. En kørsel opkræves, når den accepteres; failed- og canceled-anmodninger tilbagebetales automatisk. Nogle modeller prissættes præcist ud fra inputtet, nogle efter længden eller størrelsen på de filer, du sender, og andre opkræver en estimeret pris pr. kørsel: uanset hvad er prisoverslaget det, du betaler. Nogle få modeller (sprog- og visionsmodeller, stemmeværktøjer og værktøjer baseret på behandlingstid) opkræves efter forbrug: prisoverslaget er det højeste beløb, kørslen kan koste, og den del, kørslen ikke brugte, tilbagebetales automatisk. Se Priser.

MCP og AI-agenter

Forbind enhver MCP-klient til https://api.doitong.com/v1/mcp med den samme Bearer-nøgle. Din agent kan søge i kataloget, få prisoverslag og køre modeller samt læse alle dokumentationssider som Markdown.

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

Næste trin