የAPI ማጣቀሻ

እያንዳንዱ endpoint፣ ከጥያቄው እና ምላሹ ቅርጽ ጋር። ሁሉም መንገዶች ከ https://sketchie.ai/api አንጻር ናቸው።

ስምምነቶች

እያንዳንዱ /v1/* endpoint የ Authorization: Bearer sk_... ራስጌ ይፈልጋል። ስህተቶች በ error ባንዲራ እና 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 ያድርጉ።

የጥያቄ አካል
{
  "input": "Explain how DNS resolves a domain name",
  "length": "0:30",
  "aspect": "16:9",
  "voice": "sketchie:sulafat",
  "language": "en"
}
መስክዓይነትማስታወሻዎች
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 አማራጭ። የሚደገፍ የቋንቋ ኮድ (ነባሪ en)። ቋንቋዎች ይመልከቱ።
aspect string አማራጭ። 16:9 (ነባሪ)፣ 9:16፣ ወይም 1:1
source string አማራጭ። ወደ ማብራሪያ ለመቀየር ሰነድ፣ ጽሑፍ ወይም ግልባጭ። ሲገኝ input አማራጭ መመሪያ ይሆናል።
preset string አማራጭ የስዕል ዘይቤ: marker (ነባሪ)፣ chalkboardpencilblueprintcrayonclean
fillMode string አማራጭ የመግለጥ መሙያ ቴክኒክ: ABC (ነባሪ)፣ ወይም D
sceneGraph object አማራጭ። አስቀድሞ የተጻፈ scene graph። worker የግራፍ ማመንጨትን ዘሎ በቀጥታ render ያደርገዋል፣ ግን ይህ endpoint አሁንም አዲስ ማብራሪያ ይፈጥራል እና የጠሪውን መደበኛ ነጻ ኮታ ወይም የተከፈለ-እቅድ ኮታ ይጠቀማል። ነባር ማብራሪያ ለማስተካከል ማብራሪያ ያስተካክሉ ይጠቀሙ።

የማብራሪያ record ይመልሳል: idstatuspromptlengthSecondsvoicelanguageaspectvideoUrl (እስኪዘጋጅ null) እና sceneGraph (እስኪመነጭ null)። source የሌለው ባዶ input፣ የተበላሸ length፣ ወይም ልክ ያልሆነ aspectpresetfillMode ወይም language ሲኖር 400 ይመለሳል።

ማብራሪያ ያግኙ

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

ሙሉ record ይመልሳል: የአሁኑ statusready ሲሆን videoUrl፣ ሊስተካከል የሚችል sceneGraph፣ የስሪት ታሪክ (versions) እና የራስ ስሪት ትዕይንት chunks። የጠፋ id 404 ይመልሳል።

ማብራሪያዎችን ዘርዝር

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

የሚጠራውን ቁልፍ ማብራሪያዎች፣ አዲሶቹ መጀመሪያ፣ ይዘረዝራል። ለቁልፉ ባለቤት የተገደበ። limit ከ 1 እስከ 100 ይጠበባል (ነባሪ 50)። ቀላል ማጠቃለያዎችን ይመልሳል (scene graph ወይም ስሪቶች የሉም)። ለሙሉ record ማብራሪያ ያግኙ ይጠቀሙ።

ማብራሪያ ያስተካክሉ

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

የማስተካከል ችሎታ ሽብልቅ። ቀላል-ቋንቋ መመሪያን ወደ ዒላማ ያለው እንደገና-render ይቀይሩ። የተጎዱ ትዕይንቶች ብቻ እንደገና render ይደረጋሉ፣ አዲስ ስሪት ያመነጫሉ። በወረፋ ካለ ስሪት ጋር 202 ይመልሳል። የራስ ስሪት ready እስኪሆን ድረስ ማብራሪያ ያግኙ poll ያድርጉ። ይህ ወደ ነባሩ ቪዲዮ ይታከላል፣ ስለዚህ ሌላ የነጻ-ቪዲዮ መፍጠሪያ ቦታ አይጠቀምም። የእያንዳንዱ ቪዲዮ የመጀመሪያ እንደገና-render ነጻ ነው። በኋላ ያሉት የተከፈለ-እቅድ ደቂቃዎችን ይጠቀማሉ፣ እና ነጻ መለያዎች እቅድ እንዲጀምሩ ይጠየቃሉ። ማብራሪያው አስቀድሞ ready መሆን አለበት (አለበለዚያ 409)።

የጥያቄ አካል
{ "instruction": "Make the title scene shorter and warmer" }

ወደ ስሪት መልስ

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

ራስን ወደ ቀደመ ዝግጁ ስሪት እንደገና ይጠቁማል እና ግራፉን እና ቪዲዮውን በ record ላይ ያንጸባርቃል። ዒላማው ቪዲዮ ያለው ready ስሪት መሆን አለበት (አለበለዚያ 409)።

የጥያቄ አካል
{ "versionId": "..." }

የቀጥታ ሁኔታ stream

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

የ Server-Sent Events stream (text/event-stream)። አንድ ግንኙነት ይክፈቱ እና በማንኛውም ማብራሪያዎ ላይ እያንዳንዱ የሁኔታ ሽግግር እንደ event: status frame ይደርሳል፣ ስለዚህ poll ከማድረግ ይልቅ worker በሚጨርስበት ቅጽበት "ቪዲዮ ዝግጁ" ሁኔታን ማዘመን ይችላሉ። stream ለቁልፍዎ ባለቤት የተገደበ ነው።

ድምጾች

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

የትረካ ድምጽ ካታሎግ። አማራጭ ?language=<code> ወደዚያ ቋንቋ ተወላጅ ድምጾች ያጣራል። voices ይመልሳል (እያንዳንዱ ቀላል name፣ እንደ voice ለማስተላለፍ idlanguageisDefault እና ሊጫወት የሚችል preview_url) ጨምሮ ዓለም አቀፍ 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 ይመልሳል። ነጻ መለያ videoAllowancevideosUsed እና videosRemaining ጋር plan: "free" ይመልሳል። የተከፈለ መለያ ደግሞ planLabelbillingIntervaltrialStatusquotaMinutesminutesUsedThisPeriodminutesRemaining እና bonusMinutes ይመልሳል።

የruntime config እና ጤና

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

ይፋዊ። { "authEnforced": true } ይመልሳል። የሕይወት ማረጋገጫ በ GET /health ላይ ነው።