Auðkenning
Í hverju kalli sem keyrir líkan eða les beiðnirnar þínar þarf API-lykil. Vörulistinn (GET /models,
GET /categories), POST /quote og OpenAPI-skjalið eru opinber.
API-lyklar
Búðu til og afturkallaðu lykla á https://doitong.com/developers/dashboard#keys. Lykill lítur út
fyrir doitong_ á eftir 64 sextándastöfum og birtist aðeins einu sinni þegar þú býrð hann til. Sendu hann í
Authorization-hausnum:
curl https://api.doitong.com/v1/account -H "Authorization: Bearer $DOITONG_API_KEY"
X-API-Key: <key> virkar einnig.
Beiðni án lykils fær 401 með kóðanum missing_api_key; óþekktur, afturkallaður eða útrunninn lykill fær einnig 401.
Umfang
Hver lykill hefur umfang. API líkansins athugar þetta:
| Aðgerð | Nauðsynlegt umfang |
|---|---|
| Keyra líkan, hætta við beiðni, eyða skrám beiðni, breyta geymslustillingu | models:run (lyklar með eldra images:create eða videos:create virka líka) |
| Búa til upphleðsluvefslóð | models:run eða media:upload |
| Lesa beiðnir, reikning | models:read (lykill sem má keyra líkön getur einnig lesið) |
Nýir lyklar fá models:read og models:run sjálfgefið. Kall án réttrar heimildar fær 403 með kóðanum
insufficient_scope.
Fjárhagsrammar inneignar
Lykill getur haft sinn eigin fjárhagsramma í API-inneign (1.000 API-inneignir = 1 $), sem reikningseigandinn stillir: heildarfjárhagsramma, daglegan fjárhagsramma
(síðustu 24 klukkustundir) eða hvort tveggja. Áður en keyrsla er gjaldfærð er kostnaðurinn borinn saman við það sem lykillinn hefur þegar
varið í gegnum þetta API (að frádregnum endurgreiðslum). Keyrsla sem færi yfir mörkin er hafnað með 402 budget_exceeded og ekkert
er gjaldfært.
Lykill án fjárhagsramma getur
varið allt að API-stöðunni. Sérstaklega fær keyrsla sem API-staðan getur ekki greitt 402 insufficient_credits
með top_up_url.
GET https://api.doitong.com/v1/account sýnir API-stöðuna og eftirstöðvar fjárhagsramma lykilsins (bæði í API-inneign):
{
"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 er null þegar lykillinn hefur engan eigin fjárhagsramma.
Hraðatakmarkanir
Hver lykill má gera 3600 beiðnir á klukkustund nema takmörk hans hafi verið stillt öðruvísi. Í hverju auðkenndu svari kemur fram núverandi staða:
| Haus | Merking |
|---|---|
X-RateLimit-Limit |
Leyfðar beiðnir í núverandi tímabili |
X-RateLimit-Remaining |
Eftirstandandi beiðnir í núverandi tímabili |
X-RateLimit-Reset |
Unix-tími þegar tímabilið endurstillist |
Þegar farið er yfir mörkin færðu 429 með Retry-After-haus (sekúndur). Löng könnun með ?wait= telst sem ein beiðni
fyrir hvert kall, svo bið er ódýrari en hröð könnun.
Einnig eru takmörk á 10 beiðnum í vinnslu (queued eða running) á hvern reikning. Þegar einni í viðbót er hleypt af stokkunum fæst
429 too_many_inflight; ræstu hana aftur eftir að einni lýkur.