Riferimento API

Ogni endpoint, con la sua forma di richiesta e risposta. Tutte le rotte sono relative a https://sketchie.ai/api.

Convenzioni

Ogni endpoint /v1/* richiede l’header Authorization: Bearer sk_.... Gli errori tornano come JSON con un flag error e un message:

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

Gli endpoint di generazione hanno un limite di 20 richieste al minuto. Tutti gli altri condividono un limite di 200 al minuto.

Creare un esplicativo

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

Avvia una generazione e restituisce 202 Accepted con il record in coda. Interroga ottenere un esplicativo finché è ready.

Corpo della richiesta
{
  "input": "Explain how DNS resolves a domain name",
  "length": "0:30",
  "aspect": "16:9",
  "voice": "sketchie:sulafat",
  "language": "en"
}
CampoTipoNote
input string Cosa spiegare. Un prompt breve o il testo completo di un documento. Richiesto a meno che source o sceneGraph sia presente. Alias: prompt.
length string or number Durata target come "M:SS" ("0:30", "1:00") o secondi. Un multiplo positivo di 30, fino a 360. Ometti per durata automatica. Alias: lengthSeconds (numero).
voice string Opzionale. Un ref voce. Predefinito il narratore standard (Nora). Vedi Voci.
language string Opzionale. Un codice lingua supportato (predefinito en). Vedi Lingue.
aspect string Opzionale. 16:9 (predefinito), 9:16 o 1:1.
source string Opzionale. Un documento, articolo o trascrizione da trasformare in esplicativo. Quando presente, input diventa una guida opzionale.
preset string Stile di disegno opzionale: marker (predefinito), chalkboard, pencil, blueprint, crayon, clean.
fillMode string Tecnica di riempimento della rivelazione opzionale: A, B, C (predefinito) o D.
sceneGraph object Opzionale. Uno scene graph pre-scritto. Il worker salta la generazione del grafo e lo renderizza direttamente, ma questo endpoint crea comunque un nuovo esplicativo e consuma la franchigia gratuita normale o la quota del piano a pagamento. Per modificare un esplicativo esistente, usa modificare un esplicativo.

Restituisce il record dell’esplicativo: id, status, prompt, lengthSeconds, voice, language, aspect, videoUrl (null finché non è pronto) e sceneGraph (null finché non è generato). Un 400 torna per un input vuoto senza source, una length malformata, o un aspect, preset, fillMode o language non valido.

Ottenere un esplicativo

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

Restituisce il record completo: status corrente, la videoUrl una volta ready, lo sceneGraph modificabile, la cronologia versioni (versions) e i chunks di scena della versione principale. Un id mancante restituisce 404.

Elencare esplicativi

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

Elenca gli esplicativi della chiave chiamante, dal più recente. Limitato al proprietario della chiave. limit viene limitato da 1 a 100 (predefinito 50). Restituisce riassunti leggeri (senza scene graph né versioni). Usa ottenere un esplicativo per il record completo.

Modificare un esplicativo

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

Il cuneo della modificabilità. Trasforma un’istruzione in linguaggio naturale in un re-render mirato. Solo le scene interessate vengono ri-renderizzate, producendo una nuova versione. Restituisce 202 con la versione in coda. Interroga ottenere un esplicativo finché la versione principale è ready. Questo si aggiunge al video esistente, quindi non consuma un altro slot di creazione video gratis. Il primo re-render di ogni video è gratis. I successivi usano i minuti del piano a pagamento, e agli account gratuiti viene chiesto di avviare un piano. L’esplicativo deve essere già ready (altrimenti 409).

Corpo della richiesta
{ "instruction": "Make the title scene shorter and warmer" }

Ripristinare una versione

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

Ripunta la versione principale a una versione pronta precedente e ne rispecchia grafo e video sul record. Il target deve essere una versione ready con un video (altrimenti 409).

Corpo della richiesta
{ "versionId": "..." }

Stream di stato dal vivo

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

Uno stream di Server-Sent Events (text/event-stream). Apri una connessione e ogni transizione di stato su uno qualsiasi dei tuoi esplicativi arriva come frame event: status, così puoi aggiornare uno stato "video pronto" nel momento in cui il worker finisce invece di interrogare. Lo stream è limitato al proprietario della tua chiave.

Voci

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

Il catalogo delle voci di narrazione. L’opzionale ?language=<code> filtra per voci native di quella lingua. Restituisce voices (ciascuna con un name comodo, l’id da passare come voice, language, isDefault e un preview_url riproducibile) più il default globale. Vedi Voci.

Lingue

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

Le lingue di narrazione supportate, come { code, label, native }. Ogni code è un language valido alla creazione. Vedi Lingue.

Stato dell’account

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

Restituisce videosGenerated (a vita), l’image dell’account e isAdmin. Richiede autenticazione.

Stato della fatturazione

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

Richiede autenticazione e restituisce 200 sia per account gratuiti sia a pagamento. Un account gratuito restituisce plan: "free" con videoAllowance, videosUsed e videosRemaining. Un account a pagamento restituisce anche planLabel, billingInterval, trialStatus, quotaMinutes, minutesUsedThisPeriod, minutesRemaining e bonusMinutes.

Config di runtime e salute

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

Pubblico. Restituisce { "authEnforced": true }. Un liveness check si trova a GET /health.