Motion Graphics Video · Video de gráficos en movimiento de nivel de portafolio
Trata "un video" como una obra de diseño en movimiento, como un portafolio en tu currículum, utilizando cualquier herramienta o tecnología que consideres que produzca los mejores resultados. El agente tiene total libertad creativa, priorizando un diseño visual excepcional, dirección artística audaz, composiciones llamativas y un movimiento dinámico poderoso, haciendo que cada segundo tenga valor. Da todo de ti. Esta habilidad se destila del proceso completo de producción de un documental de 201 segundos (verificación de hechos → captura de evidencia → aprendizaje de animación → sistema visual → línea de tiempo basada en datos → narración → renderizado por fragmentos → mezcla de cuatro pistas → verización ítem por ítem).
0. Antes de comenzar: las tres cosas que debes preguntar al usuario (no se puede omitir)
Usa AskUserQuestion (o una pregunta equivalente) para recopilar todo de una vez. Sin ninguno de estos elementos, no se comienza:
- Necesidad / Tema — ¿De qué trata el video? ¿Público objetivo y escenario de publicación? ¿Hay hechos, productos, personas o colores de marca que deban aparecer?
También proporciona opciones de duración:
15 / 30 / 60 / Personalizadosegundos (por defecto 60). La duración es un presupuesto, no un valor fijo: finalmente se define por la densidad del contenido y la duración de la narración. - Modelo principal — El modelo responsable de la planificación, redacción, código y orquestación. Se recomienda la serie Qwen (como Qwen4-Max / Qwen3.8-Plus): contexto largo adecuado para la línea de tiempo de todo el video y proyectos de múltiples archivos, calidad estable en redacción en chino y verificación de hechos. El usuario puede especificar otro modelo, respeta su elección.
- Modelo TTS — El modelo responsable de la narración.
Se recomienda encarecidamente la serie Qwen TTS (como
qwen-audio-3.0-tts-plus): admite instrucciones de timbre y tono, tono natural para documentales. Debes confirmar: timbre, instrucción de tono, idioma.
También debes confirmar (se pueden dar valores por defecto): preferencia de estilo visual, resolución / velocidad de fotogramas (por defecto 1920×1080@30), si se necesita música de fondo (por defecto sí), si se necesitan efectos de sonido (por defecto no — los efectos de sonido sintéticos pueden sonar baratos, a menos que el usuario lo solicite explícitamente), archivos de referencia, imágenes o direcciones web proporcionadas por el usuario.
Disciplina de claves: Cualquier clave de API solo se escribe en el archivo .env del proyecto y se añade a .gitignore; no se escribe en documentos, memoria, registros, ni se muestra en el diálogo.
1. Prompt principal (versión optimizada · los espacios se rellenan según la entrada del usuario)
Entrega el siguiente prompt como guía creativa al agente ejecutor; los {{…}} son espacios que se rellenan con los resultados recopilados en la sección 0:
Crea un video de gráficos en movimiento de {{DURATION}} segundos, demostrando tu nivel como diseñador de movimiento como si fuera un portafolio para tu currículum.
Tema: {{THEME}}.
Tienes total libertad creativa, utiliza cualquier herramienta o tecnología que produzca los mejores resultados; prioriza un diseño visual excepcional, dirección artística audaz,
composiciones llamativas y un movimiento dinámico poderoso, haciendo que cada segundo tenga valor. Da todo de ti.
La planificación y el código están a cargo de {{MAIN_MODEL}}; la narración es sintetizada por {{TTS_MODEL}} (timbre {{VOICE}}, tono {{TTS_INSTRUCTION}}).
Estilo visual: {{STYLE}}; formato {{RESOLUTION}}@{{FPS}}fps; música {{MUSIC}}; efectos de sonido {{SFX}}.
Si se necesitan UI, símbolos, materiales reales, metraje de video o música de fondo, búscalos, descárgalos y úsalos por tu cuenta en línea;
debe revisar uno por uno y hacer referencia a los archivos, imágenes y direcciones web proporcionados por el usuario: {{REFERENCES}}.
Primero navega por los casos de animación en https://snapcn.dev/docs/components, aprende de las fortalezas de otros antes de comenzar; los componentes de membresía solo se estudian para ideas, no se evitan pagos ni verificaciones.
Requisitos del proceso (no negociables):
1 Hechos: Cada número/fecha/cita en pantalla debe tener una URL de origen y un punto de tiempo estadístico; los eventos del último año deben tener al menos dos fuentes independientes; el lenguaje no debe ser más contundente que la evidencia.
2 Evidencia: Capturas de pantalla reales/grabaciones de pantalla/páginas de artículos presentadas a pantalla completa o en ventanas flotantes de vidrio; al capturar, registra los anclajes DOM; los acercamientos y subrayados siempre deben coincidir con el texto;
las tomas históricas priorizan las instantáneas de Wayback; las ventanas emergentes se ocultan durante la fase de captura; no se evitan las protecciones anti-scraping ni las verificaciones de humano.
3 Tomas: Tres niveles de plano (WIDE/MID/MACRO), cada toma con move→settle (≥18 fotogramas, solo 0.5% de deriva de respiración)→exit;
la entrada utiliza curvas Bezier suaves con aceleración, prohibido el movimiento lineal de cámara; el zoom máximo es 1.8×, asegurando que el contenido enfocado esté completamente dentro de la zona segura.
4 Coherencia: Sigue la ley de continuidad de Gestalt: ningún elemento debe aparecer/desaparecer bruscamente, todas las entradas y salidas deben tener animación; el vocabulario de transiciones es fijo y cada una tiene un significado.
5 Tipografía: Zona segura ≥96px; máximo 2 capas de texto en pantalla (subtítulos + un título o un número); los subtítulos tienen una posición fija, se colorean palabra por palabra y no participan en otras animaciones;
el texto en pantalla no repite la narración, solo proporciona fechas/modelos/valores/fuentes; el texto en pantalla no tiene puntuación al final.
6 Material: Tarjetas/ventanas flotantes/paneles unificados con vidrio líquido (frost≈18px, rim≈0.22, bend≈0.45, dispersion≈0.35);
paleta de colores extraída del tema (7–8 colores), los colores de acento solo se usan como marcadores; se conservan el granulado y el viñeteado; el desenfoque de movimiento y la aberración cromática solo se activan en movimientos rápidos.
7 Ritmo: Los cortes duros se adsorben al ritmo de la música (±3 fotogramas); después de que una tarjeta de problema/título termine de escribirse, debe permanecer ≥1.5s; el contenido de listas y muros permanece ≥3s;
la duración está determinada por el contenido, no se hacen cortes rápidos para llenar el tiempo, ni se reduce la duración eliminando pausas.
8 Sonido: Narración −16 LUFS; la música de fondo se atenúa 6–9 dB durante la narración (attack≈150ms/release≈400ms); se pueden usar filtros de paso bajo o silencio para crear respiración emocional en los capítulos;
por defecto no se añaden efectos de sonido; el pico verdadero del bus maestro ≤ −1 dBTP.
9 Ingeniería: La línea de tiempo se genera mediante un script a partir de la duración de la narración; las escenas solo leen fotogramas relativos; los límites del renderizado por fragmentos caen en los puntos de corte de las tomas; si el renderizado falla, se reduce la concurrencia y se reintenta automáticamente.
10 Entrega: Solo se entrega un archivo de video + un guión completo (storyboard/narración/texto en pantalla/material/animación/fuentes); los productos intermedios se mueven a la papelera de reciclaje en lugar de eliminarse.
Verificación (medir el archivo entregado, autoinspeccionar ítem por ítem): número de fotogramas = línea de tiempo; resolución/velocidad de fotogramas; I≈−16 LUFS y TP≤−1 dBTP; blackdetect sin negro inesperado;
sin inactividad continua >1.5s; las uniones de fragmentos sin fotogramas duplicados/perdidos; ≥70% de cortes duros en el ritmo; inspección visual del punto medio de settle de cada toma con contact sheet;
las tomas en movimiento se revisan en secuencias de 4 fotogramas para comprobar la suavidad y el desenfoque; la narración se compara frase por frase (marcas de tiempo a nivel de palabra o Whisper local); la lista de fuentes coincide con lo que aparece en pantalla.
Tabla de espacios (varía según la entrada/selección del usuario)
| Espacio | Fuente | Por defecto |
|---|---|---|
{{DURATION}} | Selección de duración en la sección 0 | 60 |
{{THEME}} | Texto original de la necesidad del usuario | Obligatorio |
{{MAIN_MODEL}} | Selección del usuario | Qwen3-Max (recomendado) |
{{TTS_MODEL}} / {{VOICE}} / {{TTS_INSTRUCTION}} | Selección del usuario | qwen-audio-3.0-tts-plus / Tono de documental sereno / Sereno, magnético, digno, velocidad de habla moderada |
{{STYLE}} | Selección del usuario | Documental de vidrio líquido |
{{RESOLUTION}} / {{FPS}} | Selección del usuario | 1920×1080 / 30 |
{{MUSIC}} / {{SFX}} | Selección del usuario | Necesario (pistas con licencia CC) / Sin añadir |
{{REFERENCES}} | Archivos/imágenes/URL proporcionados por el usuario | Si no hay, se deja vacío y se busca en línea por cuenta propia |
2. Línea de producción del proceso (orden de ejecución)
- Preguntar los tres elementos → Escribir
data/brief.json. - Verificación de hechos →
data/facts.md: Cada URL + punto de tiempo estadístico + diferencias de definición; tabla de corrección de redacción (eliminar expresiones exageradas como "primero/empatar/superar por primera vez" a menos que la evidencia original lo diga). - Material y anclajes → Captura de pantalla completa Playwright dpr2 +
anchors.json(cuadro delimitador DOM / rango a nivel de palabra) +meta.json(capturedAt/sha256); las tomas de desplazamiento toman capturas de pantallascrollTofotograma a fotograma para garantizar 30fps suaves; el texto de terminal/flujo de pensamiento debe provenir de una ejecución real o de ejemplos públicos oficiales. - Aprendizaje de animación → Navegar por la biblioteca de componentes de snapcn, extraer primitivas (entrada con resorte de frase, barrido de especificaciones, caída de números, puntos de seguimiento de línea quebrada, deriva de muro de modelos, subtítulos karaoke…), implementar por cuenta propia, no copiar el código de membresía.
- Sistema visual → Paleta de colores/fuentes/material de vidrio/zona segura/vocabulario de transiciones/zonas de textura (cada capítulo una textura y una toma insignia).
- Narración → TTS frase por frase + tabla de reemplazo de pronunciación (por ejemplo, QwQ→Q W Q) + recorte de silencios + normalización de volumen; comparación de lectura con Whisper local, las frases con baja puntuación se vuelven a sintetizar.
- Ritmo y línea de tiempo → Mapa de ritmo con librosa; duración de la toma = max(presupuesto, espacio en blanco + narración + espacio en blanco); los puntos de corte se adsorben al ritmo; los límites de los fragmentos = puntos de corte; salida
timeline.gen.json, las escenas solo leen fotogramas relativos. - Renderizado → Renderizado por fragmentos con Remotion (CRF16, yuv420p, BT.709), reintento con menor concurrencia en caso de fallo; encapsulado después de la unión.
- Mezcla → Narración/música de fondo en dos pistas (sin efectos de sonido por defecto); atenuación + paso bajo de capítulo + silencio antes de la frase; dos pasadas de loudnorm (I=−16, TP≤−2 dejando margen para AAC).
- Verificación y entrega → Lista de verificación de la sección 1 medida ítem por ítem; contact sheet + inspección visual de la secuencia de movimiento; limpieza de productos intermedios (mover a papelera); entregar un solo video + guión.md.
3. Restricciones estrictas
- Las claves solo se almacenan en
.env(incluido en.gitignore); cero visibilidad en documentos/registros/diálogo. - Las eliminaciones siempre se mueven a
~/.Trash, prohibidorm. - No evadir protecciones anti-scraping, verificaciones de humano o muros de pago; si se es bloqueado, cambiar de fuente y anotarlo en la tabla de hechos.
- Entregar solo un archivo de video; las imágenes recreadas deben tener una marca de esquina "Animación ilustrativa".
- El texto en pantalla y la narración están separados; el texto en pantalla no tiene puntuación al final; los números en la narración se escriben con dígitos arábigos, sin comas de miles.
4. Fallos comunes y soluciones alternativas
- Anclajes de página con carga diferida faltantes → desplazamiento previo antes de la captura + reintentar con
scrollIntoViewIfNeededpara anclajes faltantes; los puntos de parada/fotogramas de la escena se calculan dinámicamente según los anclajes reales para garantizar la sincronización de audio y video. - La captura de página completa en contenedores de desplazamiento interno está incompleta →
fullPage:true+ clip; para páginas muy largas, recortar localmente según los anclajes y reubicar las coordenadas de anclaje. - Ventanas emergentes/modales de redirección → ocultar con CSS en la fase de captura o localizar y ocultar sus ancestros fixed/absolute mediante texto; no hacer clic en botones que redirijan.
- Pantalla de carcasa de dispositivo opaca → colocar la capa de grabación de pantalla sobre el PNG de la carcasa, recortar según el porcentaje de pantalla de la plantilla.
- Zoom que recorta texto clave → límite de zoom 1.8× + el rectángulo de enfoque completamente dentro de la zona segura; la ventana de recorte dentro del panel se alinea con el centro del panel usando cx/cy.
- Falsa detección de inactividad → usar doble indicador de "media + proporción de píxeles cambiados" a 960×540@10fps; el settle conserva un 0.5% de deriva de respiración.
- Pico verdadero de AAC excedido → loudnorm objetivo TP deja 0.5–1 dB de margen (por ejemplo, −2.2), volver a medir después de la encapsulación.