Communitygithub.com

AutoPulse Captions

Gera e insere legendas no estilo viral de uma linha por vez (2-3 palavras por linha, com a palavra ativa destacada em cores/estilos personalizáveis) em vídeos em inglês ou indonésio, usando faster-whisper com seleção automática de modelo GPU/CPU, um corretor de palavras Mini-ML autoaprendizável, um editor de palavras no navegador e queima com FFmpeg.

O que é AutoPulse Captions?

O AutoPulse Captions é uma skill para agentes de IA que transforma vídeos em conteúdo viral com legendas estilizadas no formato 'micro-chunk' (2-3 palavras por linha, palavra ativa destacada). Ela utiliza o `faster-whisper` para transcrição com timestamps por palavra, seguido por um corretor Mini-ML que aprende com correções manuais (separado para inglês e indonésio). A skill suporta detecção automática de hardware (GPU/CPU) e seleção de modelo Whisper, além de oferecer um editor visual no navegador para ajustar palavras e timestamps. O fluxo completo inclui: transcrição com `faster-whisper`, correção Mini-ML opcional, geração de legendas `.ass` com destaque na palavra ativa, e queima final no vídeo com FFmpeg. É ideal para criar legendas no estilo TikTok, Reels ou Shorts, com suporte a múltiplos idiomas (inglês, indonésio, auto-detect) e tradução automática (indonésio → inglês). A skill é compatível com Claude Code, Codex e outros agentes que executam comandos Python e FFmpeg.

Funciona com✓Claude Code~Codex CLI~Cursor✓Antigravity✓Gemini CLI
npx skills add https://github.com/RaphaelEvanW/autopulse-captions/tree/HEAD/.agents/skills/autopulse-captions

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que AutoPulse Captions faz?

Pipeline: vídeo → Whisper (timestamps por palavra) → Correção Mini-ML (EN/ID) → micro-chunk .ass (destaque da palavra ativa) → editor de pré-visualização opcional → queima FFmpeg.

Localize PROJECT_DIR (a pasta que contém generate_captions.py e gpu_check.py):

  1. Se generate_captions.py estiver no mesmo diretório que este SKILL.md, PROJECT_DIR é este diretório.
  2. Se este SKILL.md estiver dentro de .agents/skills/autopulse-captions/, PROJECT_DIR é a raiz do repositório (../../..).
  3. Caso contrário, o padrão é C:\Users\Evan\.gemini\antigravity\scratch\autopulse-captions.

Todos os comandos abaixo são executados a partir de PROJECT_DIR. Executável Python (PY): PROJECT_DIR/.venv/Scripts/python.exe (Windows) ou PROJECT_DIR/.venv/bin/python (macOS/Linux).

0. Configuração inicial (apenas se .venv/ ou hardware_profile.json estiver faltando)

  1. Verifique o hardware primeiro (sem instalação, sem rede): python gpu_check.py — mostra qual modelo Whisper se encaixa (ex.: RTX 3060 → large-v3, GTX 1650 Ti 4 GB → large-v3-turbo, sem GPU → CPU large-v3-turbo/small).
  2. Crie o venv com Python 3.10–3.12 (3.13 no máximo; 3.14 não tem wheels CTranslate2): py -3.11 -m venv .venv (Windows) / python3.11 -m venv .venv.
  3. Instale as dependências correspondentes ao hardware (precisa de rede): PY install.py --download-model (adicione --install-ffmpeg no Windows se o FFmpeg estiver faltando). Isso instala as bibliotecas de runtime CUDA 12 somente quando uma GPU NVIDIA é encontrada, testa a GPU e escreve hardware_profile.json.
  4. Verifique: o instalador termina com SELESAI -> Whisper: <modelo> / <dispositivo> / <computação>.

1. Pergunte antes de executar (OBRIGATÓRIO)

Antes de transcrever um novo vídeo, SEMPRE pergunte ao usuário primeiro (usando ask_question ou texto simples se não especificado no prompt) — não adivinhe:

  • Idioma da legenda:
    1. Inglês (--lang en)
    2. Indonésio (--lang id)
    3. Áudio indonésio → Legendas em inglês (--lang id --translate)
    4. Detecção automática (--lang auto)
  • Somente se não estiver claro: queimar no vídeo (--burn) ou gerar apenas .ass.

Sempre passe --lang explicitamente quando o agente executar o script (o prompt interativo do script só aparece em um terminal interativo real).

2. Gerar legendas

PY generate_captions.py "<video>" --lang en --burn --output-video "<out>.mp4"
  • Modelo/dispositivo/computação padrão para auto (de gpu_check.py) com fallback automático (ex.: large-v3 → large-v3-turbo → CPU) em caso de falta de memória ou erros CUDA. Não substitua --model a menos que o usuário peça.
  • A orientação (retrato / paisagem / quadrado) é detectada via ffprobe; o tamanho da fonte, margens e comprimento da linha se adaptam automaticamente.
  • A primeira execução de um modelo baixa o modelo do Hugging Face (precisa de rede).
  • Saídas ao lado da entrada: <nome>.ass, <nome>_raw_words.json, <nome>_captioned.mp4; além de last_run.json e um preview_player.html atualizado.

Valide: código de saída 0, a linha de log model dipakai: ... e o vídeo de saída existente. Relate ao usuário o modelo usado e a lista de palavras suspeitas que o script imprime.

3. Revisar & corrigir (quando há palavras suspeitas ou o usuário quer alterações)

  1. Abra PROJECT_DIR/preview_player.html no navegador (--open-preview faz isso). O usuário edita palavras/timestamps, insere palavras perdidas (➕ Kata), depois clica em 💾 Simpan words.json (baixa words_revised.json).
  2. Renderize novamente a partir do JSON revisado — isso também treina o Mini-ML (learned_memory.json, perfis separados en/id) ao comparar com a última saída bruta do Whisper:
    PY generate_captions.py "<caminho>/words_revised.json" --burn --output-video "<out>.mp4"
    
    O vídeo de origem é obtido de last_run.json (substitua com --video).

4. Encadeamento após geração de vídeo

Quando outra etapa produziu um vídeo (ex.: draft.mp4), pergunte a questão do idioma, depois execute o passo 2 nesse arquivo com --output-video final.mp4.

Solução de problemas

SintomaCorreção
No module named faster_whisperUse PY do .venv, ou execute o passo 0
Toda opção de GPU falha, cai para CPUAtualize o driver NVIDIA, execute PY install.py novamente
Lento na CPUEsperado (~1× tempo real). Sugira --model small para rascunhos
ffmpeg tidak ditemukanwinget install Gyan.FFmpeg / brew install ffmpeg / apt install ffmpeg
Palavras erradas / gírias / nomesUse o editor (passo 3) para que o Mini-ML aprenda; ou --hotwords "Nome1 Nome2"
Qualidade da tradução ruim--translate nunca usa turbo (não treinado para isso); precisa de ≥ ~3,6 GB de VRAM livre para large-v3

Referência completa de flags: references/cli.md · Como o Mini-ML funciona: references/mini-ml.md

Habilidades Relacionadas