Abra a sua gravação .skbundle no ScreenKite, depois dê instruções ao seu agente de IA (Claude Code, Codex, Gemini CLI ou qualquer agente com as ferramentas MCP do ScreenKite). O agente trata de duas coisas: cortar a transcrição e gerar B-Roll com layouts de cena. Você revê e aprova; ele executa.
Fluxos de trabalho da comunidade, prompts e pacotes de competências: github.com/ScreenKite/awesome-ai-video-editing
Pré-voo: Estado de Preparação do Modelo Local
Antes de o agente poder transcrever usando o WhisperKit, os ficheiros do modelo têm de existir no disco. O CLI do agente verifica isto ao iniciar — se o caminho do modelo selecionado estiver em falta ou desatualizado, verá:
WhisperKit transcription is not configured. Open Settings → Transcription and download a WhisperKit model. Stop here and ask the human to configure a transcription provider before continuing.
Para resolver:
- Abra Settings (Definições) → Transcription (Transcrição).
- Selecione o sub-separador Word-Level (Nível de palavra).
- Defina o fornecedor como Local (ou Automatic (Automático) para preferir o ElevenLabs com o WhisperKit como alternativa).
- Na secção WhisperKit model (Modelo WhisperKit), escolha um modelo no menu e clique em Download Selected Model (Transferir modelo selecionado).
- Aguarde até a barra de progresso concluir; a etiqueta muda para Model downloaded (Modelo transferido).
- Execute novamente o seu comando de agente — a verificação de preparação passará.
Dar Instruções ao Agente
Não escreve código. Escreve uma frase. O agente chama as ferramentas CLI e MCP do ScreenKite em seu nome.
Claude Code
# Inicie uma sessão interativa na sua pasta de projeto claude # Depois escreva: Open ~/Desktop/Recording.skbundle and do a transcript cut. Plan the cuts first.
# Ou de uma vez a partir do terminal claude "Open ~/Desktop/Recording.skbundle, transcribe the mic with ElevenLabs, plan all cuts before executing"
Codex CLI
codex "Open ~/Desktop/Recording.skbundle and do a transcript cut — plan first, then wait for my approval"
# B-roll de uma vez codex "Open ~/Desktop/Recording.skbundle, transcribe and cut, then add medium-density B-roll with a centered layout"
Gemini CLI
gemini "Open ~/Desktop/Recording.skbundle. Transcribe the mic, plan the cuts, and show me the list before touching the timeline."
O que o agente realmente chama
Por baixo do capô, cada sessão começa com:
# Abrir o projeto
'/Applications/ScreenKite.app/Contents/MacOS/ScreenKite' agent project open \
--path ~/Desktop/Recording.skbundle --json
# Ler o estado do projeto
'/Applications/ScreenKite.app/Contents/MacOS/ScreenKite' agent tool call \
--name getProjectState --input-json '{"scope":"summary"}' --json
Pode executar estes comandos você mesmo para inspecionar o estado em qualquer altura. --json em cada chamada torna a saída legível por máquina.
Competências (Skills)
As competências são pacotes de prompts pré-construídos que ensinam ao agente o fluxo de trabalho completo para que não tenha de o descrever do zero. Instale uma vez; referencie pelo nome em qualquer sessão.
Instalar
npx skills add ScreenKite/awesome-ai-video-editing
Competências disponíveis
use-screenkite-advanced-b-roll — Pipeline completo: transcrever com ElevenLabs, empacotar em vista de frases, corrigir nomes próprios, propor menu visual com pacotes de densidade, gerar composições Hyperframes em paralelo, renderizar para MP4, aplicar DSL setSceneLayout com transições magicMove.
claude "use the use-screenkite-advanced-b-roll skill on ~/Desktop/Recording.skbundle. Cute visuals, centered layout, medium density."
video-use — Edição centrada na transcrição: transcrever, empacotar, planear cortes, confirmar, executar. Também trata correção de cor, legendas e sobreposições de animação via FFmpeg ao trabalhar fora do ScreenKite.
claude "use the video-use skill. Transcribe ~/Desktop/Recording.skbundle and plan a cut."
Invocar uma competência no Claude Code
Se tiver o Claude Code aberto de forma interativa, escreva o nome da competência como comando de barra:
/use-screenkite-advanced-b-roll
A competência carrega as suas instruções e pede o caminho da gravação.
Parte 1 — Cortes Baseados na Transcrição
O que o agente faz
- Transcreve a sua faixa de microfone com o ElevenLabs Scribe — marcas de tempo ao nível da palavra, em cache para nunca tornar a carregar o mesmo ficheiro
- Empacota o JSON bruto numa vista de frases legível (as frases quebram em silêncios ≥ 0.5s)
- Corrige cada nome de produto ou nome próprio via pesquisa web — o ASR ouve mal os nomes regularmente (ex. "ScreenKite" transcrito como "Screencast"); nomes errados propagam-se para todas as legendas e visuais a jusante
- Propõe uma lista de cortes com intervalos de tempo exatos e uma razão em linguagem simples para cada corte
- Aguarda a sua aprovação antes de tocar na linha de tempo
As mesmas marcas de tempo de palavras alimentam as legendas geradas. Quando um agente cria legendas no ScreenKite, usa o fornecedor de transcrição Word-Level (Nível de palavra) configurado e importa uma marcação de legenda por palavra falada em vez de longos blocos de frases. Consulte Word-Level Generated Captions (Legendas geradas ao nível da palavra) para a configuração na aplicação.
Prompt de exemplo
Open ~/Desktop/Recording.skbundle and transcribe + cut. Show me the cut plan first, don't touch the timeline yet. ElevenLabs key is in ~/.config/env/elevenlabs.env
O agente devolve algo como:
[000.06–000.66] "HelloPro." → false start [002.14–002.56] "Hello." → second false start --- CUT [0 → 2.98s] --- [011.84–012.18] "Uh," → filler CUT [8.72–10.00] [043.60–045.16] "And let's see." → transition CUT [40.48–42.60] Result: 58.8s → 51.2s Apply these 3 cuts?
Responda yes e todos os cortes são aplicados numa única chamada via editTimeline(action: "cut", {ranges: [...]}).
O que é cortado
- Falsos arranques — tudo antes da primeira frase real (testes de microfone, cumprimentos repetidos)
- Palavras de preenchimento — "Ah," "Hm," "Tipo" isolados com silêncio suficiente em ambos os lados
- Frases de transição — "E vamos ver," "OK então," "De qualquer forma" que preenchem entre os pontos narrativos
O agente nunca corta a meio de uma palavra, preenche cada extremidade de corte com 100–150ms a partir dos limites das palavras e prefere silêncios ≥ 400ms como alvos de corte.
Parte 2 — Geração Automática de B-Roll
Após os cortes, o agente mapeia a transcrição para beats e gera um visual animado para cada um usando Hyperframes (HTML + GSAP → MP4). Cada visual é colocado como layout de cena no ScreenKite com uma transição magicMove.
Estilos de layout
Corner PiP — a gravação de ecrã preenche o canvas, o B-Roll aparece como acento de canto (40–42% de largura). Ideal para tutoriais onde o conteúdo do ecrã é a história principal.
Centered B-roll — a gravação de ecrã minimiza para o canto superior esquerdo (~38%), o B-Roll reproduz centrado (~56% de largura). Ideal para introduções de produtos onde o visual deve ser proeminente.
# Corner PiP (predefinição) claude "add B-roll with corner layout" # Centrado claude "add B-roll — minimize the screen to top left, B-roll centered, medium density, cute visuals"
O que o agente faz
- Mapeamento de beats — mapeia frases da transcrição cortada para beats: nome do produto, funcionalidade chave, fluxo de trabalho, CTA
- Escolha de densidade — propõe Escasso (4), Médio (7) ou Denso (10); mostra um menu de slots; aguarda a sua escolha
- Geração paralela — envia um sub-agente por slot em simultâneo; cada um escreve uma composição Hyperframes completa de 1920×1080
- Renders em série — renderiza cada slot para MP4 em sequência (Chrome em paralelo corrompe frames)
- Aplicação do DSL — chama
setSceneLayoutpara cada janela temporal com o layout escolhido
O contrato visual
Cada visual gerado segue estas regras:
- Conteúdo de frame completo — o MP4 de 1920×1080 é o frame PiP; o conteúdo preenche-o de extremidade a extremidade (colocar um cartão pequeno dentro de um frame maioritariamente vazio enterra-o num canto de um canto)
- Entrada → manter → sem saída interna — os visuais animam a entrada (0–1.5s), estabilizam num manter legível e param.
magicMovetrata a saída. Os fade-outs internos produzem uma dupla saída quebrada. - Tipografia grande — texto de apresentação 160–220px, corpo 48–72px; a 40–56% de largura mantém-se legível no ecrã
Pacotes de densidade
| Pacote | Slots | Espaçamento | Sensação |
|---|---|---|---|
| Escasso | 4 | ~13s de intervalo | Limpo, documental |
| Médio | 7 | ~7s de intervalo | Equilibrado (predefinição) |
| Denso | 10 | ~5s de intervalo | Energia de explicação |
Prompt de exemplo
Recording is cut. Add B-roll: - Centered layout (screen top-left, B-roll center) - Medium density - Cute, warm visuals - All text in English
Iterar num slot
Slot 3 should show a Swift logo instead of the Apple emoji. Re-render slot 3 and re-apply.
O agente regenera apenas esse slot e volta a aplicar a sua janela DSL. Todo o resto permanece.
Juntar Tudo
# 1. Inicie o Claude Code na sua pasta de projeto claude # 2. Corte de transcrição "Open ~/Desktop/Recording.skbundle. Transcribe and plan cuts. ElevenLabs key at ~/.config/env/elevenlabs.env" # → reveja a lista de cortes → "yes" # 3. B-Roll "Add B-roll — centered layout, medium density, cute English visuals" # → reveja o menu de 7 slots → "Medium, looks good" # → o agente gera em paralelo, renderiza em série, aplica DSL (~3 min) # 4. Verificação pontual "Show me slot 4 at 18s" # → navegue no ScreenKite # 5. Ajustar se necessário "Slot 4 — change the node diagram to use mint green for all nodes"
Tempo de manuseamento total: menos de 5 minutos. Tempo de renderização: ~2–3 minutos para 7 slots.
Para mais fluxos de trabalho, prompts de exemplo e competências da comunidade: github.com/ScreenKite/awesome-ai-video-editing