Referencia da API

Cada endpoint, coa forma da súa solicitude e resposta. Todas as rutas son relativas a https://sketchie.ai/api.

Convencións

Cada endpoint /v1/* require a cabeceira Authorization: Bearer sk_.... Os erros volven como JSON cunha bandeira error e unha message:

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

Os endpoints de xeración están limitados a 20 solicitudes por minuto. Todos os demais endpoints comparten un límite de 200 por minuto.

Crear un explicativo

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

Inicia unha xeración e devolve 202 Accepted co rexistro na cola. Sondea obter un explicativo ata que estea ready.

Corpo da solicitude
{
  "input": "Explain how DNS resolves a domain name",
  "length": "0:30",
  "aspect": "16:9",
  "voice": "sketchie:sulafat",
  "language": "en"
}
CampoTipoNotas
input string Que explicar. Un prompt curto ou o texto completo dun documento. Obrigatorio agás que estea presente source ou sceneGraph. Alias: prompt.
length string or number Duración obxectivo como "M:SS" ("0:30", "1:00") ou segundos. Un múltiplo positivo de 30, ata 360. Omite para duración automática. Alias: lengthSeconds (número).
voice string Opcional. Unha ref de voz. Por defecto o narrador estándar (Nora). Vexa Voces.
language string Opcional. Un código de idioma admitido (por defecto en). Vexa Idiomas.
aspect string Opcional. 16:9 (por defecto), 9:16, ou 1:1.
source string Opcional. Un documento, artigo ou transcrición para converter nun explicativo. Cando está presente, input convértese en orientación opcional.
preset string Estilo de debuxo opcional: marker (por defecto), chalkboard, pencil, blueprint, crayon, clean.
fillMode string Técnica de recheo de revelación opcional: A, B, C (por defecto), ou D.
sceneGraph object Opcional. Un scene graph escrito previamente. O worker salta a xeración do grafo e renderízao directamente, pero este endpoint aínda crea un novo explicativo e consome a franquía gratuíta normal ou a cota do plan de pago de quen chama. Para editar un explicativo existente, use editar un explicativo.

Devolve o rexistro do explicativo: id, status, prompt, lengthSeconds, voice, language, aspect, videoUrl (null ata estar listo) e sceneGraph (null ata ser xerado). Un 400 volve para un input baleiro sen source, un length mal formado, ou un aspect, preset, fillMode ou language non válido.

Obter un explicativo

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

Devolve o rexistro completo: status actual, a videoUrl unha vez ready, o sceneGraph editable, o historial de versións (versions) e os chunks de escena da versión principal. Un id que falta devolve 404.

Listar explicativos

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

Lista os explicativos da clave que chama, os máis novos primeiro. Limitado ao propietario da clave. limit limítase de 1 a 100 (por defecto 50). Devolve resumos lixeiros (sen scene graph nin versións). Para o rexistro completo use obter un explicativo.

Editar un explicativo

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

A cuña da editabilidade. Converte unha instrución en linguaxe sinxela nun re-render dirixido. Só se renderizan de novo as escenas afectadas, producindo unha nova versión. Devolve 202 coa versión na cola. Sondea obter un explicativo ata que a versión principal estea ready. Isto engádese ao vídeo existente, polo que non consome outra creación de vídeo gratuíto. O primeiro re-render de cada vídeo é gratuíto. Os seguintes usan minutos do plan de pago, e ás contas gratuítas pídeselles que inicien un plan. O explicativo xa debe estar ready (senón 409).

Corpo da solicitude
{ "instruction": "Make the title scene shorter and warmer" }

Reverter a unha versión

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

Reapunta a cabeza a unha versión lista anterior e reflicte o seu grafo e vídeo no rexistro. O obxectivo debe ser unha versión ready cun vídeo (senón 409).

Corpo da solicitude
{ "versionId": "..." }

Fluxo de estado en directo

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

Un fluxo de Server-Sent Events (text/event-stream). Abre unha conexión e cada transición de estado en calquera dos teus explicativos chega como un frame event: status, polo que podes actualizar un estado "vídeo listo" no instante en que o worker remata en vez de sondear. O fluxo está limitado ao propietario da túa clave.

Voces

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

O catálogo de voces de narración. O opcional ?language=<code> filtra por voces nativas dese idioma. Devolve voices (cada unha cun name amable, o id a pasar como voice, language, isDefault e un preview_url reproducible) máis o default global. Vexa Voces.

Idiomas

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

Os idiomas de narración admitidos, como { code, label, native }. Cada code é un language válido na creación. Vexa Idiomas.

Estado da conta

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

Devolve videosGenerated (de por vida), a image da conta e isAdmin. Require autenticación.

Estado da facturación

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

Require autenticación e devolve 200 tanto para contas gratuítas como de pago. Unha conta gratuíta devolve plan: "free" con videoAllowance, videosUsed e videosRemaining. Unha conta de pago tamén devolve planLabel, billingInterval, trialStatus, quotaMinutes, minutesUsedThisPeriod, minutesRemaining e bonusMinutes.

Configuración de tempo de execución e saúde

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

Público. Devolve { "authEnforced": true }. Unha comprobación de vida está en GET /health.