Referência da API
Todo endpoint, com o formato de requisição e resposta. Todas as rotas são relativas a https://sketchie.ai/api.
Convenções
Todo endpoint /v1/* requer o cabeçalho Authorization: Bearer sk_.... Erros voltam como JSON com uma flag error e uma message:
{
"error": true,
"message": "length must be a positive multiple of 30 seconds, at most 360"
} Endpoints de geração têm limite de 20 requisições por minuto. Todos os outros compartilham um limite de 200 por minuto.
Criar um explicativo
https://sketchie.ai/api/v1/explainer Inicia uma geração e retorna 202 Accepted com o registro na fila. Faça polling de obter um explicativo até estar ready.
{
"input": "Explain how DNS resolves a domain name",
"length": "0:30",
"aspect": "16:9",
"voice": "sketchie:sulafat",
"language": "en"
} | Campo | Tipo | Notas |
|---|---|---|
input | string | O que explicar. Um prompt curto ou o texto completo de um documento. Obrigatório a menos que source ou sceneGraph esteja presente. Alias: prompt. |
length | string or number | Duração alvo como "M:SS" ("0:30", "1:00") ou segundos. Um múltiplo positivo de 30, até 360. Omita para duração automática. Alias: lengthSeconds (número). |
voice | string | Opcional. Um ref de voz. Padrão é o narrador padrão (Nora). Veja Vozes. |
language | string | Opcional. Um código de idioma suportado (padrão en). Veja Idiomas. |
aspect | string | Opcional. 16:9 (padrão), 9:16 ou 1:1. |
source | string | Opcional. Um documento, artigo ou transcrição para transformar em explicativo. Quando presente, input vira orientação opcional. |
preset | string | Estilo de desenho opcional: marker (padrão), chalkboard, pencil, blueprint, crayon, clean. |
fillMode | string | Técnica de preenchimento de revelação opcional: A, B, C (padrão) ou D. |
sceneGraph | object | Opcional. Um scene graph pré-autorado. O worker pula a geração do grafo e o renderiza direto, mas este endpoint ainda cria um novo explicativo e consome a franquia gratuita normal ou a cota do plano pago. Para editar um explicativo existente, use editar um explicativo. |
Retorna o registro do explicativo: id, status, prompt, lengthSeconds, voice, language, aspect, videoUrl (null até ficar pronto) e sceneGraph (null até ser gerado). Um 400 volta para um input vazio sem source, um length malformado, ou um aspect, preset, fillMode ou language inválido.
Obter um explicativo
https://sketchie.ai/api/v1/explainer/:id Retorna o registro completo: status atual, a videoUrl quando ready, o sceneGraph editável, o histórico de versões (versions) e os chunks de cena da versão principal. Um id inexistente retorna 404.
Listar explicativos
https://sketchie.ai/api/v1/explainer?limit=50 Lista os explicativos da chave chamadora, do mais novo primeiro. Restrito ao dono da chave. limit é limitado de 1 a 100 (padrão 50). Retorna resumos leves (sem scene graph ou versões). Use obter um explicativo para o registro completo.
Editar um explicativo
https://sketchie.ai/api/v1/explainer/:id/edit A cunha da editabilidade. Transforme uma instrução em linguagem simples em um re-render direcionado. Só as cenas afetadas são renderizadas de novo, produzindo uma nova versão. Retorna 202 com a versão na fila. Faça polling de obter um explicativo até a versão principal ficar ready. Isto acrescenta ao vídeo existente, então não consome outra criação de vídeo grátis. O primeiro re-render de cada vídeo é grátis. Os seguintes usam minutos do plano pago, e contas grátis são convidadas a iniciar um plano. O explicativo já deve estar ready (senão 409).
{ "instruction": "Make the title scene shorter and warmer" } Reverter para uma versão
https://sketchie.ai/api/v1/explainer/:id/revert Reaponta a versão principal para uma versão pronta anterior e espelha o grafo e o vídeo dela no registro. O alvo deve ser uma versão ready com vídeo (senão 409).
{ "versionId": "..." } Stream de status ao vivo
https://sketchie.ai/api/v1/explainer/events Um stream de Server-Sent Events (text/event-stream). Abra uma conexão e cada transição de status de qualquer um dos seus explicativos chega como um frame event: status, então você pode atualizar um estado "vídeo pronto" no instante em que o worker termina em vez de fazer polling. O stream é restrito ao dono da sua chave.
Vozes
https://sketchie.ai/api/v1/voices O catálogo de vozes de narração. O opcional ?language=<code> filtra por vozes nativas daquele idioma. Retorna voices (cada uma com um name amigável, o id para passar como voice, language, isDefault e um preview_url reproduzível) mais o default global. Veja Vozes.
Idiomas
https://sketchie.ai/api/v1/languages Os idiomas de narração suportados, como { code, label, native }. Cada code é um language válido na criação. Veja Idiomas.
Estado da conta
https://sketchie.ai/api/v1/account/state Retorna videosGenerated (total), a image da conta e isAdmin. Requer autenticação.
Status de cobrança
https://sketchie.ai/api/v1/billing/status Requer autenticação e retorna 200 tanto para contas grátis quanto pagas. Uma conta grátis retorna plan: "free" com videoAllowance, videosUsed e videosRemaining. Uma conta paga também retorna planLabel, billingInterval, trialStatus, quotaMinutes, minutesUsedThisPeriod, minutesRemaining e bonusMinutes.
Config de runtime e saúde
https://sketchie.ai/api/config Público. Retorna { "authEnforced": true }. Um liveness check fica em GET /health.