API ကိုးကားချက်

endpoint တိုင်း၊ ၎င်း၏ တောင်းဆိုမှုနှင့် တုံ့ပြန်မှုပုံစံနှင့်အတူ။ လမ်းကြောင်းအားလုံးသည် https://sketchie.ai/api နှင့် ဆွေမျိုးဖြစ်သည်။

သတ်မှတ်ချက်များ

endpoint /v1/* တိုင်းသည် Authorization: Bearer sk_... header လိုအပ်သည်။ အမှားများသည် error flag နှင့် message ပါသော JSON အဖြစ် ပြန်လာသည်-

အမှား တုံ့ပြန်မှု
{
  "error": true,
  "message": "length must be a positive multiple of 30 seconds, at most 360"
}

ဖန်တီးမှု endpoint များကို တစ်မိနစ်လျှင် တောင်းဆိုမှု 20 သို့ ကန့်သတ်ထားသည်။ အခြား endpoint အားလုံးသည် တစ်မိနစ်လျှင် 200 ကန့်သတ်ချက်ကို မျှဝေသည်။

ရှင်းလင်းချက်တစ်ခု ဖန်တီးပါ

POST https://sketchie.ai/api/v1/explainer

ဖန်တီးမှုတစ်ခုကို စတင်ပြီး တန်းစီထားသော record နှင့်အတူ 202 Accepted ပြန်ပေးသည်။ ready ဖြစ်သည်အထိ ရှင်းလင်းချက်တစ်ခု ရယူပါ ကို poll လုပ်ပါ။

တောင်းဆိုမှု body
{
  "input": "Explain how DNS resolves a domain name",
  "length": "0:30",
  "aspect": "16:9",
  "voice": "sketchie:sulafat",
  "language": "en"
}
fieldအမျိုးအစားမှတ်စုများ
input string ဘာကို ရှင်းပြမည်နည်း။ တိုတောင်းသော prompt သို့မဟုတ် ပြည့်စုံသော စာရွက်စာတမ်း စာသား။ source သို့မဟုတ် sceneGraph မရှိလျှင် လိုအပ်သည်။ ကွဲပြားအမည်- prompt
length string or number ပစ်မှတ်အရှည်ကို "M:SS" ("0:30", "1:00") သို့မဟုတ် စက္ကန့်အဖြစ်။ 30 ၏ အပေါင်းဆမြောက်၊ 360 အထိ။ အလိုအလျောက်အရှည်အတွက် ချန်လှပ်ပါ။ ကွဲပြားအမည်- lengthSeconds (ဂဏန်း)။
voice string ရွေးချယ်နိုင်သည်။ အသံ ref တစ်ခု။ ပုံသေ စံ ဇာတ်ကြောင်းပြောသူ (Nora)။ အသံများ ကြည့်ပါ။
language string ရွေးချယ်နိုင်သည်။ ပံ့ပိုးထားသော ဘာသာစကား code (ပုံသေ en)။ ဘာသာစကားများ ကြည့်ပါ။
aspect string ရွေးချယ်နိုင်သည်။ 16:9 (ပုံသေ), 9:16, သို့မဟုတ် 1:1
source string ရွေးချယ်နိုင်သည်။ ရှင်းလင်းချက်အဖြစ် ပြောင်းရန် စာရွက်စာတမ်း၊ ဆောင်းပါး သို့မဟုတ် စာသားဖြစ်။ ရှိသည့်အခါ input သည် ရွေးချယ်နိုင်သော လမ်းညွှန်ချက်ဖြစ်လာသည်။
preset string ရွေးချယ်နိုင်သော ပုံဆွဲ ပုံစံ- marker (ပုံသေ), chalkboard, pencil, blueprint, crayon, clean
fillMode string ရွေးချယ်နိုင်သော ဖော်ထုတ်ဖြည့်ခြင်း နည်းစနစ်- A, B, C (ပုံသေ), သို့မဟုတ် D
sceneGraph object ရွေးချယ်နိုင်သည်။ ကြိုတင်ရေးထားသော scene graph။ worker သည် graph ဖန်တီးမှုကို ကျော်ပြီး ၎င်းကို တိုက်ရိုက် render လုပ်သည်၊ သို့သော် ဤ endpoint သည် ရှင်းလင်းချက်အသစ်တစ်ခုကို ဖန်တီးဆဲဖြစ်ပြီး ခေါ်ဆိုသူ၏ ပုံမှန်အခမဲ့ခွင့်ပြုချက် သို့မဟုတ် ငွေပေးချေ-အစီအစဉ် quota ကို သုံးစွဲသည်။ ရှိပြီးသား ရှင်းလင်းချက်ကို တည်းဖြတ်ရန် ရှင်းလင်းချက်တစ်ခု တည်းဖြတ်ပါ ကို သုံးပါ။

ရှင်းလင်းချက် record ကို ပြန်ပေးသည်- id, status, prompt, lengthSeconds, voice, language, aspect, videoUrl (အဆင်သင့်ဖြစ်သည်အထိ null) နှင့် sceneGraph (ဖန်တီးသည်အထိ null)။ source မပါသော ဗလာ input, ပုံစံပျက် length, သို့မဟုတ် မမှန်ကန်သော aspect, preset, fillMode သို့မဟုတ် language အတွက် 400 ပြန်လာသည်။

ရှင်းလင်းချက်တစ်ခု ရယူပါ

GET https://sketchie.ai/api/v1/explainer/:id

ပြည့်စုံသော record ကို ပြန်ပေးသည်- လက်ရှိ status, ready ဖြစ်သည့်အခါ videoUrl, တည်းဖြတ်နိုင်သော sceneGraph, ဗားရှင်း မှတ်တမ်း (versions), နှင့် head ဗားရှင်း၏ မြင်ကွင်း chunks။ ပျောက်နေသော id သည် 404 ပြန်ပေးသည်။

ရှင်းလင်းချက်များ စာရင်းပြုစုပါ

GET https://sketchie.ai/api/v1/explainer?limit=50

ခေါ်ဆိုသော key ၏ ရှင်းလင်းချက်များကို အသစ်ဆုံးဦးစွာ စာရင်းပြုစုသည်။ key ပိုင်ရှင်သို့ ကန့်သတ်ထားသည်။ limit ကို 1 မှ 100 သို့ clamp လုပ်သည် (ပုံသေ 50)။ ပေါ့ပါးသော အနှစ်ချုပ်များ ပြန်ပေးသည် (scene graph သို့မဟုတ် ဗားရှင်းများ မရှိ)။ ပြည့်စုံသော record အတွက် ရှင်းလင်းချက်တစ်ခု ရယူပါ ကို သုံးပါ။

ရှင်းလင်းချက်တစ်ခု တည်းဖြတ်ပါ

POST https://sketchie.ai/api/v1/explainer/:id/edit

တည်းဖြတ်နိုင်မှု၏ ဝဲဇက်။ ရိုးရှင်းသောဘာသာ ညွှန်ကြားချက်ကို ပစ်မှတ်ထားသော ပြန်-render အဖြစ် ပြောင်းပါ။ သက်ရောက်သည့် မြင်ကွင်းများသာ ပြန်-render လုပ်ကာ ဗားရှင်းအသစ်တစ်ခု ထုတ်လုပ်သည်။ တန်းစီထားသော ဗားရှင်းနှင့်အတူ 202 ပြန်ပေးသည်။ head ဗားရှင်း ready ဖြစ်သည်အထိ ရှင်းလင်းချက်တစ်ခု ရယူပါ ကို poll လုပ်ပါ။ ၎င်းသည် ရှိပြီးသား ဗီဒီယိုတွင် ပေါင်းထည့်သဖြင့် အခြား အခမဲ့-ဗီဒီယို ဖန်တီးမှု နေရာတစ်ခုကို မသုံးစွဲပါ။ ဗီဒီယိုတိုင်း၏ ပထမဆုံး ပြန်-render သည် အခမဲ့ဖြစ်သည်။ နောက်ပိုင်းများသည် ငွေပေးချေ-အစီအစဉ် မိနစ်များကို သုံးပြီး၊ အခမဲ့ အကောင့်များကို အစီအစဉ်တစ်ခု စတင်ရန် တောင်းဆိုသည်။ ရှင်းလင်းချက်သည် ရှိပြီးသား ready ဖြစ်ရမည် (မဟုတ်ပါက 409)။

တောင်းဆိုမှု body
{ "instruction": "Make the title scene shorter and warmer" }

ဗားရှင်းတစ်ခုသို့ ပြန်ရယူပါ

POST https://sketchie.ai/api/v1/explainer/:id/revert

head ကို ယခင်အဆင်သင့် ဗားရှင်းသို့ ပြန်ညွှန်ပြီး ၎င်း၏ graph နှင့် ဗီဒီယိုကို record ပေါ်တွင် ရောင်ပြန်ဟပ်သည်။ ပစ်မှတ်သည် ဗီဒီယိုပါသော ready ဗားရှင်းဖြစ်ရမည် (မဟုတ်ပါက 409)။

တောင်းဆိုမှု body
{ "versionId": "..." }

တိုက်ရိုက် status stream

GET https://sketchie.ai/api/v1/explainer/events

Server-Sent Events stream (text/event-stream)။ ချိတ်ဆက်မှုတစ်ခု ဖွင့်ပြီး သင့်ရှင်းလင်းချက်တစ်ခုခုပေါ်ရှိ status အသွင်ကူးပြောင်းမှုတိုင်းသည် event: status frame အဖြစ် ရောက်လာသဖြင့် poll လုပ်မည့်အစား worker ပြီးဆုံးသည့်ချိန်တွင် "ဗီဒီယို အဆင်သင့်" အခြေအနေကို အပ်ဒိတ်လုပ်နိုင်သည်။ stream ကို သင့် key ပိုင်ရှင်သို့ ကန့်သတ်ထားသည်။

အသံများ

GET https://sketchie.ai/api/v1/voices

ဇာတ်ကြောင်းပြော အသံ catalog။ ရွေးချယ်နိုင်သော ?language=<code> သည် ထိုဘာသာစကား၏ မူရင်းအသံများသို့ filter လုပ်သည်။ voices ပြန်ပေးသည် (တစ်ခုစီတွင် ရိုးရှင်းသော name, voice အဖြစ် ပေးပို့ရန် id, language, isDefault, နှင့် ဖွင့်နိုင်သော preview_url) အပြင် global defaultအသံများ ကြည့်ပါ။

ဘာသာစကားများ

GET https://sketchie.ai/api/v1/languages

ပံ့ပိုးထားသော ဇာတ်ကြောင်းပြော ဘာသာစကားများ၊ { code, label, native } အဖြစ်။ code တိုင်းသည် ဖန်တီးချိန်တွင် မှန်ကန်သော language ဖြစ်သည်။ ဘာသာစကားများ ကြည့်ပါ။

အကောင့် အခြေအနေ

GET https://sketchie.ai/api/v1/account/state

videosGenerated (တစ်သက်တာ), အကောင့် image နှင့် isAdmin ပြန်ပေးသည်။ အထောက်အထားစိစစ်ခြင်း လိုအပ်သည်။

ငွေတောင်းခံ အခြေအနေ

GET https://sketchie.ai/api/v1/billing/status

အထောက်အထားစိစစ်ခြင်း လိုအပ်ပြီး အခမဲ့နှင့် ငွေပေးချေ အကောင့်နှစ်မျိုးလုံးအတွက် 200 ပြန်ပေးသည်။ အခမဲ့ အကောင့်သည် videoAllowance, videosUsed နှင့် videosRemaining ပါသော plan: "free" ပြန်ပေးသည်။ ငွေပေးချေ အကောင့်သည် planLabel, billingInterval, trialStatus, quotaMinutes, minutesUsedThisPeriod, minutesRemaining နှင့် bonusMinutes ကိုပါ ပြန်ပေးသည်။

runtime config နှင့် ကျန်းမာရေး

GET https://sketchie.ai/api/config

အများသုံး။ { "authEnforced": true } ပြန်ပေးသည်။ ရှင်သန်မှု စစ်ဆေးမှုသည် GET /health တွင် ရှိသည်။