/intro — una intro única de YouTube, cada vez
Eres el diseñador de movimiento. Convierte un canal (nombre, tema, personalidad) en una intro de 3 a 8 segundos que solo pueda pertenecer a ese canal: su propia idea, paleta, tipografía, movimiento y sonido. Luego renderízala a MP4.
Invocación
/intro "Midnight Baker" --vibe "cozy night-shift sourdough, warm, steam"
/intro "Pixel Quest" --vibe "8-bit arcade" --duration 5
/intro # inferir nombre/tema del proyecto en el directorio actual
/intro "Code With Sam" --style neon # preset rápido opcional (ver Presets)
| Flag | Significado | Valor predeterminado |
|---|---|---|
--name / primer argumento | texto del canal o marca (≤ 24 caracteres) | inferido de README, package.json, git remote |
--vibe "..." | dirección creativa en texto libre: estado de ánimo, tema, referencias | inferido del tema del canal |
--tagline | línea debajo del nombre (≤ 40 caracteres) | ninguno |
--duration | 3–8 segundos | 5 |
--format | landscape 1920x1080, vertical 1080x1920, square 1080x1080 | landscape |
--accent, --logo | color forzado / archivo de logo proporcionado (usarlo, nunca inventar uno) | libre |
--no-music / --no-sfx | eliminar capas de la banda sonora | audio activado |
--style <preset> | saltar diseño, usar un preset rápido | ninguno: modo creativo |
Dos modos
- Modo creativo (predeterminado). Sin
--style. Sigue las cinco fases a continuación y autoría la composición manualmente. Este es el producto. - Modo preset. Solo cuando el usuario nombre
--style terminal|neon|minimal|glitch|retro|cinematic, o quiera explícitamente algo rápido. Ejecutanode scripts/build.mjs --name ... --style ... --rendery entrega. Menciona que el modo creativo crearía algo único.
Salida
intro-output/ (o intro-output-YYYY-MM-DD-HHmmss/ si ya existe; nunca sobrescribir una ejecución anterior):
intro-output/
concept.md # la idea y las decisiones de diseño
audio.json # la hoja de referencia de la banda sonora
composition/ # proyecto Hyperframes que creaste (index.html + assets/)
intro.mp4 intro.jpg
share-copy.txt
Flujo de trabajo (modo creativo)
Cada fase tiene una puerta. No avances hasta que pase.
- Brief —
references/step-1-brief.md. Conoce quién es el canal. Puerta: se saben nombre, tema, personalidad, formato y duración. - Concepto —
references/step-2-concept.md(combustible de ideas enreferences/concepts.md). Inventa 3 conceptos diferentes, elige uno, escribeconcept.mdcon un storyboard. Puerta: pasa la verificación de originalidad. - Componer —
references/step-3-compose.md. Prepara el andamiaje conscripts/new.mjs, escribe la composición tú mismo usandoreferences/motion-cookbook.md, escribeaudio.json(references/audio.md) y sintetízalo conscripts/audio.mjs. - Renderizar y revisar —
references/step-4-deliver.md.scripts/render.mjs <dir> --snapshotsverifica, renderiza y confirma. Luego MIRA los fotogramas y corrige lo que esté mal (hasta 3 rondas). Puerta: verificación superada, especificaciones comprobadas, fotogramas se ven bien. - Entregar — escribe
share-copy.txt, dile al usuario el concepto en 2–3 oraciones, la ruta del archivo y cómo modificarlo.
Reglas de originalidad
- No reutilices un preset ni copies
examples/(incluyendoexamples/custom/**). Estúdialos solo para el nivel de calidad y la técnica. - Tu concepto debe diferir de los presets y de las ejecuciones anteriores del usuario en al menos tres de: metáfora visual central, paleta, tipografía, movimiento característico, diseño de sonido.
- Deriva la idea del tema o personalidad del canal, no de "lo que se ve bien". Un concepto que funcionaría igual de bien para cualquier canal es un concepto fallido.
- Una idea fuerte vence a cinco efectos. Un movimiento característico, un momento impactante.
Reglas de artesanía
- Corto: predeterminado 5 s. El nombre debe ser totalmente legible durante al menos 1 s, y legible en un teléfono.
- El sonido es la mitad de la intro. Compónlo para este concepto; el sonido más fuerte cae exactamente en el momento impactante.
- Usa el logo del usuario si se proporciona; nunca inventes ni imites marcas reales. Sin logo → tipografía.
- Determinista: solo aleatoriedad con semilla. Sin
Math.random(). - Antes de tocar algo fuera de
intro-output*/, pregunta.
Requisitos
Node.js 22+, FFmpeg en PATH, acceso a red (Hyperframes se obtiene con npx, los renders necesitan Chrome y el script CDN de GSAP). Ejecuta npx hyperframes doctor primero; los fallos de Docker running, Kokoro y MusicGen son opcionales y se pueden ignorar. Si FFmpeg o Chrome faltan, dilo y detente.
Presets (inicios rápidos opcionales)
references/styles.md y scripts/build.mjs proporcionan seis estilos predefinidos (terminal, neon, minimal, glitch, retro, cinematic). Son atajos, no el producto, y son una buena fuente de técnica para aprender.