Premium Film
Crea vídeos en código que sigan las pautas de la marca, muestren solo hechos verificados y tengan un aspecto y sonido profesionalmente producidos. «El propietario» es la persona para la que haces la película, a menudo transmitiendo los comentarios de un cliente. Los ejemplos provienen de películas reales de clientes (case-studies.md).
El listón es «premium, pulido… perfecto a nivel de píxel». Lo que lo suspendió, en palabras del propietario: «esas píldoras se ven baratas», «bastante básico… simplemente siguiendo el guion», «transición muy rara», «demasiado rápido, no puedo leer», «cae de manera extraña», «la voz es muy joven», «las imágenes se ven muy falsas», «un silencio y luego un boom es demasiado».
Las reglas
- La información correcta por encima de todo. Cada hecho, nombre, título, número, fecha, cita, logotipo y pronunciación se verifica contra una fuente primaria antes de que aparezca en pantalla o en la narración, y se verifica nuevamente cuando algo cambia. Nunca inventes ni adivines; cuando falte una fuente, verifícala o pregunta. Los títulos oficiales se copian textualmente, los logotipos solo provienen de los archivos del propietario, las organizaciones reales obtienen sus fotos reales (cabezas enteras, sin halos, sin caras generadas). Las demostraciones de productos usan solo datos claramente ficticios (dominios que no resuelven, IPs de documentación, nombres inventados). Una afirmación incorrecta deshace todo lo demás en la película.
- Premium en cada componente. La tipografía, tarjetas, iconos, interfaz de usuario, gráficos, transiciones, luz, voz, música y sonido están diseñados para esta película con un estándar de alta gama —nada de stock, plantillas o «suficientemente bueno». Construye cada idea como una pieza de movimiento grande y diseñada a medida con espacio negativo; las capturas de pantalla y grabaciones de pantalla reales se leen como «baratas» incluso con una cámara moviéndose sobre ellas. Sin etiquetas de píldoras, chips numerados, etiquetas en mayúsculas rastreadas o metadatos unidos con puntos. Las imágenes generadas solo sirven como placas o activos y se verifican al 100%.
- Profundidad, luz, una cámara en movimiento — y fotogramas completos. Los diseños planos (texto a la izquierda, tarjeta a la derecha, fondo liso) se leen como «insulsos». Los momentos clave obtienen un set iluminado: un suelo que refleje, objetos girados en 3D, luz que viaje, polvo en el aire, una cámara que nunca se detenga por completo. Cada fotograma debería funcionar como un póster: capas de profundidad, una fuente de luz, el héroe llenando el fotograma (texto legible en un teléfono), nunca un elemento pequeño en un vacío oscuro. Los puntos clave del resumen son un mínimo, no el diseño.
- Cada transición es un movimiento real. Un movimiento de cámara, una luz o un elemento que viaje de una escena a la siguiente. Nunca un destello blanco plano, nunca un «pop»; los golpes obtienen unos pocos fotogramas de ataque.
- Ritmo legible y uniforme. Los titulares se mantienen ≥ 2 s, los resultados ≥ 3 s después de su línea; las listas revelan un elemento a la vez; la energía se mantiene uniforme a lo largo de los capítulos. Nunca aprietes el contenido para alcanzar una duración.
- La narración es sagrada. Nunca la estires temporalmente ni comprimas sus pausas: corta palabras y vuelve a grabar en su lugar. Respira entre líneas, un poco más en los giros de los capítulos. Cada capítulo comienza con una línea que se vincula con la anterior. Una voz y un modelo por idioma para toda la película y cada parche; deja que el propietario elija de oído.
- La música aterriza y lleva. La resolución cae exactamente en el clímax visual y la música continúa bajo la siguiente línea; nunca se vacía mientras la imagen alcanza su punto máximo, nunca cambia de pieza con un corte brusco, y se mantiene contenida al final.
- Verifica como un editor. No puedes ver ni oír la película, así que actúa en lugar de tus sentidos: hojas de contacto de cada escena en cada idioma, tiras de fotogramas a través de cada transición, fotogramas fijos a tamaño completo de cada momento de texto, el escaneo automático de fallos y audio, el volumen por línea, y una revisión de IA cuyas afirmaciones confirmas en los fotogramas antes de actuar. Un corte no verificado de esta manera no está terminado.
- Domina el bucle, informa con claridad. Decide valores predeterminados sensatos y di lo que decidiste; pregunta solo por lo que está realmente fuera de tu control (una foto faltante, una clave, dinero). Informa sin nombres de archivos o código: qué cambió, qué se verificó, qué no, dónde están los archivos, cuál enviar.
La guía de gusto completa, con la razón detrás de cada regla, está en quality-bar.md. Léela antes de diseñar.
Lo que estás haciendo
Elige primero el tipo de película; esto decide la forma (detalles y temporizaciones en case-studies.md):
| Tipo | Típico | Narración | Imágenes |
|---|---|---|---|
| Demostración de producto | 60–100 s, un corte por idioma | generalmente ninguna; líneas en pantalla, subtítulos opcionales | piezas de movimiento diseñadas a medida de las ideas clave del producto; solo datos ficticios |
| Película de marca / organización | 2–4 min, un idioma maestro + otros cortes | un narrador | fotos reales de la organización, personas y eventos + diseño de movimiento; cada afirmación verificada |
| Apertura de evento / conferencia | 1.5–3 min, guion del cliente | profunda y contundente | sets 3D cinematográficos, fotos reconstruidas en profundidad, nombres y logotipos oficiales, un clímax que aterriza el título del evento |
| Avance / promocional corto | 15–45 s | una línea corta por compás, o ninguna | una idea en tres compases: gancho, giro (el momento héroe), nombre |
La maquinaria es la misma para cada tipo: Remotion (React) renderiza la imagen a 1080p60; un archivo de línea de tiempo impulsa la imagen, la narración, la música y los subtítulos; Python en Docker hace la narración, la partitura, el sonido y la mezcla; las mediciones y una revisión de IA verifican el resultado; un script de lanzamiento renderiza en fragmentos y empaqueta el entregable.
Inicio: descubre lo que está disponible
Ejecuta tools/setup.sh en el nuevo proyecto. Termina con tools/providers.py, que verifica las claves en .env (nunca imprimiéndolas), pregunta a cada servicio lo que ofrece hoy y elige el mejor por trabajo: el Gemini Flash más nuevo para revisar imagen y sonido, voces para audicionar (ElevenLabs y Gemini TTS), y la GPT Image más nueva para placas. OpenRouter es preferido (una clave, muchos modelos, un límite de gasto visible); una clave gratuita de Gemini API por sí sola aún cubre la narración y la revisión; sin clave, la película aún obtiene tipografía diseñada, música compuesta, cada verificación y el lanzamiento. Si una clave faltante afectara la calidad, pregunta a la persona una vez — la redacción, las alternativas y las reglas de dinero están en providers.md. Confía en las selecciones actuales de la herramienta sobre cualquier nombre de modelo en estos documentos.
Flujo de trabajo
Trabaja a través de las fases en orden en una película nueva; en una revisión, salta a la fase que tocan los comentarios, luego vuelve a ejecutar la revisión y el lanzamiento. Copia esta lista de verificación en tus notas y márcala:
Film progress:
- [ ] 0 Setup: tools available, keys checked, budget agreed
- [ ] 1 Intake: brief quoted, brand files, deliverables agreed, machine checked
- [ ] 2 Facts: fact sheet with a source and status for every claim, avoid list
- [ ] 3 Script: languages set, narration in the timeline, every on-screen word in every language
- [ ] 4 Storyboard: one idea per chapter, hand-offs planned, one look sample shown
- [ ] 5 Build: scenes from cues, stills checked in every language
- [ ] 6 Narration: voice auditioned and locked, every line cut OK, cleaned, measured
- [ ] 7 Sound: score, effects, mix (voice ≥ 6 dB over music on every line)
- [ ] 8 Review: sheets, strips, scans, AI review; every finding fixed or explained; facts re-checked
- [ ] 9 Release: outputs verified, zip tested, delivered state committed, owner told where and what to send
1. Toma de requerimientos
- Lee todo lo que el propietario envió (resumen, guion, PDF de informe, capturas de pantalla del chat, películas anteriores). Cita sus palabras en
docs/brief.mdcon el registro de la ronda; anota la redacción obligatoria y los nombres oficiales. - Recopila la verdad de la marca desde la fuente: archivos de logotipos oficiales, paleta del CSS del sitio o del PDF de la marca, tipografías que cubran todos los idiomas de la película (acentos, diacríticos, otros alfabetos), nombres de productos y redacción de la interfaz de usuario en cada idioma.
- Acuerda los idiomas y los entregables por adelantado (maestros por idioma, cortes con subtítulos, .srt, miniaturas, el zip); si el propietario ya tiene un paquete de una ronda anterior, reflejalo exactamente.
- Verifica la máquina: disco libre, Docker en ejecución, otros renders o sesiones en la misma película (dos agentes en una película sobrescribieron el trabajo del otro; si encuentras uno, detente y pregunta quién es el propietario).
2. Investigación y hechos
- Lee las fuentes reales:
tools/webpage.sh <url> <name>renderiza una página en un navegador real y guarda su texto y una captura de pantalla; cuando un sitio esté caído, sigue la lista de alternativas en story-and-research.md (una copia de archivo, otras fuentes públicas, luego el propietario) en lugar de adivinar. - Ejecuta un subagente de investigación con el resumen en story-and-research.md: cada hecho obtiene fuentes fechadas y un estado (VERIFICADO / FUENTE-ÚNICA / AUTOINFORMADO / NO-VERIFICADO / DECLARADO-POR-EL-PROPIETARIO), más una lista de evitación. Películas de producto: lee el código y la redacción del producto real para que cada etiqueta, número y flujo en pantalla exista en el producto.
- Escribe
docs/factsheet.md. Nada va a la pantalla o a la narración a menos que esté ahí con un estado; las cifras autoinformadas se atribuyen.
3. Historia y guion
- Elige la estructura para el tipo de película, luego escribe la narración como una pieza hablada: líneas de enlace en cada giro de capítulo, listas integradas en oraciones, números escritos como se hablan. Escribe cada idioma de forma nativa, no como una traducción; nunca hagas que una voz diga nombres de un idioma que no habla — muestra el nombre, presenta a la persona por su rol.
- Coloca las líneas en
src/film/timeline.ts, las pausas de subtítulos marcadas con « | » (yonScreen: trueen una línea que la película muestra como tipo diseñado, para que su subtítulo se aparte), y cada palabra en pantalla ensrc/film/script.tspara cada idioma (su listaLANGSestablece los idiomas de la película; el primero es el maestro).
4. Aspecto y storyboard
- Una idea por capítulo, cada una con su propio concepto visual, un momento héroe, y una forma de entrada y salida que pase algo al vecino. Escríbelo en
docs/storyboard.md. - Decide dónde el 3D real, las fotos reconstruidas en profundidad o las placas generadas valen la pena (remotion-craft.md). Muestra un fotograma o clip representativo de cualquier cosa que cambie el aspecto antes de construir un conjunto completo del mismo.
5. Construcción
- Inicia el proyecto:
<skill>/scripts/new_film.sh <dir> <Film-Name>(el nombre se convierte en los nombres de los archivos entregados), luegotools/setup.sh. El inicio es una película funcional — línea de tiempo, reloj de escena, subtítulos, final, kit de vidrio y tipografía, desenfoque, espejo de suelo, polvo, luz, fotos de profundidad, tres escenas de ejemplo, el motor de audio y cada herramienta a continuación. Reemplaza las escenas de ejemplo; mantén la arquitectura. - Línea de tiempo primero: las escenas, los momentos de señal nombrados y las ranuras de narración viven en
src/film/timeline.ts; las escenas animan a partir de las señales (cuesOf(scene, lang));npm run cuespasa los mismos números al audio. Cambia la temporización solo allí. - Para una película larga, divide las escenas entre subagentes constructores paralelos con el patrón de resumen en remotion-craft.md; tú sigues siendo el director y verificas cada informe en los fotogramas.
6. Narración
Método completo en narration.md. Escribe el perfil del narrador y las notas del director; vuelve a escribir lo que la voz hace mal en audio/vo/say.json; audiciona voces de lo que tools/providers.py encontró y deja que el propietario elija; graba cada lote en una solicitud (tools/vo_prompt.py → tools/tts.py), corta y verifica cada línea (tools/cut_lines.py), límpialas y nivelalas, y mide que los parches aún suenen como el mismo narrador (tools/voice_score.py). Bloquea la voz, modelo y aviso exactos en el README.
7. Música, sonido, mezcla
Método completo en music-and-sound.md. Por defecto, compón una partitura sin licencia en código que cambie en los momentos de señal de la imagen; corta una pista con licencia solo en su cuadrícula de compás cuando el propietario proporcione una. El diseño de sonido golpea señales nombradas. La mezcla atenúa la música por línea, masteriza a −14 LUFS con margen para la codificación AAC, e imprime una tabla de voz vs música.
8. Revisión (cada ronda, antes de mostrar algo)
Lista de verificación completa en review-and-qa.md: vistas previas y hojas de contacto en cada idioma, tiras a través de cada transición, fotogramas fijos a tamaño completo de cada momento de texto y subtítulos, tools/qa_scan.py en cada render, tools/audio_qa.py en cada mezcla y archivo entregado, y tools/review.py (el Gemini Flash más nuevo viendo y escuchando una pequeña copia de toda la película). Actúa solo en banderas concretas que puedas confirmar; sus preferencias A/B, juicios de identidad de voz y texto pequeño no son fiables. Vuelve a verificar cada hecho en pantalla contra la hoja de hechos.
9. Lanzamiento y entrega
tools/release.sh (release-and-delivery.md) construye todo: verificación de narración, partitura y mezcla por idioma, subtítulos, miniaturas, maestros y cortes con subtítulos renderizados en fragmentos, unidos, verificados de pico, contados de fotogramas, comprimidos en zip. REDO=” vuelve a renderizar solo los fragmentos tocados; LANGS=, VOICE=” para subconjuntos y versiones de voz; ZIP_ONLY=1 reempaqueta. Verifica las salidas, confirma el estado entregado, actualiza el README, y dile al propietario exactamente dónde está el paquete y que es seguro enviarlo.
10. Rondas de comentarios
working-with-owner.md: trata las capturas de pantalla del chat y los mensajes a mitad de tarea como el resumen de la ronda; verifica primero las nuevas afirmaciones; corrige el patrón en toda la película, no solo en el fotograma mostrado; conserva lo que el propietario no criticó; vuelve a ejecutar la revisión y el lanzamiento; responde punto por punto. Guarda cada preferencia duradera donde la próxima sesión la encontrará.
Herramientas en el proyecto de inicio
Ejecútalas; lee su código solo si una falla (las primeras líneas de cada herramienta dicen lo que hace y cómo llamarla). Las herramientas de Python se ejecutan en imágenes Docker construidas por tools/setup.sh (film-audio y film-asr; setup.sh all añade film-voice y film-depth): docker run --rm -v "$PWD":/p -w /p <image> python <tool> …. Las herramientas de Node, zsh y Swift se ejecutan en el anfitrión.
| Necesidad | Herramienta (desde la raíz del proyecto) | Se ejecuta en |
|---|---|---|
| configurar, verificar claves y modelos | tools/setup.sh [all], tools/providers.py | anfitrión / film-audio |
| leer un sitio web (texto + captura de pantalla) | tools/webpage.sh <url> <name>, tools/webpage.sh archive:<domain>:<cmd> | anfitrión |