Přejít na obsah
Průvodce API

Autentizace

Zobrazit jako Markdown Aktualizováno

Každé volání, které spouští model nebo načítá vaše požadavky, potřebuje API klíč. Katalog (GET /models, GET /categories), POST /quote a dokument OpenAPI jsou veřejné.

API klíče

Vytvářejte a rušte klíče na stránce https://doitong.com/developers/dashboard#keys. Klíč vypadá jako doitong_ následovaný 64 hexadecimálními znaky a zobrazí se pouze jednou při vytvoření. Odešlete ho v hlavičce Authorization:

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

X-API-Key: <key> funguje také.

Požadavek bez klíče obdrží 401 s kódem missing_api_key; neznámý, zrušený nebo prošlý klíč obdrží také 401.

Rozsahy oprávnění

Každý klíč obsahuje rozsahy oprávnění. API modelů kontroluje tyto rozsahy:

Akce Potřebný rozsah
Spuštění modelu, zrušení požadavku, odstranění souborů požadavku, změna nastavení úložiště models:run (fungují také klíče se staršími images:create nebo videos:create)
Vytvoření URL pro nahrání models:run nebo media:upload
Čtení požadavků a účtu models:read (klíč, který může spouštět modely, může také číst)

Nové klíče ve výchozím nastavení získají models:read a models:run. Volání bez správného rozsahu obdrží 403 s kódem insufficient_scope.

Rozpočty API kreditů

Klíč může mít vlastní rozpočet v API kreditech (1 000 kreditů API = 1 $), který nastaví vlastník účtu: celkový rozpočet, denní rozpočet (za posledních 24 hodin) nebo obojí. Před zaúčtováním spuštění se cena porovná s částkou, kterou klíč již prostřednictvím tohoto API utratil (po odečtení refundací). Spuštění, které by rozpočet překročilo, je odmítnuto s 402 budget_exceeded a nic se nezaúčtuje.

Klíč bez rozpočtu může utratit až do výše zůstatku API. Samostatně platí, že spuštění, které zůstatek API nepokryje, obdrží 402 insufficient_credits s top_up_url.

GET https://api.doitong.com/v1/account zobrazuje zůstatek API a zbývající rozpočet klíče (obojí v API kreditech):

200 OK · účet
{
  "object": "account",
  "credits": 125000,
  "balance": { "credits": 125000, "usd": "125.00" },
  "top_up_url": "https://doitong.com/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, pokud klíč nemá vlastní rozpočet.

Limity rychlosti

Každý klíč může provést 3600 požadavků za hodinu, pokud jeho limit nebyl nastaven jinak. Každá ověřená odpověď obsahuje aktuální stav:

Hlavička Význam
X-RateLimit-Limit Počet požadavků povolených v aktuálním okně
X-RateLimit-Remaining Počet požadavků zbývajících v aktuálním okně
X-RateLimit-Reset Unixový čas resetování okna

Po překročení limitu obdržíte 429 s hlavičkou Retry-After (sekundy). Dlouhé dotazování s ?wait= se počítá jako jeden požadavek na volání, takže čekání je levnější než rychlé dotazování.

Na účet se vztahuje také limit 10 probíhajících požadavků (ve stavu queued nebo running). Spuštění dalšího vrátí 429 too_many_inflight; spusťte ho znovu po dokončení jednoho z nich.