Prijeđi na sadržaj
Vodič za API

Autentikacija

Prikaži kao Markdown Ažurirano

Za svaki poziv koji pokreće model ili čita vaše zahtjeve potreban je API ključ. Katalog (GET /models, GET /categories), POST /quote i OpenAPI dokument javno su dostupni.

API ključevi

Izradite i opozovite ključeve na https://doitong.com/developers/dashboard#keys. Ključ izgleda kao doitong_ iza kojeg slijedi 64 heksadecimalna znaka i prikazuje se samo jednom, pri izradi. Pošaljite ga u zaglavlju Authorization:

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

X-API-Key: <key> također radi.

Zahtjev bez ključa dobiva 401 s kodom missing_api_key; nepoznat, opozvan ili istekli ključ također dobiva 401.

Opsezi

Svaki ključ ima opsege. API modela provjerava sljedeće:

Radnja Potreban opseg
Pokretanje modela, otkazivanje zahtjeva, brisanje datoteka zahtjeva, promjena postavke pohrane models:run (rade i ključevi sa starijim images:create ili videos:create)
Izrada URL-a za prijenos models:run ili media:upload
Čitanje zahtjeva i računa models:read (ključ koji može pokretati modele također može čitati)

Novi ključevi prema zadanim postavkama dobivaju models:read i models:run. Poziv bez odgovarajućeg opsega dobiva 403 s kodom insufficient_scope.

Proračuni kredita

Ključ može imati vlastiti proračun u API kreditima (1.000 API kredita = 1 $), koji postavlja vlasnik računa: ukupni proračun, dnevni proračun (posljednja 24 sata) ili oboje. Prije naplate pokretanja trošak se uspoređuje s iznosom koji je ključ već potrošio putem ovog API-ja (umanjeno za povrate). Pokretanje koje bi premašilo taj iznos odbija se s 402 budget_exceeded i ništa se ne naplaćuje.

Ključ bez proračuna može potrošiti do iznosa API stanja. Odvojeno od toga, pokretanje koje API stanje ne može pokriti dobiva 402 insufficient_credits s poveznicom top_up_url.

GET https://api.doitong.ru/v1/account prikazuje API stanje i preostali proračun ključa (oboje u API kreditima):

200 OK · account
{
  "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 je null kada ključ nema vlastiti proračun.

Ograničenja brzine

Svaki ključ može poslati 3600 zahtjeva na sat, osim ako je njegovo ograničenje drukčije postavljeno. Svaki autentificirani odgovor sadrži trenutačno stanje:

Zaglavlje Značenje
X-RateLimit-Limit Broj zahtjeva dopuštenih u trenutačnom prozoru
X-RateLimit-Remaining Broj preostalih zahtjeva u trenutačnom prozoru
X-RateLimit-Reset Unixovo vrijeme resetiranja prozora

Kada premašite ograničenje, dobit ćete 429 sa zaglavljem Retry-After (sekunde). Dugotrajno anketiranje s ?wait= računa se kao jedan zahtjev po pozivu, pa je čekanje jeftinije od učestalog anketiranja.

Postoji i ograničenje od 10 zahtjeva u tijeku (queued ili running) po računu. Pokretanje još jednog vraća 429 too_many_inflight; pokušajte ponovno nakon što jedan završi.