Siirry sisältöön
API-opas

Todennus

Näytä Markdownina Päivitetty

Jokainen mallin suorittava tai pyyntöjäsi lukeva kutsu tarvitsee API-avaimen. Luettelo (GET /models, GET /categories), POST /quote ja OpenAPI-dokumentti ovat julkisia.

API-avaimet

Luo ja kumoa avaimia osoitteessa https://doitong.com/developers/dashboard#keys. Avain näyttää doitong_-etuliitteeltä, jota seuraa 64 heksadesimaalimerkkiä, ja se näytetään vain kerran luonnin yhteydessä. Lähetä se Authorization-otsakkeessa:

pääte
curl https://api.doitong.com/v1/account -H "Authorization: Bearer $DOITONG_API_KEY"

X-API-Key: <key> toimii myös.

Ilman avainta lähetetty pyyntö saa vastauksen 401 koodilla missing_api_key; tuntematon, kumottu tai vanhentunut avain saa myös vastauksen 401.

Käyttöoikeudet

Jokaisella avaimella on käyttöoikeudet. Malli-API tarkistaa seuraavat:

Toiminto Vaadittu käyttöoikeus
Mallin suorittaminen, pyynnön peruuttaminen, pyynnön tiedostojen poistaminen, tallennustila-asetuksen muuttaminen models:run (myös avaimet, joilla on vanhempi images:create- tai videos:create-käyttöoikeus, toimivat)
Lataus-URL:n luominen models:run tai media:upload
Pyyntöjen ja tilin lukeminen models:read (myös avain, jolla voi suorittaa malleja, voi lukea)

Uudet avaimet saavat oletuksena käyttöoikeudet models:read ja models:run. Ilman oikeaa käyttöoikeutta kutsu saa vastauksen 403 koodilla insufficient_scope.

Krediittibudjetit

Avaimella voi olla tilinomistajan asettama oma budjetti API-krediitteinä (1 000 API-krediittiä = 1 $): kokonaisbudjetti, päiväbudjetti (viimeiset 24 tuntia) tai molemmat. Ennen ajon veloittamista hinta tarkistetaan suhteessa siihen, kuinka paljon avaimella on jo käytetty tämän API:n kautta (hyvitykset vähennettyinä). Ajo, joka ylittäisi rajan, hylätään vastauksella 402 budget_exceeded, eikä mitään veloiteta.

Avaimella, jolla ei ole budjettia, voi käyttää enintään API-saldon verran. Lisäksi ajo, jota API-saldo ei kata, saa vastauksen 402 insufficient_credits ja sisältää top_up_url-osoitteen.

GET https://api.doitong.com/v1/account näyttää API-saldon ja avaimen jäljellä olevan budjetin (molemmat API-krediitteinä):

200 OK · tili
{
  "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 on null, kun avaimella ei ole omaa budjettia.

Nopeusrajoitukset

Jokainen avain voi tehdä 3600 pyyntöä tunnissa, ellei sen rajaa ole asetettu toisin. Jokainen todennettu vastaus sisältää nykyisen tilan:

Otsake Merkitys
X-RateLimit-Limit Nykyisen aikaikkunan sallittujen pyyntöjen määrä
X-RateLimit-Remaining Nykyisen aikaikkunan jäljellä olevat pyynnöt
X-RateLimit-Reset Unix-aika, jolloin aikaikkuna nollautuu

Rajan ylittäessä saat vastauksen 429 ja Retry-After-otsakkeen (sekunteina). Pitkä kysely parametrilla ?wait= lasketaan yhdeksi pyynnöksi kutsua kohti, joten odottaminen on edullisempaa kuin tiheä kysely.

Tilillä voi olla samanaikaisesti enintään 10 käynnissä olevaa pyyntöä (queued tai running). Ylimääräinen käynnistys palauttaa 429 too_many_inflight; yritä uudelleen, kun yksi on valmistunut.