Communitygithub.com

Vertical Reels Video Studio (básico)

Receta básica y reutilizable para un video explicativo vertical (9:16) con narración, para Instagram Reels, Threads, TikTok o YouTube Shorts, creado con Remotion y locución opcional de ElevenLabs. Incluye investigación, un borrador de guion que el usuario aprueba, locución, escenas de texto cinético, exportación optimizada para Reels, control de calidad, subtítulos y opciones de portada. Úsalo cuando el usuario solicite un video vertical corto, un Reel o un Short sobre un tema.

¿Qué es Vertical Reels Video Studio (básico)?

Este skill proporciona un pipeline completo y paso a paso para crear videos verticales cortos (30–90 segundos) tipo Reel/Short. Está diseñado para desarrolladores que usan agentes de IA (como Claude Code o Cursor) y necesitan producir contenido de video atractivo y profesional de forma automatizada. El skill cubre desde la configuración inicial de marca del usuario (handles de redes sociales, marca de agua, llamado a la acción, voz de ElevenLabs) hasta la investigación del tema, redacción de guion, generación de locución, creación de escenas de texto cinético con Remotion, renderizado, exportación con normas técnicas estrictas (códec, bitrate, loudness), control de calidad automático y entrega de archivos finales (MP4, SRT, portadas, textos para redes). Soporta las plataformas Instagram Reels, Threads, TikTok y YouTube Shorts. Utiliza Remotion para la renderización de video programática y ElevenLabs (u otra voz grabada) para la locución. El flujo de trabajo es interactivo: el usuario debe aprobar el guion antes de generar audio o video, y se puede iterar sobre cualquier paso. El skill enfatiza la verificación de hechos contra fuentes primarias, la acreditación de fuentes, el uso de material con derechos y la no publicación automática del contenido generado.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ahmadaryanto/vertical-reels-video-studio/tree/HEAD/skills/vertical-reels-video-studio

Preguntar en tu IA favorita

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

Documentación

¿Qué hace Vertical Reels Video Studio (básico)?

Un pipeline simple y paso a paso para un video vertical de 30 a 90 segundos.

0. Primera ejecución: preguntar al usuario por SUS ajustes (nunca usar valores predeterminados)

Antes del primer video, si brand.config.json no existe, tiene "configured": false o aún contiene @yourhandle, pregunta al usuario (una pregunta a la vez) y guarda las respuestas en brand.config.json:

  1. Handles de redes sociales: Instagram, Threads, TikTok, X (los que use).
  2. Texto de la marca de agua (exactamente como debe aparecer, p. ej. @yourhandle o @ig / @x) y posición (bottom-center, bottom-left, top-left, top-right).
  3. Texto del CTA y el handle que menciona.
  4. Voz: su ID de voz de ElevenLabs + modelo + idioma, o "Grabaré mi propia voz". La clave API se solicita solo como secreto ELEVENLABS_API_KEY.
  5. Idioma y tono; cómo debe pronunciar la voz su nombre/handle.

Luego establece "configured": true. Nunca inventes un handle, nunca reutilices el de otra persona (incluido el autor de este kit) y nunca renderices una marca de agua que aún diga @yourhandle.

Los marcadores de posición a continuación se asignan a brand.config.json:

MarcadorClave de configuraciónSignificado
{{HANDLE}}handles.*El/los handle(s) del usuario
{{WATERMARK}}watermark.text, watermark.positionTexto y posición de la marca de agua, tal como los dio el usuario
{{LANGUAGE}}language, toneIdioma y tono de la locución y subtítulos
{{VOICE_ID}}voice.voiceIdLa voz elegida por el usuario
{{TTS_MODEL}}voice.modelModelo de ElevenLabs, p. ej. eleven_multilingual_v2
{{CTA}}cta.text, cta.handleEl llamado a la acción del usuario

La clave API siempre proviene de la variable de entorno ELEVENLABS_API_KEY. Nunca la imprimas, nunca la escribas en un archivo que se suba al repositorio.

El flujo

  1. Preguntar por los ajustes del usuario (primera ejecución) → 1. Tema → 2. Investigación y verificación de datos → 3. Borrador del guion → 4. Aprobación del usuario →
  2. Locución → 6. Temporización → 7. Construir escenas → 8. Renderizar → 9. Exportación optimizada para Reels →
  3. Control de calidad → 11. Portadas y subtítulos → 12. Entrega. Si el usuario solicita un cambio, retrocede al paso más temprano que afecte el cambio (una nueva línea de texto implica una nueva locución solo para esa línea).

1–2. Tema e investigación

  • Una historia por video. Escribe para principiantes.
  • Verifica cada número, fecha, nombre y cita contra una fuente primaria (página oficial, publicación del autor, captura de pantalla con fecha). Descarta cualquier cosa que no puedas verificar. Nunca inventes hechos.
  • Mantén un breve sources.md con los enlaces que utilizaste.

3–4. Borrador, luego espera

  • Ofrece 2–4 opciones de gancho para los primeros 2 segundos (una pregunta o un contraste sorprendente).
  • Escribe una tabla temporizada: tiempo | texto en pantalla | locución. Apunta a 45–65 s, nunca más de 90 s.
  • Detente y envía el borrador al usuario. No generes audio ni renderices hasta que lo apruebe.

5. Locución

  • Genera el guion aprobado con {{VOICE_ID}} (ver scripts/tts.py). Mantén dos textos: el texto mostrado (lo que muestran los subtítulos) y el texto TTS (deletreado para la voz, p. ej. A.I. para "IA", números escritos como palabras).
  • Escúchalo. Regenera solo las líneas que están mal. Nunca dejes la misma línea dos veces en el audio.
  • Si no tienes cuenta de ElevenLabs, graba tu propia voz. Funciona igual de bien.

6. Temporización

  • Obtén marcas de tiempo de palabras (alineación de ElevenLabs, o Whisper en el audio) y guarda timing.json: {duration, words:[{w,s,e}], scenes:[{id,start}]}.
  • Las animaciones comienzan en el fotograma donde se pronuncia su palabra: frame = Math.round(seconds * 30).

7. Construir escenas (Remotion, 1080 × 1920, 30 fps)

  • Fondo oscuro, un color de texto claro, un color de acento. Un título grande por latido.
  • Texto cinético: cada palabra del título aparece al pronunciarse (escala 0.6 → 1 con un pequeño rebasamiento).
  • Un elemento nuevo en pantalla cada 1.5–3 s. Mantén los números al menos 1.5 s para que la gente pueda leerlos.
  • El texto del gancho es visible desde el fotograma 0, para que el primer fotograma funcione como una imagen fija.
  • Zona segura: mantén el texto entre y = 200 y y = 1500. Coloca el texto {{WATERMARK}} pequeño en la posición elegida por el usuario (por defecto abajo: y ≈ 1430).
  • Usa capturas de pantalla reales y logotipos con crédito. Etiqueta los mock-ups como "ilustración".

8–9. Renderizar y exportar

npx remotion render src/index.ts <CompositionId> out/raw.mp4
bash scripts/reels-export.sh out/raw.mp4 out/final-reels.mp4

La exportación produce: 1080 × 1920, H.264 High ≤ 4.1, yuv420p (rango TV), BT.709, 30 fps constantes, 8–12 Mbps, AAC 48 kHz, +faststart, −14 LUFS / ≤ −1 dBTP. Mantén el video por debajo de 90 s.

10. Control de calidad (siempre, antes de entregar)

Ejecuta bash scripts/qa-check.sh out/final-reels.mp4 y revisa la salida de scripts/contact-sheet.sh. Verifica:

  • Audio: las palabras son claras, nada cortado, ninguna línea repetida, sonoridad ≈ −14 LUFS.
  • Video: sin texto cortado, nada fuera de la zona segura, ningún clip congelado, ningún primer o último segundo vacío.

Corrige y vuelve a renderizar antes de enviar cualquier cosa.

11–12. Portadas, subtítulos, entrega

  • 2–4 opciones de portada, 1080 × 1920 más una versión de cuadrícula 1080 × 1350. Un gancho grande, una imagen principal, como máximo 2–3 tarjetas numéricas pequeñas. Mantén el texto clave dentro del centro 1080 × 1080.
  • Subtítulos: Instagram (gancho, cuerpo, {{CTA}}, algunos hashtags), Threads (más corto, sin hashtags), TikTok.
  • Entrega el MP4 final, una vista previa pequeña (< 40 MB), portadas, subtítulos, un archivo .srt y la lista de fuentes.

Reglas

  • Nunca publiques, subas ni compres nada. Entrega los archivos al usuario.
  • Sin hechos inventados. Acredita cada fuente y cada autor de código abierto que muestres.
  • Usa solo música, clips y voces para los que tengas derecho de uso.

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Skills relacionados