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):
- Se
generate_captions.pyestiver no mesmo diretório que esteSKILL.md,PROJECT_DIRé este diretório. - Se este
SKILL.mdestiver dentro de.agents/skills/autopulse-captions/,PROJECT_DIRé a raiz do repositório (../../..). - 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)
- 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 → CPUlarge-v3-turbo/small). - 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. - Instale as dependências correspondentes ao hardware (precisa de rede):
PY install.py --download-model(adicione--install-ffmpegno Windows se o FFmpeg estiver faltando). Isso instala as bibliotecas de runtime CUDA 12 somente quando uma GPU NVIDIA é encontrada, testa a GPU e escrevehardware_profile.json. - 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:
- Inglês (
--lang en) - Indonésio (
--lang id) - Áudio indonésio → Legendas em inglês (
--lang id --translate) - Detecção automática (
--lang auto)
- Inglês (
- 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(degpu_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--modela 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 delast_run.jsone umpreview_player.htmlatualizado.
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)
- Abra
PROJECT_DIR/preview_player.htmlno navegador (--open-previewfaz isso). O usuário edita palavras/timestamps, insere palavras perdidas (➕ Kata), depois clica em 💾 Simpan words.json (baixawords_revised.json). - Renderize novamente a partir do JSON revisado — isso também treina o Mini-ML (
learned_memory.json, perfis separadosen/id) ao comparar com a última saída bruta do Whisper:O vídeo de origem é obtido dePY generate_captions.py "<caminho>/words_revised.json" --burn --output-video "<out>.mp4"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
| Sintoma | Correção |
|---|---|
No module named faster_whisper | Use PY do .venv, ou execute o passo 0 |
| Toda opção de GPU falha, cai para CPU | Atualize o driver NVIDIA, execute PY install.py novamente |
| Lento na CPU | Esperado (~1× tempo real). Sugira --model small para rascunhos |
ffmpeg tidak ditemukan | winget install Gyan.FFmpeg / brew install ffmpeg / apt install ffmpeg |
| Palavras erradas / gírias / nomes | Use 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