Referenca API-ja

Svaki endpoint, s oblikom njegova zahtjeva i odgovora. Sve rute su relativne u odnosu na https://sketchie.ai/api.

Konvencije

Svaki /v1/* endpoint zahtijeva zaglavlje Authorization: Bearer sk_.... Pogreške se vraćaju kao JSON sa zastavicom error i message:

Odgovor s pogreškom
{
  "error": true,
  "message": "length must be a positive multiple of 30 seconds, at most 360"
}

Endpointi generiranja ograničeni su na 20 zahtjeva u minuti. Svi ostali endpointi dijele ograničenje od 200 u minuti.

Izradite objašnjenje

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

Pokreće generiranje i vraća 202 Accepted sa zapisom u redu. Pratite dohvati objašnjenje dok ne bude ready.

Tijelo zahtjeva
{
  "input": "Explain how DNS resolves a domain name",
  "length": "0:30",
  "aspect": "16:9",
  "voice": "sketchie:sulafat",
  "language": "en"
}
PoljeTipNapomene
input string Što objasniti. Kratki prompt ili puni tekst dokumenta. Obavezno osim ako je prisutan source ili sceneGraph. Alias: prompt.
length string or number Ciljana duljina kao "M:SS" ("0:30", "1:00") ili sekunde. Pozitivni višekratnik broja 30, do 360. Izostavite za automatsku duljinu. Alias: lengthSeconds (broj).
voice string Neobavezno. Referenca glasa. Zadano standardni pripovjedač (Nora). Vidi Glasovi.
language string Neobavezno. Podržani kod jezika (zadano en). Vidi Jezici.
aspect string Neobavezno. 16:9 (zadano), 9:16, ili 1:1.
source string Neobavezno. Dokument, članak ili transkript za pretvaranje u objašnjenje. Kada je prisutan, input postaje neobavezna smjernica.
preset string Neobavezni stil crtanja: marker (zadano), chalkboard, pencil, blueprint, crayon, clean.
fillMode string Neobavezna tehnika ispune otkrivanja: A, B, C (zadano), ili D.
sceneGraph object Neobavezno. Unaprijed napisan scene graph. Worker preskače generiranje grafa i renderira ga izravno, ali ovaj endpoint i dalje izrađuje novo objašnjenje i troši uobičajenu besplatnu kvotu ili kvotu plaćenog plana pozivatelja. Za uređivanje postojećeg objašnjenja koristite uredi objašnjenje.

Vraća zapis objašnjenja: id, status, prompt, lengthSeconds, voice, language, aspect, videoUrl (null do spremnosti) i sceneGraph (null do generiranja). 400 se vraća za prazan input bez source, neispravno oblikovan length, ili nevažeći aspect, preset, fillMode ili language.

Dohvati objašnjenje

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

Vraća potpuni zapis: trenutni status, videoUrl kada je ready, uredivi sceneGraph, povijest verzija (versions) i scenske chunks glavne verzije. Nedostajući id vraća 404.

Popis objašnjenja

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

Popisuje objašnjenja pozivajućeg ključa, najnovija prva. Ograničeno na vlasnika ključa. limit je ograničen od 1 do 100 (zadano 50). Vraća lagane sažetke (bez scene graph ili verzija). Za potpuni zapis koristite dohvati objašnjenje.

Uredi objašnjenje

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

Klin uredivosti. Pretvorite uputu na jednostavnom jeziku u ciljano ponovno renderiranje. Samo pogođene scene se ponovno renderiraju, stvarajući novu verziju. Vraća 202 s verzijom u redu. Pratite dohvati objašnjenje dok glavna verzija ne bude ready. Ovo se pridodaje postojećem videozapisu, pa ne troši još jedno mjesto za izradu besplatnog videozapisa. Prvo ponovno renderiranje svakog videozapisa je besplatno. Kasnija koriste minute plaćenog plana, a besplatni računi se zamoljavaju da pokrenu plan. Objašnjenje već mora biti ready (inače 409).

Tijelo zahtjeva
{ "instruction": "Make the title scene shorter and warmer" }

Vrati na verziju

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

Ponovno usmjerava glavu na raniju spremnu verziju i zrcali njezin graf i videozapis na zapis. Cilj mora biti ready verzija s videozapisom (inače 409).

Tijelo zahtjeva
{ "versionId": "..." }

Stream statusa uživo

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

Stream Server-Sent Events (text/event-stream). Otvorite jednu vezu i svaki prijelaz statusa na bilo kojem od vaših objašnjenja stiže kao okvir event: status, tako da možete ažurirati stanje "videozapis spreman" u trenutku kada worker završi umjesto praćenja. Stream je ograničen na vlasnika vašeg ključa.

Glasovi

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

Katalog glasova pripovijedanja. Neobavezni ?language=<code> filtrira na glasove izvorne za taj jezik. Vraća voices (svaki s prijaznim name, id za proslijediti kao voice, language, isDefault i reproducibilnim preview_url) plus globalni default. Vidi Glasovi.

Jezici

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

Podržani jezici pripovijedanja, kao { code, label, native }. Svaki code je važeći language pri izradi. Vidi Jezici.

Stanje računa

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

Vraća videosGenerated (doživotno), image računa i isAdmin. Zahtijeva autentifikaciju.

Status naplate

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

Zahtijeva autentifikaciju i vraća 200 i za besplatne i za plaćene račune. Besplatni račun vraća plan: "free" s videoAllowance, videosUsed i videosRemaining. Plaćeni račun vraća i planLabel, billingInterval, trialStatus, quotaMinutes, minutesUsedThisPeriod, minutesRemaining i bonusMinutes.

Konfiguracija izvođenja i zdravlje

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

Javno. Vraća { "authEnforced": true }. Provjera živosti nalazi se na GET /health.