Hoppa till innehåll
API-guide

Autentisering

Visa som Markdown Uppdaterad

Varje anrop som kör en modell eller läser dina begäranden behöver en API-nyckel. Katalogen (GET /models, GET /categories), POST /quote och OpenAPI-dokumentet är offentliga.

API-nycklar

Skapa och återkalla nycklar på https://doitong.com/developers/dashboard#keys. En nyckel ser ut som doitong_ följt av 64 hexadecimala tecken och visas bara en gång när du skapar den. Skicka den i Authorization-headern:

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

X-API-Key: <key> fungerar också.

En begäran utan nyckel får 401 med koden missing_api_key; en okänd, återkallad eller utgången nyckel får också 401.

Omfattningar

Varje nyckel har omfattningar. Modell-API:t kontrollerar dessa:

Åtgärd Krävd omfattning
Köra en modell, avbryta en begäran, ta bort en begärans filer, ändra lagringsinställningen models:run (nycklar med de äldre images:create eller videos:create fungerar också)
Skapa en uppladdnings-URL models:run eller media:upload
Läsa begäranden, konto models:read (en nyckel som får köra modeller får också läsa)

Nya nycklar får models:read och models:run som standard. Ett anrop utan rätt omfattning får 403 med koden insufficient_scope.

Kreditbudgetar

En nyckel kan ha en egen budget i API-krediter (1 000 API-krediter = 1 $), som kontoägaren anger: en total budget, en daglig budget (senaste 24 timmarna) eller båda. Innan en körning debiteras kontrolleras kostnaden mot vad nyckeln redan har spenderat via detta API (netto efter återbetalningar). En körning som skulle överskrida gränsen nekas med 402 budget_exceeded och inget debiteras.

En nyckel utan budget kan spendera upp till API-saldot. Separat får en körning som API-saldot inte kan täcka 402 insufficient_credits med en top_up_url.

GET https://api.doitong.ru/v1/account visar API-saldot och nyckelns återstående budget (båda i API-krediter):

200 OK · konto
{
  "object": "account",
  "credits": 125000,
  "balance": { "credits": 125000, "usd": "125.00" },
  "top_up_url": "https://doitong.ru/developers/dashboard#balance",
  "key": {
    "name": "Production server",
    "prefix": "doitong_3fa9c1e...",
    "scopes": ["models:read", "models:run"],
    "budget_remaining": 50000,
    "rate_limit": 3600,
    "rate_limit_remaining": 3571
  },
  "webhook_signing_secret": "whsec_..."
}

budget_remaining är null när nyckeln inte har en egen budget.

Hastighetsbegränsningar

Varje nyckel får göra 3600 begäranden per timme om inte gränsen har ställts in annorlunda. Varje autentiserat svar innehåller det aktuella tillståndet:

Header Betydelse
X-RateLimit-Limit Antal begäranden som tillåts i det aktuella fönstret
X-RateLimit-Remaining Antal begäranden som återstår i det aktuella fönstret
X-RateLimit-Reset Unix-tid då fönstret återställs

Över gränsen får du 429 med en Retry-After-header (sekunder). Lång polling med ?wait= räknas som en begäran per anrop, så det är billigare att vänta än att polla ofta.

Det finns också en gräns på 10 pågående begäranden (queued eller running) per konto. Om du startar ytterligare en returneras 429 too_many_inflight; starta den igen när en annan är klar.