API საცნობარო

თითოეული endpoint მისი მოთხოვნისა და პასუხის ფორმით. ყველა მარშრუტი შედარებითია https://sketchie.ai/api-სთან.

კონვენციები

თითოეული /v1/* endpoint მოითხოვს Authorization: Bearer sk_... სათაურს. შეცდომები ბრუნდება როგორც JSON error დროშითა და message-ით:

შეცდომის პასუხი
{
  "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

იწყებს გენერაციას და აბრუნებს 202 Accepted-ს რიგში მყოფ ჩანაწერთან ერთად. გამოკითხეთ ამხსნელის მიღება, სანამ ready გახდება.

მოთხოვნის სხეული
{
  "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 (ნაგულისხმევი), chalkboard, pencil, blueprint, crayon, clean.
fillMode string არჩევითი გამოვლენის შევსების ტექნიკა: A, B, C (ნაგულისხმევი), ან D.
sceneGraph object არჩევითი. წინასწარ დაწერილი scene graph. worker გამოტოვებს გრაფის გენერაციას და ახდენს მის პირდაპირ render-ს, მაგრამ ეს endpoint მაინც ქმნის ახალ ამხსნელს და ხარჯავს დამრეკის ჩვეულებრივ უფასო კვოტას ან ფასიანი გეგმის კვოტას. არსებული ამხსნელის რედაქტირებისთვის გამოიყენეთ ამხსნელის რედაქტირება.

აბრუნებს ამხსნელის ჩანაწერს: id, status, prompt, lengthSeconds, voice, language, aspect, videoUrl (null მზადებამდე) და sceneGraph (null გენერაციამდე). 400 ბრუნდება source-ის გარეშე ცარიელი input-ისთვის, დამახინჯებული length-ისთვის ან არასწორი aspect, preset, fillMode ან language-ისთვის.

ამხსნელის მიღება

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

აბრუნებს სრულ ჩანაწერს: მიმდინარე status, videoUrl როცა ready, რედაქტირებადი sceneGraph, ვერსიების ისტორია (versions) და მთავარი ვერსიის სცენის chunks. არარსებული id აბრუნებს 404-ს.

ამხსნელების ჩამონათვალი

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

ჩამოთვლის დამრეკი გასაღების ამხსნელებს, უახლესები პირველ რიგში. შეზღუდულია გასაღების მფლობელით. limit იზღუდება 1-დან 100-მდე (ნაგულისხმევი 50). აბრუნებს მსუბუქ შეჯამებებს (scene graph ან ვერსიების გარეშე). სრული ჩანაწერისთვის გამოიყენეთ ამხსნელის მიღება.

ამხსნელის რედაქტირება

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

რედაქტირებადობის სოლი. აქციეთ მარტივ ენაზე მითითება მიზნობრივ ხელახალ render-ად. მხოლოდ დაზარალებული სცენები render-დება ხელახლა, ქმნის ახალ ვერსიას. აბრუნებს 202-ს რიგში მყოფ ვერსიასთან. გამოკითხეთ ამხსნელის მიღება, სანამ მთავარი ვერსია ready გახდება. ეს ემატება არსებულ ვიდეოს, ამიტომ არ ხარჯავს კიდევ ერთ უფასო-ვიდეოს შექმნის ადგილს. თითოეული ვიდეოს პირველი ხელახალი render უფასოა. შემდგომი იყენებს ფასიანი გეგმის წუთებს, და უფასო ანგარიშებს სთხოვენ გეგმის დაწყებას. ამხსნელი უკვე უნდა იყოს ready (თუ არა 409).

მოთხოვნის სხეული
{ "instruction": "Make the title scene shorter and warmer" }

ვერსიაზე დაბრუნება

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

ხელახლა მიმართავს თავს წინა მზა ვერსიაზე და ასახავს მის გრაფსა და ვიდეოს ჩანაწერზე. სამიზნე უნდა იყოს ready ვერსია ვიდეოთი (თუ არა 409).

მოთხოვნის სხეული
{ "versionId": "..." }

ცოცხალი სტატუსის ნაკადი

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

Server-Sent Events ნაკადი (text/event-stream). გახსენით ერთი კავშირი და თქვენს ნებისმიერ ამხსნელზე თითოეული სტატუსის გადასვლა ჩამოდის როგორც event: status ფრეიმი, ასე რომ შეგიძლიათ განაახლოთ "ვიდეო მზადაა" მდგომარეობა worker-ის დასრულების მომენტში გამოკითხვის ნაცვლად. ნაკადი შეზღუდულია თქვენი გასაღების მფლობელით.

ხმები

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

თხრობის ხმების კატალოგი. არჩევითი ?language=<code> ფილტრავს იმ ენისთვის მშობლიურ ხმებზე. აბრუნებს voices-ს (თითოეული მოსახერხებელი name-ით, id-ით voice-ად გადასაცემად, language, isDefault და დასაკრავი 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-ს როგორც უფასო, ისე ფასიანი ანგარიშებისთვის. უფასო ანგარიში აბრუნებს plan: "free"-ს videoAllowance, videosUsed და videosRemaining-ით. ფასიანი ანგარიში ასევე აბრუნებს planLabel, billingInterval, trialStatus, quotaMinutes, minutesUsedThisPeriod, minutesRemaining და bonusMinutes.

გაშვების დროის კონფიგურაცია და ჯანმრთელობა

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

საჯარო. აბრუნებს { "authEnforced": true }-ს. სიცოცხლისუნარიანობის შემოწმება არის GET /health-ზე.