အကြောင်းအရာသို့ ကျော်ရန်
API လမ်းညွှန်

အထောက်အထားစစ်ဆေးခြင်း

Markdown အဖြစ်ကြည့်ရန် မွမ်းမံထားသည်

မော်ဒယ်တစ်ခုကို လုပ်ဆောင်ခြင်း သို့မဟုတ် သင့်တောင်းဆိုချက်များကို ဖတ်ရှုခြင်း ပြုလုပ်သည့် ခေါ်ဆိုမှုတိုင်းတွင် API ကီး လိုအပ်သည်။ ကတ်တလောက် (GET /models, GET /categories), POST /quote နှင့် OpenAPI စာရွက်စာတမ်းတို့သည် အများပြည်သူသုံး ဖြစ်သည်။

API ကီးများ

https://doitong.com/developers/dashboard#keys တွင် ကီးများကို ဖန်တီးပြီး ရုပ်သိမ်းနိုင်သည်။ ကီးတစ်ခုသည် doitong_ နောက်တွင် ဆက်ပါလာသော hex အက္ခရာ 64 လုံးဖြစ်ပြီး ဖန်တီးချိန်တွင် တစ်ကြိမ်သာ ပြသသည်။ ၎င်းကို Authorization ခေါင်းစီးတွင် ပို့ပါ:

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

X-API-Key: <key> ကိုလည်း အသုံးပြုနိုင်သည်။

ကီးမပါသော တောင်းဆိုချက်သည် missing_api_key ကုဒ်ဖြင့် 401 ရရှိသည်။ မသိရှိသော၊ ရုပ်သိမ်းထားသော သို့မဟုတ် သက်တမ်းကုန်ဆုံးသော ကီးသည်လည်း 401 ရရှိသည်။

အကျုံးဝင်ခွင့်များ

ကီးတစ်ခုစီတွင် အကျုံးဝင်ခွင့်များ ပါဝင်သည်။ မော်ဒယ် API သည် အောက်ပါတို့ကို စစ်ဆေးသည်:

လုပ်ဆောင်ချက် လိုအပ်သော အကျုံးဝင်ခွင့်
မော်ဒယ်ကို လုပ်ဆောင်ခြင်း၊ တောင်းဆိုချက်ကို ပယ်ဖျက်ခြင်း၊ တောင်းဆိုချက်၏ ဖိုင်များကို ဖျက်ခြင်း၊ သိုလှောင်မှု ဆက်တင်ကို ပြောင်းလဲခြင်း models:run (အဟောင်း images:create သို့မဟုတ် videos:create ပါသော ကီးများလည်း အလုပ်လုပ်သည်)
အပ်လုဒ် URL ဖန်တီးခြင်း models:run သို့မဟုတ် media:upload
တောင်းဆိုချက်များနှင့် အကောင့်ကို ဖတ်ရှုခြင်း models:read (မော်ဒယ်များကို လုပ်ဆောင်နိုင်သော ကီးသည်လည်း ဖတ်ရှုနိုင်သည်)

ကီးအသစ်များတွင် မူလတန်ဖိုးအဖြစ် models:read နှင့် models:run ပါရှိသည်။ မှန်ကန်သော အကျုံးဝင်ခွင့်မပါသော ခေါ်ဆိုမှုသည် insufficient_scope ကုဒ်ဖြင့် 403 ရရှိသည်။

ခရက်ဒစ် ဘတ်ဂျက်များ

အကောင့်ပိုင်ရှင်က သတ်မှတ်ထားသည့် API ခရက်ဒစ် (၁,၀၀၀ API ခရက်ဒစ် = ၁ $) အတွင်း ကီးတစ်ခုစီတွင် ကိုယ်ပိုင် ဘတ်ဂျက် ရှိနိုင်သည်: စုစုပေါင်း ဘတ်ဂျက်၊ နေ့စဉ်ဘတ်ဂျက် (နောက်ဆုံး 24 နာရီ) သို့မဟုတ် နှစ်မျိုးစလုံး ဖြစ်နိုင်သည်။ လုပ်ဆောင်မှုတစ်ခုအတွက် ကုန်ကျစရိတ် ကောက်ခံခြင်းမပြုမီ၊ ဤ API မှတစ်ဆင့် ကီးက သုံးစွဲပြီးသားပမာဏနှင့် ငွေပြန်အမ်းမှုများကို နှုတ်ပြီးနောက် ကျန်ရှိသည့် ပမာဏနှင့် ကုန်ကျစရိတ်ကို စစ်ဆေးသည်။ သတ်မှတ်ထားသည့် ပမာဏကို ကျော်လွန်မည့် လုပ်ဆောင်မှုကို 402 budget_exceeded ဖြင့် ငြင်းပယ်ပြီး မည်သည့်ပမာဏမျှ ကောက်ခံမည်မဟုတ်ပါ။

ဘတ်ဂျက်မရှိသော ကီးတစ်ခုသည် API လက်ကျန်အထိ သုံးစွဲနိုင်သည်။ သီးခြားအနေဖြင့် API လက်ကျန်က မကာမိနိုင်သော လုပ်ဆောင်မှုတစ်ခုသည် top_up_url ပါရှိသည့် 402 insufficient_credits ရရှိသည်။

GET https://api.doitong.com/v1/account သည် API လက်ကျန်နှင့် ကီး၏ ကျန်ရှိသည့် ဘတ်ဂျက်ကို ပြသသည် (နှစ်ခုစလုံးကို API ခရက်ဒစ်ဖြင့် ဖော်ပြသည်):

200 OK · account
{
  "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 သည် null ဖြစ်သည်။

တောင်းဆိုချက်နှုန်း ကန့်သတ်ချက်များ

ကန့်သတ်ချက်ကို မတူညီစွာ သတ်မှတ်ထားခြင်းမရှိပါက ကီးတစ်ခုစီသည် တစ်နာရီလျှင် တောင်းဆိုချက် 3600 ပြုလုပ်နိုင်သည်။ အထောက်အထားအတည်ပြုပြီးသော တုံ့ပြန်ချက်တိုင်းတွင် လက်ရှိအခြေအနေ ပါရှိသည်:

ခေါင်းစီး အဓိပ္ပာယ်
X-RateLimit-Limit လက်ရှိအချိန်ဝင်းဒိုးအတွင်း ခွင့်ပြုထားသော တောင်းဆိုချက်များ
X-RateLimit-Remaining လက်ရှိအချိန်ဝင်းဒိုးအတွင်း ကျန်ရှိသော တောင်းဆိုချက်များ
X-RateLimit-Reset အချိန်ဝင်းဒိုး ပြန်လည်သတ်မှတ်မည့် Unix အချိန်

ကန့်သတ်ချက်ကျော်လွန်ပါက Retry-After ခေါင်းစီး (စက္ကန့်) ပါရှိသည့် 429 ရရှိသည်။ ?wait= ဖြင့် ကြာရှည်စောင့်ကြည့်ခြင်းကို ခေါ်ဆိုမှုတစ်ခုလျှင် တောင်းဆိုချက်တစ်ခုအဖြစ် တွက်ချက်သောကြောင့် မြန်မြန်ဆန်ဆန် စောင့်ကြည့်ခြင်းထက် စောင့်ဆိုင်းခြင်းက ပိုသက်သာသည်။

အကောင့်တစ်ခုလျှင် လုပ်ဆောင်နေဆဲ (queued သို့မဟုတ် running) တောင်းဆိုချက် 10 ခုအထိသာ ခွင့်ပြုသည့် ကန့်သတ်ချက်လည်း ရှိသည်။ နောက်ထပ်တစ်ခု စတင်ပါက 429 too_many_inflight ပြန်လည်ရရှိမည်ဖြစ်ပြီး တစ်ခု ပြီးဆုံးပြီးနောက် ထပ်မံစတင်ပါ။