API-referentie

Elk endpoint, met zijn verzoek- en antwoordvorm. Alle routes zijn relatief ten opzichte van https://sketchie.ai/api.

Conventies

Elk /v1/*-endpoint vereist de Authorization: Bearer sk_...-header. Fouten komen terug als JSON met een error-vlag en een message:

Foutantwoord
{
  "error": true,
  "message": "length must be a positive multiple of 30 seconds, at most 360"
}

Generatie-endpoints zijn beperkt tot 20 verzoeken per minuut. Alle andere endpoints delen een limiet van 200 per minuut.

Maak een uitleg

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

Start een generatie en geeft 202 Accepted terug met het record in de wachtrij. Poll een uitleg ophalen tot het ready is.

Verzoekbody
{
  "input": "Explain how DNS resolves a domain name",
  "length": "0:30",
  "aspect": "16:9",
  "voice": "sketchie:sulafat",
  "language": "en"
}
VeldTypeOpmerkingen
input string Wat uit te leggen. Een korte prompt of volledige documenttekst. Vereist tenzij source of sceneGraph aanwezig is. Alias: prompt.
length string or number Doellengte als "M:SS" ("0:30", "1:00") of seconden. Een positief veelvoud van 30, tot 360. Laat weg voor automatische lengte. Alias: lengthSeconds (getal).
voice string Optioneel. Een stem-ref. Standaard de standaardverteller (Nora). Zie Stemmen.
language string Optioneel. Een ondersteunde taalcode (standaard en). Zie Talen.
aspect string Optioneel. 16:9 (standaard), 9:16 of 1:1.
source string Optioneel. Een document, artikel of transcript om in een uitleg te veranderen. Indien aanwezig wordt input optionele sturing.
preset string Optionele tekenstijl: marker (standaard), chalkboard, pencil, blueprint, crayon, clean.
fillMode string Optionele reveal-vultechniek: A, B, C (standaard) of D.
sceneGraph object Optioneel. Een vooraf geschreven scene graph. De worker slaat graafgeneratie over en rendert die direct, maar dit endpoint maakt nog steeds een nieuwe uitleg aan en verbruikt het normale gratis tegoed of de betaalde plan-quota van de aanroeper. Om een bestaande uitleg te bewerken, gebruik een uitleg bewerken.

Geeft het uitlegrecord terug: id, status, prompt, lengthSeconds, voice, language, aspect, videoUrl (null tot gereed) en sceneGraph (null tot gegenereerd). Een 400 komt terug voor een lege input zonder source, een misvormde length of een ongeldige aspect, preset, fillMode of language.

Een uitleg ophalen

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

Geeft het volledige record terug: huidige status, de videoUrl zodra ready, de bewerkbare sceneGraph, de versiegeschiedenis (versions) en de scène-chunks van de hoofdversie. Een ontbrekend id geeft 404.

Uitleggen lijsten

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

Lijst de uitleggen van de aanroepende sleutel, nieuwste eerst. Beperkt tot de sleuteleigenaar. limit wordt geklemd tussen 1 en 100 (standaard 50). Geeft lichte samenvattingen terug (geen scene graph of versies). Gebruik een uitleg ophalen voor het volledige record.

Een uitleg bewerken

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

De bewerkbaarheidswig. Verander een instructie in gewone taal in een gerichte her-render. Alleen de betrokken scènes worden opnieuw gerenderd, wat een nieuwe versie oplevert. Geeft 202 terug met de versie in de wachtrij. Poll een uitleg ophalen tot de hoofdversie ready is. Dit voegt toe aan de bestaande video, dus het verbruikt geen extra gratis-video-aanmaakslot. De eerste her-render van elke video is gratis. Latere her-renders gebruiken betaalde plan-minuten, en gratis accounts wordt gevraagd een plan te starten. De uitleg moet al ready zijn (anders 409).

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

Terug naar een versie

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

Wijst de kop opnieuw naar een eerdere gerede versie en spiegelt de graaf en video ervan op het record. Het doel moet een ready-versie met een video zijn (anders 409).

Verzoekbody
{ "versionId": "..." }

Live statusstream

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

Een Server-Sent Events-stream (text/event-stream). Open één verbinding en elke statusovergang op een van je uitleggen komt binnen als een event: status-frame, zodat je een "video gereed"-status kunt bijwerken op het moment dat de worker klaar is in plaats van te pollen. De stream is beperkt tot de eigenaar van je sleutel.

Stemmen

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

De vertelstem-catalogus. De optionele ?language=<code> filtert op stemmen die native zijn voor die taal. Geeft voices terug (elk met een vriendelijke name, de id om als voice door te geven, language, isDefault en een afspeelbare preview_url) plus de globale default. Zie Stemmen.

Talen

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

De ondersteunde vertelstemtalen, als { code, label, native }. Elke code is een geldige language bij het aanmaken. Zie Talen.

Accountstatus

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

Geeft videosGenerated (levenslang), de account-image en isAdmin terug. Vereist authenticatie.

Factureringsstatus

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

Vereist authenticatie en geeft 200 terug voor zowel gratis als betaalde accounts. Een gratis account geeft plan: "free" terug met videoAllowance, videosUsed en videosRemaining. Een betaald account geeft ook planLabel, billingInterval, trialStatus, quotaMinutes, minutesUsedThisPeriod, minutesRemaining en bonusMinutes terug.

Runtimeconfiguratie en gezondheid

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

Openbaar. Geeft { "authEnforced": true } terug. Een liveness-check bevindt zich op GET /health.