PTENES
MÓDULO 2.8 Trayecto 2 · Recursos

🎬 Intro y outro

Aperturas que captan la atención y cierres que convierten: las 9 plantillas de esta categoría abarcan desde countdowns dramáticos hasta tarjetas de suscripción animadas para YouTube y redes sociales.

8
Temas
40
Minutos
Int
Nivel
9
Plantillas

Contenido detallado

1

🗺️ Descripción general — intros, outros y lower-thirds

Las intros y outros son los primeros y últimos frames que ve el espectador. Una introducción débil pierde visualizaciones en los primeros 5 segundos. Un final sin llamada a la acción pierde suscripciones y clics. Estas plantillas resuelven ambos aspectos.

INTRO contenido principal OUTRO cinematic-title countdown · chapter end-card · credits subscribe · quote lower-third flota sobre el contenido principal

🎯 Concepto central

Todas estas plantillas usan el mismo patrón: spring() para entradas con física natural + interpolate() para salidas suaves. La diferencia está en el qué anima — texto, subrayados, anillos, partículas.

Hook de entrada
Los primeros 5s determinan la retención
Lower-third
Overlay sobre el contenido durante el video
CTA final
Otro = conversión: suscríbete / haz clic
Título del capítulo
Divide el contenido largo en capítulos
2

🎞️ cinematic-title-intro — spring + subrayado

O cinematic-title-intro es la plantilla de apertura más usada: el título sube con física de resorte (spring()), una línea secundaria se expande de izquierda a derecha y el subtítulo aparece con un fade in con delay. Resultado cinematográfico con ~50 líneas de código.

Tres animaciones en secuencia cinematic-title-intro.tsx
const titleY = spring({
  frame, fps, from: 50, to: 0, durationInFrames: 40,
  config: { damping: 14, mass: 0.8 },
});

const underlineWidth = interpolate(
  frame, [20, 50], [0, 100],
  { extrapolateLeft: "clamp", extrapolateRight: "clamp" }
);

const subtitleOpacity = interpolate(
  frame, [40, 60], [0, 1],
  { extrapolateLeft: "clamp", extrapolateRight: "clamp" }
);

💡 Consejo práctico

Cambia el color de underline para el color de tu marca. Con una línea de cambio en el gradient tienes un intro completamente personalizado. Combínalo con fade-through-black antes para la entrada cinematográfica desde el negro.

spring translateY
El título sube con física natural
width interpolate
El subrayado se expande de 0→100%
delay mediante frame offset
El subtítulo comienza en el frame 40
damping 14
Damping bajo = rebote suave
3

⏱️ countdown-intro — ¡anillo 3-2-1-GO!

O countdown-intro usa un anillo SVG con strokeDasharray animado para mostrar el progreso de cada segundo, mientras el número del centro cambia de 3 → 2 → 1 → GO con spring de escala.

Anillo + número + GO countdown-intro.tsx
const circumference = 2 * Math.PI * 70;
const ringProgress = (frame % fps) / fps;
const dashOffset = circumference * ringProgress;

// GO! com spring de escala
const goScale = spring({
  frame: Math.max(0, frame - totalCountdownFrames),
  fps, config: { damping: 8, stiffness: 100 },
});

// SVG: anel gira -90deg (topo = início)
<svg style={{ transform: "rotate(-90deg)" }}>
  <circle stroke="#3b82f6"
    strokeDasharray={circumference}
    strokeDashoffset={dashOffset} />
</svg>

✓ Contextos ideales

  • •Streams en vivo (intervalo antes del inicio)
  • •Tutoriales técnicos con introducción enérgica
  • •Videos de deportes, juegos y desafíos cronometrados

✗ Evita en

  • •Contenido corporativo serio / formal
  • •Videos emocionales o narrativos
  • •Cuando el propio contenido ya tiene una introducción contundente
strokeDashoffset
Progreso del anillo por segundo
frame % fps
Reinicio cada segundo
rotate(-90deg)
Inicio en la parte superior del círculo
spring scale GO!
Bounce enérgico al final
4

📋 lower-third — barra de nombre/título

O lower-third es el overlay clásico de TV: aparece una barra en el tercio inferior del frame con el nombre y el cargo o la función. Es el estándar en periodismo y entrevistas; en YouTube aporta un toque de profesionalismo.

1

La barra se desliza desde la izquierda

Un elemento translateX(-100% → 0) con spring entra desde el límite izquierdo del frame.

2

El texto aparece con retraso

El nombre y el cargo hacen opacity fade in después de que la barra esté visible — evita que el texto aparezca antes que el contenedor.

3

La barra sale hacia la izquierda

Cerca del final de la composición, la barra recorre el camino inverso con interpolate suave.

💡 Consejo práctico

Usa lower-third con <Sequence from={fps * 3} durationInFrames={fps * 4}> para mostrar la barra solo en un tramo determinado del video. El useCurrentFrame() dentro de la Sequence empieza desde cero, sin cálculos de offset manuales.

position absolute
Overlay sobre el video principal
bottom: 15%
Tercio inferior de la pantalla
Sequence
Controla cuándo aparece y desaparece
semitransparente
fondo rgba para no cubrir el fondo
5

🔔 end-card + subscribe-reminder — conversión

O end-card muestra una tarjeta de call-to-action al final del video con botones para suscribirse. El subscribe-reminder es un overlay flotante que puede aparecer en cualquier momento; ambos son recursos de conversión para canales de YouTube.

subscribe-reminder como overlay subscribe-reminder.tsx
// Aparece no frame 90, fica 3s, some
const showAt = fps * 3;
const hideAt = fps * 6;

const opacity = interpolate(
  frame,
  [showAt, showAt + 10, hideAt - 10, hideAt],
  [0, 1, 1, 0],
  { extrapolateLeft: "clamp", extrapolateRight: "clamp" }
);

const translateY = spring({
  frame: Math.max(0, frame - showAt),
  fps, config: { damping: 12 },
  from: 60, to: 0,
});

✓ Buenas prácticas

  • •Mostrar subscribe-reminder a la mitad del video
  • •End-card de 20s de duración (estándar de YouTube)
  • •Mantén el cloche visual breve y directo

✗ Errores comunes

  • •Mostrar subscribe-reminder muy temprano (antes de 30s)
  • •End-card con más de 4 elementos: confunde
  • •Colores que entran en conflicto con el contenido de fondo
keyframes 4pts
Fade in → permanece → fade out
spring de entrada
Bounce desde la parte inferior
end-card 20s
Patrón de YouTube para pantallas finales
Contenedor de la secuencia
Controla el timing sin cálculos manuales
6

💬 quote-card + title-split — impacto visual

O quote-card muestra una cita con el autor destacado — ideal para videos de motivación, entrevistas y momentos destacados de clase. El title-split divide el título en dos bloques que se encuentran en el centro: un efecto dramático para las aperturas.

💡 title-split en la práctica

El truco de title-split es simple: dos spans, uno con translateX(-80 → 0) y otro con translateX(80 → 0), ambos animados con spring en el mismo frame. El encuentro en el centro crea una tensión visual que el espectador siente incluso sin notar el mecanismo.

title-split — dos lados se encuentran title-split.tsx
const progress = spring({ frame, fps,
  config: { damping: 18, stiffness: 90 }
});

// Metade esquerda vem da esquerda
const leftX = interpolate(progress, [0, 1], [-80, 0]);
// Metade direita vem da direita
const rightX = interpolate(progress, [0, 1], [80, 0]);
dos spans
Cada mitad se anima de forma independiente
overflow hidden
Oculta las mitades antes de que entren
quote-card
Cita + autor con fundido secuencial
damping 18
Más alto = encuentro más directo
7

📚 Biblioteca completa de Intro & Outro

Las 9 plantillas de esta categoría — referencia rápida:

chapter-title
templates/chapter-title.tsx
Número del capítulo con líneas decorativas
hook: interpolate width de las líneas
cinematic-title-intro
templates/cinematic-title-intro.tsx
Título spring + subrayado + subtítulo fade
hook: spring translateY + interpolate
countdown-intro
templates/countdown-intro.tsx
Anillo SVG 3-2-1-GO con spring de escala
hook: strokeDashoffset + spring scale
credits-roll
templates/credits-roll.tsx
Créditos que suben desde abajo
hook: translateY interpolate continuo
end-card
templates/end-card.tsx
Card de CTA para suscribirse al final
hook: spring scale + opacity fade in
lower-third
templates/lower-third.tsx
Barra de nombre y título en el tercio inferior
hook: spring translateX + retraso del texto
quote-card
templates/quote-card.tsx
Cita con autor — fundido secuencial
hook: interpolate opacity por elemento
subscribe-reminder
templates/subscribe-reminder.tsx
Overlay flotante — aparece y desaparece
hook: interpolate 4 keyframes
title-split
templates/title-split.tsx
Dos mitades de texto se encuentran
hook: spring ±80px → 0
9 plantillas
De la apertura al cierre
spring dominante
Física natural en todas las intros
overlay vs full
lower-third y subscribe son overlays
Timing de la secuencia
Usa Sequence para posicionarlo en el tiempo

📌 Resumen del módulo

✓
cinematic-title-intro — spring + subrayado + subtítulo, el patrón de apertura cinematográfica
✓
countdown-intro — strokeDashoffset animado para un anillo SVG 3-2-1-GO
✓
lower-third — overlay de TV/periodismo para nombre y cargo
✓
end-card + subscribe-reminder — herramientas de conversión para YouTube
✓
title-split — dos bloques se encuentran en el centro con spring

Próximo módulo:

2.9 — Logo y branding: 9 animaciones de logotipo para identidad visual