Pāriet uz saturu
API rokasgrāmata

Autentifikācija

Skatīt kā Markdown Atjaunināts

Katram izsaukumam, kas palaiž modeli vai nolasa jūsu pieprasījumus, ir nepieciešama API atslēga. Katalogs (GET /models, GET /categories), POST /quote un OpenAPI dokuments ir publiski.

API atslēgas

Izveidojiet un atsauciet atslēgas vietnē https://doitong.com/developers/dashboard#keys. Atslēga izskatās kā doitong_, kam seko 64 heksadecimālas rakstzīmes, un tā tiek parādīta tikai vienreiz — izveides brīdī. Nosūtiet to Authorization galvenē:

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

X-API-Key: <key> darbojas tāpat.

Pieprasījums bez atslēgas saņem 401 ar kodu missing_api_key; nezināma, atsaukta vai beigusies atslēga saņem 401 tāpat.

Tvērumi

Katrai atslēgai ir tvērumi. Modeļu API tos pārbauda:

Darbība Nepieciešamais tvērums
Palaist modeli, atcelt pieprasījumu, dzēst pieprasījuma failus, mainīt krātuves iestatījumu models:run (darbojas arī atslēgas ar vecāko images:create vai videos:create)
Izveidot augšupielādes URL models:run vai media:upload
Lasīt pieprasījumus un kontu models:read (atslēga, ar kuru drīkst palaist modeļus, var arī lasīt)

Jaunās atslēgas pēc noklusējuma saņem models:read un models:run. Izsaukums bez pareizā tvēruma saņem 403 ar kodu insufficient_scope.

Kredītu budžeti

Atslēgai var būt savs budžets API kredītos (1000 API kredītu = 1 $), ko iestata konta īpašnieks: kopējais budžets, dienas budžets (pēdējās 24 stundas) vai abi. Pirms maksas iekasēšanas par izpildi izmaksas tiek salīdzinātas ar summu, ko atslēga jau ir iztērējusi, izmantojot šo API (atskaitot atmaksas). Izpilde, kas pārsniegtu šo summu, tiek noraidīta ar 402 budget_exceeded, un nekas netiek iekasēts.

Atslēga bez budžeta var iztērēt līdz API atlikuma summai. Atsevišķi izpilde, ko API atlikums nevar segt, saņem 402 insufficient_credits ar top_up_url.

GET https://api.doitong.com/v1/account parāda API atlikumu un atslēgas atlikušo budžetu (abi API kredītos):

200 OK · konts
{
  "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 ir null, ja atslēgai nav sava budžeta.

Ātruma ierobežojumi

Katra atslēga var veikt 3600 pieprasījumus stundā, ja vien tās ierobežojums nav iestatīts citādi. Katrā autentificētā atbildē ir norādīts pašreizējais stāvoklis:

Galvene Nozīme
X-RateLimit-Limit Pašreizējā logā atļautie pieprasījumi
X-RateLimit-Remaining Pašreizējā logā atlikušie pieprasījumi
X-RateLimit-Reset Unix laiks, kad logs tiek atiestatīts

Pārsniedzot ierobežojumu, saņemsiet 429 ar Retry-After galveni (sekundēs). Ilgstoša gaidīšana ar ?wait= tiek uzskaitīta kā viens pieprasījums katrā izsaukumā, tāpēc gaidīšana ir izdevīgāka nekā bieža statusa pārbaude.

Turklāt vienam kontam vienlaikus var būt ne vairāk kā 10 procesā esoši pieprasījumi (queued vai running). Sākot vēl vienu, tiek atgriezts 429 too_many_inflight; sāciet to vēlreiz pēc tam, kad kāds pieprasījums ir pabeigts.