Comece aqui
Visão geral e início rápido
Tudo o que você faz no app do Chasca também dá para fazer por HTTP: criar um vídeo explicativo de quadro branco narrado a partir de um prompt ou de um documento, esperar ficar pronto e mudar uma coisa de cada vez ou editar o grafo de cenas dele. O SDK, a CLI e o servidor MCP são camadas finas sobre a mesma API.
https://app.trychasca.com/api 1. Obtenha uma chave de API
No app, abra Settings → API keys e crie uma chave. As chaves têm o formato
chk_live_… e aparecem uma única vez, então guarde a sua em um lugar seguro (uma variável de ambiente é o ideal).
- O acesso à API está incluído a partir do plano Plus. Compare os planos.
- Vídeos criados com uma chave de API, pela API, pelo SDK e pela CLI ou pelo servidor MCP com chave, consomem os minutos do seu plano em dobro (2x): um vídeo de 1 minuto consome 2 minutos. O conector para o Claude e outros assistentes, que usa o login da sua conta, funciona em todos os planos e conta como no app.
2. Autentique as requisições
Envie a chave como token Bearer em todas as requisições:
Authorization: Bearer chk_live_...
Todos os corpos de requisição e de resposta são JSON. A API fica em https://app.trychasca.com/api.
3. Crie um vídeo explicativo
Envie o que você quer explicar em input: um tema, uma pergunta ou o texto completo de um documento. Defina
length em incrementos de 30 segundos, até 30:00, ou omita o campo e deixe o Chasca escolher.
curl -X POST https://app.trychasca.com/api/v1/explainer \
-H "Authorization: Bearer $CHASCA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": "Explain how vaccines train the immune system",
"length": "1:00",
"aspect": "16:9",
"preset": "marker"
}' A API responde na hora com 202 Accepted e o registro enfileirado. A geração roda em segundo plano.
{
"id": "0b9c6f2e-5d1a-4c3e-9a47-2f8e1c7d4b60",
"status": "queued",
"stage": null,
"progress": 0,
"prompt": "Explain how vaccines train the immune system",
"lengthSeconds": 60,
"voice": "chasca:sulafat",
"language": "en",
"aspect": "16:9",
"preset": "marker",
"videoUrl": null,
"createdVia": "api",
"createdAt": "2026-09-23T09:14:02.118Z"
} 4. Aguarde a geração
Consulte o vídeo explicativo periodicamente até que status seja ready. Ele passa por
queued → generating → rendering → ready (ou termina em failed, com a causa legível em
error). A maioria dos vídeos fica pronta em menos de um minuto. Se preferir não fazer polling, assine o
stream de eventos.
curl https://app.trychasca.com/api/v1/explainer/0b9c6f2e-5d1a-4c3e-9a47-2f8e1c7d4b60 \
-H "Authorization: Bearer $CHASCA_API_KEY"
Um vídeo explicativo pronto traz videoUrl, posterUrl e subtitlesUrl, além do
sceneGraph completo e editável, de todas as versões e dos tempos de cada cena. Os links de mídia são assinados
e expiram depois de cerca de uma semana; busque o vídeo explicativo de novo para obter links novos.
5. Mude só uma coisa
Envie uma única mudança, e todo o resto fica exatamente como estava. Legendas, estilo do quadro, música, marca d’água, logo e linha de créditos geram uma nova versão gratuita do mesmo vídeo, com a mesma narração. Uma voz ou um formato novos geram um vídeo separado a partir do mesmo roteiro e dos mesmos desenhos, cobrado como um vídeo novo.
curl -X POST https://app.trychasca.com/api/v1/explainer/0b9c6f2e-5d1a-4c3e-9a47-2f8e1c7d4b60/change \
-H "Authorization: Bearer $CHASCA_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "kind": "captions", "captions": true, "captionStyle": "bold" }'
Para mudar as palavras ou os desenhos, envie o sceneGraph do vídeo explicativo com as suas edições para
edit: só as cenas que mudaram são desenhadas de novo. Desfaça qualquer um dos dois com
revert.
Prefere TypeScript?
O SDK encapsula tudo isso, incluindo a espera, as novas tentativas e as respostas tipadas. Veja CLI e SDK. Para que o Claude, o Cursor ou outro agente use o Chasca por você, veja Configuração do MCP.
import { ChascaClient } from '@chasca/sdk';
const chasca = new ChascaClient({ apiKey: process.env.CHASCA_API_KEY! });
const job = await chasca.createExplainer({ input: 'How compound interest snowballs', length: '1:00' });
const video = await chasca.waitForExplainer(job.id);
console.log(video.videoUrl); Resumo dos limites
- Requisições de geração, de mudança e de edição: 20 por minuto. Todas as outras: 200 por minuto.
- Duração do vídeo: de 30 segundos a 30 minutos, em incrementos de 30 segundos. A partir de 6 minutos, o vídeo é contado em capítulos, e os minutos que você ainda tem precisam cobrir a duração pedida.
-
Os erros têm sempre o mesmo formato:
{ "error": true, "code": "...", "message": "...", "status": 400 }. Veja erros.