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

एउटा जेनेरेसन सुरु गर्छ र लाममा राखिएको रेकर्डसहित 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 (पूर्वनिर्धारित), 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)। source बिनाको खाली input, विकृत length, वा अवैध aspect, preset, fillMode वा language का लागि 400 फर्किन्छ।

एउटा व्याख्यात्मक प्राप्त गर्नुहोस्

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

पूरा रेकर्ड फर्काउँछ: वर्तमान status, ready हुँदा videoUrl, सम्पादनयोग्य 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 नभएसम्म एउटा व्याख्यात्मक प्राप्त गर्नुहोस् poll गर्नुहोस्। यो विद्यमान भिडियोमा थपिन्छ, त्यसैले अर्को निःशुल्क-भिडियो सिर्जना स्लट खर्च गर्दैन। हरेक भिडियोको पहिलो पुनः-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 फ्रेमका रूपमा आउँछ, ताकि तपाईं poll गर्नुको सट्टा worker सकिने बित्तिकै "भिडियो तयार" स्थिति अपडेट गर्न सक्नुहोस्। स्ट्रिम तपाईंको कीको मालिकमा सीमित छ।

आवाजहरू

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

वाचन आवाज क्याटलग। वैकल्पिक ?language=<code> ले त्यस भाषाका मूल आवाजहरूमा फिल्टर गर्छ। voices फर्काउँछ (प्रत्येकमा एउटा सरल name, voice रूपमा पठाउने id, 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 (जीवनभर), खाता imageisAdmin फर्काउँछ। प्रमाणीकरण आवश्यक।

बिलिङ स्थिति

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

प्रमाणीकरण आवश्यक छ र निःशुल्क तथा भुक्तानी दुवै खाताका लागि 200 फर्काउँछ। एउटा निःशुल्क खाता videoAllowance, videosUsedvideosRemaining सहित plan: "free" फर्काउँछ। एउटा भुक्तानी खाता planLabel, billingInterval, trialStatus, quotaMinutes, minutesUsedThisPeriod, minutesRemainingbonusMinutes पनि फर्काउँछ।

रनटाइम कन्फिग र हेल्थ

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

सार्वजनिक। { "authEnforced": true } फर्काउँछ। एउटा लाइभनेस जाँच GET /health मा छ।