Cómo hacer un video, de principio a fin
Un runbook: "¿qué hago después?", en orden, con la razón de cada regla para que puedas discutirla en lugar de obedecerla. El orden es el mismo para cada tema; el modo cambia.
0 · Elegir el modo
Decide antes que nada y regístralo como mode: en el STATUS.md del video. Cambia de dónde proviene la referencia y de qué está hecha la imagen.
Tutorial de pantalla tutorial | Explicación ilustrada illustrated | Híbrido hybrid | Explicador con movimiento motion | |
|---|---|---|---|---|
| Enseña | cómo usar una app o herramienta | un concepto: patología, fisiología, cualquier ciencia | un concepto, luego la herramienta que lo aplica | un evento noticioso, incidente o caso y sus lecciones |
| Paso 3 | captura de reconocimiento de la app | investigación de referencias: atlas, microfotografías, objetos reales | ambos, por segmento | una hoja de hechos con fuentes (cada número en pantalla citado) |
| Paso 9 | captura definitiva | ninguna | solo para los segmentos de app | ninguna |
| Imagen | capturas de app, construidas a partir de la referencia capturada | dibujos, a través de remotion-whiteboard | cada segmento en su propio tipo | tipografía, mapas, páginas de periódico, indicadores, a través de remotion-motion-explainer |
motion no reemplaza nada: cualquier cosa dibujada (un bolígrafo, una mano, dibujos trazo a trazo) sigue siendo illustrated y sigue pasando por remotion-whiteboard. La puerta 2 en motion es la aprobación del propietario de la vista previa en silencio con subtítulos temporales.
Elige según lo que el espectador deba ver, no por costumbre. Si ningún segmento necesita una interfaz real, es ilustrado. Sin modos, una línea base de patología fue enviada para capturar una app que nunca mostraba.
El orden, y por qué este orden
0 Elegir el modo tutorial, ilustrado o híbrido; y el estilo
1 Decidir la pieza enfoque, audiencia, una idea
2 Validar las afirmaciones antes de escribir una palabra
3 Referencia capturar la app, o investigar qué dibujar
4 Guion luego corregirlo
5 ── PUERTA 1 ── un humano lee el guion antes de gastar una toma
5a Storyboard ilustrado: una imagen por segmento, eventos en palabras clave
5b Fotogramas clave ── PUERTA 2 ── el propietario aprueba el aspecto, sobre imágenes fijas
6 Grabar la voz en off sarvam-tts.py: la voz clonada, una toma por segmento
7 Master al destino de entrega
8 Medir → cuadrícula → palabras las tomas deciden cada tiempo, hasta la palabra
9 Captura definitiva tutorial e híbrido: los flujos exactos que el guion solicita
10 Construir el kit (ilustrado) o las capturas de app (tutorial), sobre la cuadrícula
10b Sonido efectos de la imagen, una base musical, atenuada bajo la voz
11 QA visual examinar, un foco, relleno, huecos de eventos, una hoja de 2 s, una revisión sin sonido
12 Renderizar
13 Publicar metadatos, capítulos, subir, programar
Voz antes que imagen. La toma es el reloj: cada segmento, animación y corte se coloca a partir del audio medido, luego a partir del tiempo transcrito de cada palabra. Una estimación de recuento de palabras fue incorrecta en un 25% en un guion completo, y una mediana de 1,3 s de error por palabra. Consulta references/mistakes.md.
Capturar dos veces (tutorial, híbrido): reconocimiento antes del guion, para que prometa solo lo que la app hace; la grabación definitiva después, cuando se conoce el flujo.
Un foco a la vez. Un lugar dibujado o escrito a la vez, en orden de lectura: la nota, la imagen, su etiqueta, luego el puntero. El video debe enseñar con el sonido apagado: focus-check.py lo mide, un agente nuevo mirándolo sin sonido lo prueba (09-motion.md, 11-visual-qa.md).
Dos puertas humanas. Puerta 1, el guion: barato de cambiar, las tomas no. Puerta 2, el aspecto, en imágenes fijas clave antes de construir cada segmento: sin ella, v2 hizo texto sobre un fondo oscuro vacío.
Saber dónde estás primero: scripts/video-status.py en el STATUS.md del video (status-and-resuming.md); actualiza el archivo como última acción antes de parar.
No negociables
- Una afirmación obtiene una fuente primaria antes de obtener una oración. Las fuentes secundarias son incorrectas con suficiente frecuencia como para que esto no sea opcional.
- Las interfaces simuladas se construyen a partir de la referencia capturada, nunca de memoria (tutorial, híbrido). Tres reconstrucciones del compositor de una app fueron incorrectas hasta que se midió la real.
- El resultado inventado se etiqueta en pantalla (
Simulado — solo ilustrativo); los esquemas dicenImagen simplificada. - Nada privado aparece en ningún fotograma: ni en una demo, una barra lateral, una referencia de cuenta real o una etiqueta de diapositiva (12-pathology-visuals.md).
- Lee los campos de formulario escritos antes de creerlos. Los valores tipeados fallan en silencio.
- Nunca edites a mano un archivo de tiempos (
beats.json,lines.json). Se generan.
Habilidades que orquesta
| Habilidad o kit | Su función en un video |
|---|---|
| kit de esta habilidad | node <skill>/scripts/install-kit.mjs <project> --style paper-notes: componentes, estilo, fuentes, herramientas de QA y construcción. Instala primero el kit de remotion-whiteboard. |
remotion-whiteboard | Requerido para cualquier cosa dibujada o escrita a mano: trazos, texto escrito, el bolígrafo. |
motion-design | easing y coreografía para elementos que no están dibujados |
remotion-best-practices | Uso de la API de Remotion |
remotion-motion-explainer | Modo motion: su propia plantilla, componentes, scripts de voz/subtítulos/sonido y ejemplo práctico (fridge-hack) |
video-promo-kit | Paso 13 para cada modo: variantes de miniatura (elige el propietario), carruseles 1:1 + PDF de LinkedIn, descripción/capítulos/etiquetas de YouTube, copia para LinkedIn/Instagram/WhatsApp |
youtube-uploader | Paso 13: la subida en sí a través de la API de Datos (prueba en seco, luego --confirm con el sí del propietario), miniatura, subtítulos, lista de reproducción, programación |
Si remotion-whiteboard no está disponible, detente en el paso de construcción y dilo; nunca improvises un componente de dibujo. install-kit.mjs lo exige.
Dónde está el detalle: lee cada archivo en su etapa, no antes
| Archivo | Etapa |
|---|---|
references/01-plan-and-validate.md | 1–2 |
references/02-capture-reference.md | 3 y 9: captura, o investigación de referencia cuando es ilustrado |
references/03-script.md | 4–5, incluyendo las solicitudes del canal |
references/07-art-direction.md | 0 (el estilo) y 5a–10: el estilo de la casa, como datos |
references/08-storyboard.md | 5a–5b, Puerta 2 |
references/04-voice.md | 6–8 |
references/09-motion.md | 8 (tiempo de palabras) y 10: llegadas, eventos cada 2–4 s |
references/05-build.md | 10, tomas de tutorial, la mano de la pizarra y la biblioteca de dibujo (objects.tsx) |
references/10-sound.md | 10b |
references/11-visual-qa.md, references/rubric.md | 11 |
references/12-pathology-visuals.md | 3 y 10, para imágenes médicas |
references/13-longform.md | videos de más de 12 minutos, capítulos |
references/06-publish.md | 12–13: renderizado, ready-to-upload/ → youtube-uploader → _uploaded/ (y video-promo-kit para material promocional) |
references/14-lessons-2026-10.md | cualquier modo: números de voz medidos, verificación de toma con Whisper, señales de palabras, sonido activado por componente, reglas de QA de la construcción de fridge-hack (las lecciones de E01 están integradas en 04, 05, 06, 09, 11 y mistakes.md) |
references/status-and-resuming.md | reanudar un video, o registrar una decisión |
references/mistakes.md | cuando algo se comporta de manera extraña: léelo antes de depurar |
Scripts que vienen con ella: cada uno acepta --help y solo lee el proyecto que se le da
| Etapa | Scripts |
|---|---|
| estado | video-status.py (en qué paso está un video, según el modo) |
| 4–5a | check-script.py (trampas de TTS), check-storyboard.py (imagen por segmento, palabras clave, huecos) |
| 5b | draft-takes.py (una cuadrícula provisional antes de que existan las tomas, solo para fotogramas clave) |
| 6 | sarvam-tts.py (tomas con la voz clonada a través de la API; clave en SARVAM_API_KEY; --respell un mapa de series de formas habladas) |
| 7–8 | check-takes.py (Whisper cada toma contra el guion), master-audio.py, build-audio-grid.py, word-timestamps.py (tiempos exactos de palabras) |
| 10 | install-kit.mjs <project> (el kit, un estilo, fuentes, herramientas, el entorno virtual de Python), make-paper.py; en el kit, makeBeat/HL (beatspec.tsx) y la biblioteca de objetos (objects.tsx, prueba de imagen fija kit-objects) |
| 10b | sound-design.py |
| 11 | focus-check.py, frame-fill.py, event-gaps.py, gap-words.py (palabras dichas en cada espacio estático), contact-sheet.py; el tools/qa.mjs, tools/stills.mjs (puntos medios, finales, cada N s), tools/build-all.sh (se detiene antes de renderizar si es demasiado estático) |
| 13 | chapters.py (capítulos de YouTube desde la cuadrícula), captions-srt.py (subir subtítulos desde los tiempos de palabras) |
Plantillas: STATUS.md, STORYBOARD.md, MUTE-REVIEW.md en templates/. Estilos: styles/*.json.
Formatos
Corto: 1080×1920, entregado a 2160×3840 (build-all.sh --deliver-4k). 26–56 segundos, una idea; la primera línea y el primer fotograma lo deciden todo. 360 píxeles inferiores despejados para la interfaz de usuario.
Largo: 1920×1080 a 30 fps; de siete a doce minutos, o de 15 a 30 para una conferencia ilustrada construida en capítulos de 3 a 5 minutos (13-longform.md). Segundo idioma opcional como pista alternativa.
Qué está desactualizado
Los precios, nombres de modelos, límites de niveles y fechas legales en las referencias eran correctos en la fecha measuredOn indicada. Cualquier cosa marcada como VERIFICAR se vuelve a comprobar contra su fuente primaria antes de decirse en cámara. Nunca heredes un número de esta habilidad en un guion.