Gusto (Taste)
La mayoría de los consejos sobre video AI se detienen en cómo renderizar fotogramas. Esta habilidad es la capa superior: cómo deberían verse los fotogramas, en qué orden, cortados a qué ritmo, para que el resultado se lea como una sola cosa intencionada en lugar de un montón de generaciones.
Codifica un gusto específico — la familia angelcore / cloud-trance / hyperpop (el trance etéreo de la era "Silver Surfer" de Bladee combinado con un angelcore intenso) — destilado de un corpus de Reels guardados y un recorrido por una biblioteca visual de ~70 géneros con nombre. Es intencionadamente subjetivo. El gusto es un punto de vista, no un menú.
El archivo complementario
references/genre-taxonomy.mdcontiene el catálogo completo de géneros con nombre. Este archivo es la capa práctica: estado de ánimo, gramática, pipeline y un plan de planos mapeado al ritmo.
Cuándo Activar
- Construyendo un video musical, video lírico, fancam o visualizador.
- Haciendo una edición / reel de formato corto donde la sensación importa más que la información.
- Impulsando la generación de b-roll con AI (fal.ai, Veo, Kling, etc.) y los prompts necesitan una dirección coherente en lugar de vibraciones aisladas.
- Armando un moodboard o eligiendo un género visual antes de cualquier renderizado.
- El usuario dice "taste", "haz que se sienta como X", "dale una dirección", "angelcore", "cloud trance", "hyperpop edit", "Bladee", "dreamcore", o nombra una referencia guardada.
- La edición actual funciona pero se lee como plana, genérica, slop de AI, o estilísticamente incoherente.
Esta habilidad se sitúa encima de video-editing (la mecánica) y remotion-video-creation
(el renderizador). Usa esas para el cómo. Usa esta para el qué y por qué.
Tesis Central
- El gusto es la última capa, y debe decidirse primero.
video-editingdice correctamente que el gusto es el toque humano final. La trampa: si solo decides el gusto al final, cada generación y corte aguas arriba fue una suposición. Elige la dirección antes del primer prompt, luego deja que lo limite todo. - La coherencia vence a la novedad. Un look ejecutado a lo largo de 30 planos vence a 30 looks. Un género nombrado (abajo) es una restricción que compra coherencia de forma gratuita.
- Cortar a la canción, no al metraje. En un video musical, la línea de tiempo es la forma de onda. Cada corte brusco cae en un beat o un transitorio. La matemática de fotogramas está en la sección del pipeline.
- Genera selectivamente, edita sin piedad. La AI hace b-roll que no existe; no hace gusto. Aún así, descartas el 80%.
El Vocabulario Estético (destilado)
El corpus de referencia recorre una gran biblioteca de géneros visuales con nombre. La lista completa vive en
references/genre-taxonomy.md. El movimiento útil no es memorizar 70 nombres — es ver
que un nombre de género es un preset completo de prompt y gradación. Cuando eliges uno, heredas
su paleta, textura, iluminación y tema como una unidad.
Los géneros se agrupan en familias. Elige una familia principal y como máximo un acento:
| Familia | Géneros que la componen | Se lee como |
|---|---|---|
| Etéreo / divino | espiritualismo, folk glacial, balizas, zen core, cuento de hadas | sin peso, sagrado, brillante, suave |
| Hyperpop / Y2K-ciber | cyberdelia, acid house, acid nora, neo aggressano, new liquid | brillante, cromo, neón, kawaii-ciber |
| Oscuro / oculto | dark academia, nostalgia de humo, core comunista, tech abstracto | alto contraste, ominoso, grano |
| Retro / impreso | retro surfers, art deco, pulp de aventuras, publicidad clásica, collage de revistas, pegatinas de parachoques | plano, gráfico, semitono, nostálgico |
| Orgánico / textural | core de microbiología, patrones de tejido, frutage retro, manta acogedora, punk wave del Pacífico | táctil, macro, tejido, húmedo |
| Sistémico / datos | números, laberintos, código web, mapa de calor, píxel, 8 bits | cuadriculado, generativo, esquemático |
Para el proyecto actual, la principal es Etéreo / divino con un acento Hyperpop / Y2K-ciber — es decir, luz sagrada y floración cristalina, puntuadas por cromo y neón. Esa combinación es el brief angelcore × cloud-trance.
El Sistema de Estado de Ánimo — angelcore × cloud-trance
Destilado directamente de los mejores reels de referencia. Esta es la gradación concreta.
Paleta
- Base: vacío casi negro (#05060a) y blanco hueso (#f4f1ea). La mayoría de los fotogramas son uno u otro.
- Acento divino: dorado fundido / naranja ascua (#ffb24d → #ff7a18) — la única luz cálida en la oscuridad.
- Acento cristalino: bokeh iridiscente violeta→cian→magenta (#8a6bff, #4fc3ff, #ff6ad5) — la floración hyperpop, usado en fotogramas brillantes.
- Acento de peligro (con moderación): un solo rojo brillante (#ff2a2a) sobre monocromo — para solo uno o dos cortes de choque.
- Sujeto hyperpop: cabello rosa caramelo / cromo / blanco brillante contra cielo azul.
Regla: un acento por plano. El oro vive en fotogramas oscuros; la iridiscencia vive en fotogramas claros; nunca ambos en un mismo plano.
Luz y textura
- Oscuridad atravesada por una sola fuente cálida (floración de ascua, haz divino). Alto contraste, negros profundos.
- Bokeh cristalino / brillante, destellos de lente, floración, fugas de luz — celestial, no sucio.
- Grano de película + aberración cromática sutil en los fotogramas oscuros; brillo limpio en los fotogramas claros.
- Detalle macro en espacio negativo: un objeto héroe centrado en negro (llave, ojo, engranaje, pétalo, agua).
- Sujetos: figuras aladas, nubes, halos, ángeles, estructuras cristalinas, retratos candy-ciber.
Movimiento
- Cámara lenta, flotante, sin peso (deriva, empuje lento, órbita lenta) — nube trance.
- Ráfagas de velocidad solo en el drop. De lo contrario, todo respira.
- Partículas ascendentes (ascuas, polvo, brillantina) — movimiento hacia arriba = ascensión.
La Gramática de Edición (destilada)
De las ediciones de referencia, las técnicas que se repiten y definen el estilo:
- Cortes bruscos bloqueados al beat. Sin fundidos en el verso/drop. Corta en el kick. El ojo debe sentir los BPM.
- Inserciones macro de héroe sobre negro. Un solo objeto nítido centrado en espacio negro negativo, sostenido durante 1-2 beats, luego corte. Montaje rítmico de estos = la firma del cloud-trance.
- Revelación por floración / explosión. Una floración blanca o de ascua que sobreexpone el fotograma en un transitorio, luego se resuelve en el siguiente plano. La transición "destello divino".
- Pop de color sobre monocromo. Pasa un pasaje en B/N, luego un solo elemento de color (ojo rojo, llama dorada, cabello rosa) irrumpe en el tiempo fuerte.
- Rampa de velocidad hacia el drop. Acelera el metraje de lento a rápido en el último compás antes del drop, corte brusco al tempo en el uno.
- Resaltado de palabras clave de título (solo para secciones con voz en off / lírica). Mayúsculas, una o dos palabras resaltadas en el color de acento, sincronizadas con la voz. Usar para video lírico, no para el visualizador puro.
- PiP de reacción (solo para video-explicativo / comentario de edición). Imagen en imagen de cabeza parlante sobre b-roll. Fuera del alcance para el video musical en sí; documentado porque el corpus lo usa mucho.
Prohibiciones: transiciones de fundido en secciones tempo; más de un color de acento por plano; un plano sostenido más allá de su frase musical; interfaz de usuario en pantalla legible (recortarlo); relaciones de aspecto mixtas en una línea de tiempo.
El Pipeline — mezclando las habilidades de video ECC
Esta habilidad es el director. Cada habilidad ECC es un instrumento. No te saltes capas.
0. GUSTO (esta habilidad) decidir género + estado de ánimo + gramática ANTES de cualquier render
1. ESTRUCTURA (video-editing) mapear la canción: marcas de tiempo para intro/verso/drop/puente/outro
2. GENERAR (fal-ai-media) hacer b-roll por presets de prompt de género; descartar el 80%
3. CORTAR (video-editing/FFmpeg) corte al beat + reencuadre a 9:16; ensamblar selecciones en la cuadrícula
4. COMPONER (remotion-video-creation) superposiciones, floraciones, texto lírico, secuenciación sincronizada al beat
5. MOVIMIENTO (habilidades motion-*) curvas de easing, movimiento de fugas de luz/partículas, temporización de transiciones
6. AUDIO (fal-ai-media) ascendentes/impactos de transición para vender los cortes (la pista está en Ableton)
7. PULIR gradación a la paleta anterior, pase de ritmo final, exportar
8. DISTRIBUIR (content-engine) versiones nativas de plataforma + título/portada
| Paso | Habilidad ECC a cargar | Lo que hace aquí |
|---|---|---|
| Estructura y corte | video-editing | Corte/concat/reencuadre FFmpeg, EDL, detección de escena/silencio |
| Generar b-roll | fal-ai-media | Modelos de imagen/video por preset de género |
| Componer y superponer | remotion-video-creation | <Sequence> sincronizadas al beat, texto, floraciones, máscaras |
| Temporización de movimiento | motion-foundations, motion-patterns, motion-advanced | Easing, resortes, movimiento de luz/partículas |
| Video del lado del servidor | videodb | Reencuadre inteligente, indexación si el metraje es grande |
| Distribución | content-engine | Cortes, portadas, títulos por plataforma |
| Voz / locución lírica | video-editing (sección de ElevenLabs) | solo si se necesita una capa hablada |
Matemática de Beats (bloquear cortes a la canción)
La pista actual es 138 BPM, B menor. Constantes:
segundos_por_beat = 60 / 138 = 0.43478sfotogramas_por_beat = fps × 0.43478→ 24fps: 10.43, 30fps: 13.04, 60fps: 26.091 compás (4 beats) = 1.7391s→ 30fps: 52.17 fotogramasFrase de 8 compases = 13.913s→ la longitud del bucle de la pista
En Remotion, ajusta cada from={} a un beat:
const FPS = 30;
const BPM = 138;
const beat = (n: number) => Math.round(n * (60 / BPM) * FPS); // beat(n) → fotograma
// cortar en beats 0,4,8,... : <Sequence from={beat(0)} durationInFrames={beat(4)}> ...
Plan de Planos Mapeado al Beat (este video musical)
La disposición de la canción (de las propias notas del proyecto) es Intro → Verso → Drop → Puente → Drop → Outro (~2:05). Mapea el gusto a cada sección:
| Sección | Inclinación de género/estado de ánimo | Gramática | Ideas de plano |
|---|---|---|---|
| Intro | Etéreo/divino, casi negro | empuje lento, sin cortes | floración de ascua en el vacío; un solo haz de oro; polvo ascendente |
| Verso | Oscuro + macro héroe sobre negro | cortes bruscos cada 2 beats | llave, ojo, engranaje, gota de agua, pétalo — montaje macro rítmico |
| Drop | Floración hyperpop + cristalina | rampa de velocidad hacia el drop, corte en el uno, rápido | figura rosa caramelo, cromo, bokeh iridiscente, ascensión alada |
| Puente | Espiritualismo, sin peso | un plano largo sostenido, pop de color | nubes + halo; un solo acento rojo golpea una vez |
| Drop 2 | como Drop, intensificar | añadir floraciones de destello divino en transitorios | alas abiertas, explosión de brillantina, fugas de luz al máximo |
| Outro | Folk glacial, frío y calma | fundido lento a negro | estructura de hielo cristalino disolviéndose; ascua se apaga |
Presets de Prompt para fal.ai (por estado de ánimo)
Usar con fal-ai-media. Cada preset es el género renderizado en la paleta del proyecto. Añade
9:16, vertical, cinemático, grano de película, luz volumétrica, sin texto, sin marca de agua a todos.
- Vacío divino: "una sola floración de ascua dorada fundido ascendiendo en un vacío infinito casi negro, sombra profunda, una fuente de luz cálida, partículas de polvo sin peso, sagrado, alto contraste"
- Héroe macro: "macro extremo de una llave antigua de latón / un ojo humano / engranajes entrelazados, centrado en espacio negro puro, detalle nítido, una sola luz de borde"
- Floración cristalina: "bokeh cristalino iridiscente violeta-cian-magenta, refracción de luz brillante, destellos de lente soñadores, resplandor celestial, enfoque suave, hyperpop angelcore"
- Retrato candy-ciber: "figura con cabello rosa caramelo, acentos de cromo brillante, cielo azul brillante, Y2K hyperpop, brillo limpio, saturado, kawaii-ciber"
- Ascensión alada: "una figura alada ascendiendo entre nubes, halo de luz, blanco hueso y oro, rayos divinos volumétricos, etéreo, iconografía religiosa, suave"
- Outro frío: "estructura de hielo cristalino pálido disolviéndose lentamente, folk glacial, azul frío y blanco hueso, mínimo, tranquilo, fundido a negro"
Genera 6–10 por preset, guarda 2–3. Para movimiento, anima las imágenes fijas con un modelo de imagen a video o genera clips cortos directamente; mantén los movimientos de cámara lentos según las reglas de Motion.
Recetas de FFmpeg (corte + reencuadre)
# Reencuadrar cualquier clip apaisado/raw a 9:16 (recorte centrado)
ffmpeg -i in.mp4 -vf "crop=ih*9/16:ih,scale=1080:1920" v.mp4
# Cortar un clip a exactamente N beats a 138 BPM (ej. 2 beats = 0.8696s)
ffmpeg -i in.mp4 -t 0.8696 -c copy beat2.mp4
# Concatenar selecciones de beat en el montaje del verso
for f in selects/*.mp4; do echo "file '$f'"; done > concat.txt
ffmpeg -f concat -safe 0 -i concat.txt -c copy verse.mp4
# Eliminar la interfaz de usuario / barra de estado de una referencia grabada de pantalla (recortar arriba+abajo)
ffmpeg -i reel.mp4 -vf "crop=iw:ih-300:0:150" clean.mp4
Esqueleto de Composición en Remotion (sincronizado al beat)
import { AbsoluteFill, Sequence, Video, Img, useCurrentFrame, interpolate } from "remotion";
const FPS = 30, BPM = 138;
const beat = (n: number) => Math.round(n * (60 / BPM) * FPS);
const Bloom: React.FC = () => {
const f = useCurrentFrame();
const o = interpolate(f, [0, 3, 12], [0, 1, 0], { extrapolateRight: "clamp" }); // destello divino en un transitorio
return <AbsoluteFill style={{ background: "radial-gradient(#fff,#ffb24d)", opacity: o, mixBlendMode: "screen" }} />;
};
export const AngelcoreMV: React.FC = () => (
<AbsoluteFill style={{ background: "#05060a" }}>
{/* Verso: macro héroe sobre negro, corte brusco cada 2 beats */}
<Sequence from={beat(0)} durationInFrames={beat(2)}><Video src="/selects/key.mp4" /></Sequence>
<Sequence from={beat(2)} durationInFrames={beat(2)}><Video src="/selects/eye.mp4" /></Sequence>
<Sequence from={beat(4)} durationInFrames={beat(2)}><Video src="/selects/gear.mp4" /></Sequence>
{/* Drop: floración cristalina + destello en el uno */}
<Sequence from={beat(8)} durationInFrames={beat(16)}><Video src="/selects/crystalline.mp4" /></Sequence>
<Sequence from={beat(8)} durationInFrames={beat(1)}><Bloom /></Sequence>
</AbsoluteFill>
);
Renderizar: npx remotion render src/index.ts AngelcoreMV out.mp4. Ver remotion-video-creation
para la configuración del proyecto, enlace de la pista de audio y banderas de render.
Principios Clave
- Decide el género antes de la primera generación. Elige una familia principal + un acento.
- Un color de acento por plano. Oro en la oscuridad, iridiscencia en la luz, rojo una vez.
- Cada corte brusco cae en un beat. Usa la matemática de beats; sin transiciones en secciones tempo.
- El macro héroe sobre negro es el movimiento característico. Domínalo; lleva t