Communitygithub.com

AutoPulse Captions

Genera y quema subtítulos virales de una línea con micro-chunks (2-3 palabras por línea, palabra activa resaltada con colores/estilos personalizables) en videos en inglés o indonesio, usando faster-whisper con selección automática GPU/CPU, un corrector Mini-ML autoaprendizaje, un editor web de palabras y FFmpeg para la quema. Usa esta habilidad cuando el usuario pida subtitular un video, agregar subtítulos estilo TikTok/Reels/Shorts, transcribir un clip con marcas de tiempo por palabra, corregir o revisar subtítulos, o encadenar c

¿Qué es AutoPulse Captions?

AutoPulse Captions es una habilidad para agentes de IA (como Claude Code, Cursor, Codex) que automatiza la generación y quema de subtítulos virales de una línea con micro-chunks en videos. Utiliza faster-whisper para la transcripción con marcas de tiempo por palabra, seleccionando automáticamente el modelo más adecuado según el hardware detectado (GPU/CPU). La habilidad incluye un corrector Mini-ML autoaprendizaje que mejora con cada edición del usuario, un editor web de palabras para revisiones, y FFmpeg para la quema final del subtítulo en el video. Soporta inglés e indonesio, y permite encadenar la generación de subtítulos después de otros procesos de creación de video. Su flujo de trabajo es: video → Whisper → corrección Mini-ML → micro-chunks .ass → editor opcional → quema FFmpeg.

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

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace AutoPulse Captions?

Pipeline: video → Whisper (marcas de tiempo de palabras) → Corrección Mini-ML (EN/ID) → micro-chunks .ass (resaltado de palabra activa) → editor de vista previa opcional → quema FFmpeg.

Localiza PROJECT_DIR (la carpeta que contiene generate_captions.py y gpu_check.py):

  1. Si generate_captions.py está en el mismo directorio que este SKILL.md, PROJECT_DIR es este directorio.
  2. Si este SKILL.md está dentro de .agents/skills/autopulse-captions/, PROJECT_DIR es la raíz del repositorio (../../..).
  3. De lo contrario, por defecto C:\Users\Evan\.gemini\antigravity\scratch\autopulse-captions.

Todos los comandos siguientes se ejecutan desde PROJECT_DIR. Ejecutable de Python (PY): PROJECT_DIR/.venv/Scripts/python.exe (Windows) o PROJECT_DIR/.venv/bin/python (macOS/Linux).

0. Configuración inicial (solo si falta .venv/ o hardware_profile.json)

  1. Verifica el hardware primero (no necesita instalación, no requiere red): python gpu_check.py — muestra qué modelo de Whisper es adecuado (ej. RTX 3060 → large-v3, GTX 1650 Ti 4 GB → large-v3-turbo, sin GPU → CPU large-v3-turbo/small).
  2. Crea el venv con Python 3.10–3.12 (3.13 máximo; 3.14 no tiene ruedas de CTranslate2): py -3.11 -m venv .venv (Windows) / python3.11 -m venv .venv.
  3. Instala las dependencias según el hardware (necesita red): PY install.py --download-model (añade --install-ffmpeg en Windows si falta FFmpeg). Instala las bibliotecas de runtime de CUDA 12 solo cuando se detecta una GPU NVIDIA, prueba la GPU, y escribe hardware_profile.json.
  4. Verifica: el instalador termina con SELESAI -> Whisper: <modelo> / <dispositivo> / <cómputo>.

1. Preguntar antes de ejecutar (OBLIGATORIO)

Antes de transcribir un nuevo video, SIEMPRE pregúntale primero al usuario (usando ask_question o texto sin formato si no se especifica en el prompt) — no adivines:

  • Idioma de los subtítulos:
    1. Inglés (--lang en)
    2. Bahasa Indonesia (--lang id)
    3. Audio en indonesio → subtítulos en inglés (--lang id --translate)
    4. Detección automática (--lang auto)
  • Solo si no está claro: si quemar los subtítulos en el video (--burn) o solo generar .ass.

Pasa siempre --lang explícitamente cuando el agente ejecute el script (el mensaje interactivo propio del script solo aparece en una terminal interactiva real).

2. Generar subtítulos

PY generate_captions.py "<video>" --lang en --burn --output-video "<out>.mp4"
  • Modelo/dispositivo/cómputo por defecto son auto (de gpu_check.py) con fallback automático (ej. large-v3 → large-v3-turbo → CPU) en caso de falta de memoria o errores de CUDA. No sobrescribas --model a menos que el usuario lo pida.
  • La orientación (retrato / paisaje / cuadrado) se detecta mediante ffprobe; el tamaño de fuente, márgenes y longitud de línea se adaptan automáticamente.
  • La primera ejecución de un modelo lo descarga de Hugging Face (necesita red).
  • Las salidas se colocan junto a la entrada: <nombre>.ass, <nombre>_raw_words.json, <nombre>_captioned.mp4; además de last_run.json y un preview_player.html actualizado.

Valida: código de salida 0, la línea de registro model dipakai: ..., y que el video de salida exista. Reporta al usuario el modelo utilizado y la lista de palabras sospechosas que el script imprime.

3. Revisar y corregir (cuando hay palabras sospechosas o el usuario quiere cambios)

  1. Abre PROJECT_DIR/preview_player.html en el navegador (--open-preview lo hace). El usuario edita palabras/marcas de tiempo, inserta palabras omitidas (➕ Kata), luego hace clic en 💾 Simpan words.json (descarga words_revised.json).
  2. Vuelve a renderizar desde el JSON revisado — esto también entrena a Mini-ML (learned_memory.json, perfiles separados en/id) comparando con la última salida de Whisper en bruto:
    PY generate_captions.py "<ruta>/words_revised.json" --burn --output-video "<out>.mp4"
    
    El video de origen se toma de last_run.json (sobrescribe con --video).

4. Encadenar después de la generación de video

Cuando otro paso produjo un video (ej. draft.mp4), pregunta el idioma, luego ejecuta el paso 2 en ese archivo con --output-video final.mp4.

Solución de problemas

SíntomaSolución
No module named faster_whisperUsa PY desde .venv, o ejecuta el paso 0
Todas las opciones de GPU fallan, cae a CPUActualiza el controlador NVIDIA, vuelve a ejecutar PY install.py
Lento en CPUEsperado (~1× tiempo real). Sugiere --model small para borradores
ffmpeg tidak ditemukanwinget install Gyan.FFmpeg / brew install ffmpeg / apt install ffmpeg
Palabras incorrectas / jerga / nombresUsa el editor (paso 3) para que Mini-ML aprenda; o --hotwords "Nombre1 Nombre2"
Mala calidad de traducción--translate nunca usa turbo (no entrenado para ello); necesita ≥ ~3.6 GB de VRAM libre para large-v3

Referencia completa de banderas: references/cli.md · Cómo funciona Mini-ML: references/mini-ml.md

Skills relacionados