Communitygithub.com

Seagey/edit-reel

Edita vídeos de teléfono para convertirlos en reels verticales terminados (1080x1920 MP4). Recorta silencios y pausas largas según el audio, corrige la cámara frontal reflejada, limpia la voz para que suene como estudio, aplica una corrección de color suave, incrusta subtítulos legibles dentro de las zonas seguras de la pantalla y ajusta el volumen a unos -14 LUFS. Úsalo cuando la persona diga ‘edita mi último video’, ‘edita este reel’, ‘trae mis videos más recientes de iCloud y edítalos’, ‘pon los subtítulos en amarillo’, ‘menos color’, ‘córtalo más ajustado’ o pida cambiar cualquier configuración del reel.

¿Qué es edit-reel?

Esta habilidad del agente permite editar automáticamente vídeos grabados con teléfono móvil para convertirlos en reels verticales listos para redes sociales (1080x1920 MP4), optimizados para plataformas como Instagram y TikTok. El proceso incluye recorte inteligente eliminando silencios y pausas largas basándose en el audio, corrección del efecto espejo en la cámara frontal, mejora de la voz para que suene como estudio (reducción de ruido, ecualización, compresor y limitador), ajuste del volumen a -14 LUFS, corrección de color suave y generación de subtítulos legibles dentro de las zonas seguras de la pantalla. Funciona en una Mac del usuario sin necesidad de servicios de pago ni subir el vídeo a internet. El usuario puede cambiar fácilmente la configuración mediante comandos en lenguaje natural, como 'subtítulos más grandes' o 'menos color', y el agente realiza los cambios en el archivo de configuración y vuelve a procesar el vídeo. La habilidad se integra con iCloud para obtener vídeos recientes y maneja casos de error comunes, como falta de fuente de subtítulos o clip sin voz.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Seagey/reel-editor/tree/HEAD/.claude/skills/edit-reel

Preguntar en tu IA favorita

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

Documentación

Editar un reel

Todo se ejecuta en la propia Mac de la persona. Sin servicios de pago. El único script que hace el trabajo es scripts/edit.sh en la raíz del repositorio, que llama a scripts/edit_reel.py junto a este archivo.

La persona no es técnica. Habla en español neutro, frases cortas, sin jerga. Di lo que vas a hacer antes de hacerlo, luego di lo que pasó. Nunca uses guiones largos o cortos.

Contenido

  • Ruta rápida
  • Obtener el vídeo
  • Lo que hace una edición
  • Ajustes que la persona puede pedir cambiar
  • Antes de entregarlo: las comprobaciones
  • Leer el resultado de vuelta a la persona
  • Cosas que salen mal
  • Reglas estrictas

Ruta rápida

  1. Comprueba que la configuración esté hecha: scripts/setup.sh --check. Si dice NOT READY, sigue CLAUDE.md (el onboarding), no improvises instalaciones.
  2. Obtén el vídeo (ver abajo), luego ejecuta:
    • un archivo con nombre: scripts/edit.sh "<ruta al video>"
    • los N más recientes en la carpeta Inbox: scripts/edit.sh --latest 3
  3. Ejecuta las comprobaciones de abajo, mira las imágenes, lee los subtítulos, luego informa.

Un clip de 30 a 60 segundos tarda entre uno y dos minutos en una Mac con chip Apple, más en una más antigua.

Obtener el vídeo

En este orden, deteniéndote en el primero que funcione:

  1. Un archivo que nombren o arrastren. Úsalo donde está. Nunca muevas ni elimines su original.
  2. La carpeta Inbox. Cualquier cosa que hayan enviado por AirDrop o dejado en Inbox/ (en la carpeta del repositorio).
  3. Fotos de iCloud. Solo si iCloud está configurado (docs/ICLOUD.md). Su correo electrónico de Apple ID está en config.json bajo icloud_apple_id. Ejecuta scripts/icloud-fetch.sh <apple id> 30.
    • Imprime ICLOUD_FETCH_OK cuando funciona. Los vídeos más recientes llegan a Inbox/.
    • Imprime ICLOUD_FETCH_FAILED cuando la sesión ha caducado (dura aproximadamente dos meses) o nunca se realizó. No intentes arreglarlo tú mismo: diles y guíalos a través de docs/ICLOUD.md paso "Iniciar sesión de nuevo". Ellos escriben la contraseña y el código de 6 dígitos en su propia Terminal, nunca en el chat.
    • "Más reciente" significa el filmado más recientemente. Los vídeos recién filmados pueden tardar unos minutos en llegar a iCloud, así que si el que mencionan falta, diles y ofrécete a intentarlo de nuevo en un minuto.
    • Antes de editar, lista los vídeos más recientes con sus duraciones (ffprobe la duración) y confirma cuál quieren decir si hay alguna duda.
  4. Nada funciona. Ofrece la alternativa: enviar el vídeo por AirDrop a su Mac, o arrastrarlo a la carpeta Inbox.

Lo que hace una edición

En orden:

  1. Cortes, por sonido. Encuentra dónde empieza y termina realmente la voz según el volumen del audio, no por los tiempos de los subtítulos (los tiempos de conversión de voz a texto al inicio de un clip pueden estar dentro del silencio y ocultar el aire muerto). Recorta el silencio al inicio y al final, y acorta las pausas largas. Los cortes se colocan en el momento más silencioso cercano y cada unión tiene un fundido de 15 ms, así que ninguna palabra se corta. Las oraciones se mantienen completas; no se elimina nada que no sea aire muerto.
  2. Comprobación de espejo. Los clips de la cámara frontal a menudo están reflejados. Lee cualquier texto en el encuadre (señales, pantallas, camisetas) normal e invertido con OCR y voltea el vídeo solo si las palabras reales se leen correctamente al voltearlas. Nunca se juzga a ojo. Si no hay texto legible, deja el vídeo como está y lo dice en el informe.
  3. Recortar a 9:16 y escalar a 1080x1920 (los clips apaisados se recortan al centro).
  4. Color. Mide unos cuantos fotogramas y aplica una corrección pequeña de exposición, contraste y saturación, limitada para que nunca pueda verse exagerada, con una hoja de antes/después. Los clips HDR de iPhone se convierten primero a color estándar.
  5. Sonido de estudio. Eliminación de ruido, ecualización de la voz, de-esser, compresor, limitador, luego volumen a -14 LUFS. Esto se ajustó mediante medición. Los oídos deciden: si suena áspero, fino o demasiado procesado, baja audio.strength a light.
  6. Subtítulos. Transcribe el sonido limpio, luego dibuja los subtítulos con Pillow. Dentro de las zonas seguras del teléfono (x 90 a 960, y 250 a 1520 en un fotograma de 1080x1920) para que los botones y el texto propio de la aplicación no los cubran. La palabra activa cambia de color. El contorno se mantiene oscuro. Sin cajas de color detrás de las palabras, porque se ven borrosas sobre un rostro.
  7. Salidas. Edited/<nombre>-edited.mp4 y, en Edited/checks/<nombre>/: contact-sheet.jpg, colour-before-after.jpg, caption-frame.png, captions-words.txt, report.json.

Ajustes que la persona puede pedir cambiar

Todos en config.json en la raíz del repositorio (creado a partir de config.default.json, que nunca se edita). La persona nunca toca el archivo. Lo dice en palabras simples y tú lo cambias, ejecutas la edición de nuevo, y se lo muestras. Tabla completa de palabra a ajuste: docs/STYLE.md.

Ejemplos:

  • "Pon los subtítulos en amarillo" establece captions.highlight_color (la palabra activa) o captions.color (todas las palabras). Pregunta cuál si no está claro.
  • "Subtítulos más grandes" sube captions.size unos 12 (por defecto 78). Mantén el resultado dentro de la zona segura: el script informa inside_safe_zone.
  • "Sube los subtítulos" establece captions.position a middle o upper.
  • "Una palabra a la vez" establece captions.style a word. "Líneas" lo vuelve a line.
  • "Sin subtítulos" establece captions.enabled a false.
  • "Menos color" baja grade.strength en 0.2. "Sin corrección de color" establece grade.enabled false.
  • "Córtalo más ajustado" establece cuts.tightness a tight. "Déjale más espacio": gentle.
  • "Suena demasiado procesado": audio.strength a light.
  • "Más cerca de mi cara": framing.zoom 1.15 (máximo razonable 1.4).
  • Nombre mal escrito en los subtítulos: agrégalo a vocabulary (ayuda al reconocedor a acertarlo) y, si aún sale mal, a replacements como {"oído": "Ortografía Correcta"}.

Después de un cambio, vuelve a ejecutar la edición sobre el mismo vídeo y muestra el nuevo resultado. Usa los archivos de Edited/; volver a ejecutar reemplaza la edición anterior del mismo nombre.

Antes de entregarlo: las comprobaciones

El script imprime un resumen y escribe report.json. Aún así tienes que mirar.

  1. Números. loudness_ok, start_ok, end_ok deben ser todos true. El silencio al inicio debe ser de 0.45 s o menos y al final de 0.75 s o menos. Si no, dilo y vuelve a ejecutar con --tightness tight.
  2. Mira las imágenes con la herramienta Leer: contact-sheet.jpg (¿está la cara en el encuadre, se ve la imagen natural, están los subtítulos dentro de la pantalla), colour-before-after.jpg (izquierda es el original, derecha es la corrección: piel natural, no naranja ni gris, los blancos no recortados, los negros no aplastados) y caption-frame.png (lee cada palabra a tamaño completo, ¿puedes leer cada una contra el fondo?).
  3. Lee los subtítulos. Abre captions-words.txt. El reconocimiento de voz malinterpreta nombres y palabras locales (por ejemplo, un nombre de marca). Corrige con vocabulary y replacements, luego vuelve a ejecutar. Revisa caption_vs_sound_match en el informe: por debajo de 0.9 significa que algo está mal, investiga.
  4. Espejo. Mira report.json mirror. Si decision es unknown y hay texto en el encuadre (una señal, una pantalla), mira un fotograma y comprueba si el texto se lee correctamente. Si está al revés, establece framing.mirror_fix a always y vuelve a ejecutar.
  5. Aire muerto por sonido. El script ejecuta silencedetect en la mezcla final. No confíes en los tiempos de los subtítulos para esto.

No puedes escuchar. Dilo honestamente: el sonido se ajustó y midió, pero sus oídos deciden.

Leer el resultado de vuelta a la persona

Corto, sencillo, en esta forma:

  • Dónde está el archivo y cómo abrirlo (Finder, carpeta Edited dentro de la carpeta del editor de reels).
  • Qué se cortó ("quitó 1.1 segundos de silencio al inicio, acortó dos pausas largas, de 36 segundos a 33").
  • Si la imagen se volteó y por qué.
  • Cómo mide ahora el sonido ("alrededor de -14, el nivel habitual para Instagram y TikTok").
  • Subtítulos: fuente, colores, cualquier palabra que hayas cambiado.
  • Cualquier cosa que no hayas podido arreglar y qué pueden decir para cambiarlo.

Luego pregúntales qué quieren cambiar y ofrece una o dos ideas de la lista de ajustes de arriba.

Cosas que salen mal

  • "No se encontró voz": el clip es silencio o solo música. Diles.
  • Subtítulos en el lugar incorrecto o cortados: revisa inside_safe_zone en el informe; baja size.
  • Fuente no encontrada: el script usa Arial Black como alternativa e imprime una nota. Ofrece una de las fuentes integradas (docs/STYLE.md), o descarga una fuente gratuita (un .ttf de fonts.google.com) en ~/.reel-editor/fonts/ y establece captions.font al nombre del archivo sin .ttf.
  • Falta una herramienta de configuración: ejecuta scripts/setup.sh. Si falta Homebrew, sigue CLAUDE.md.
  • La edición tarda mucho: los clips 4K de más de 3 minutos pesan. Dilo y déjalo correr.

Reglas estrictas

  • Nunca elimines ni cambies el vídeo original de la persona.
  • Nunca pidas ni aceptes una contraseña o código de 6 dígitos en el chat.
  • Sin servicios de pago y sin subir su vídeo a ningún lado. Todo se queda en esta Mac, excepto la descarga de iCloud.
  • Sin mensajes de desplazamiento ni superposiciones de "sígueme" a menos que la persona los pida.
  • No añadas nada que la persona no haya dicho: los subtítulos muestran solo lo que se habló.

Skills relacionados