¿Qué hace Parodia corta?
Una comedia corta para un público que conoce a las personas o la situación: la gran noche de un equipo narrada como la intro de una serie de acción ochentera, una película de criaturas de Halloween, un anuncio de televisión navideño. El grupo puede ser cualquier grupo (un equipo de ventas, la sala de profesores de un colegio, un club de fútbol sala, una familia) y el tema cualquier cosa que hayan vivido juntos. Causan más impacto que cualquier otra cosa que produzca el conjunto de herramientas, porque el público se ríe de cosas que reconoce. Esta habilidad explica cómo hacer una a propósito.
Creada y aprendida en tres videos para un mismo equipo en noviembre de 2026 (la intro de acción de un lanzamiento, su versión hermana de Halloween, un anuncio navideño de Canción de Navidad). No están en examples/ porque protagonizan colegas reales. Luego en dos cortos públicos con un reparto inventado (un tráiler de terror sobre la videollamada que nunca termina, un documental de naturaleza sobre la vuelta a la oficina), cada uno en 16:9 y vertical, más una edición de marca en la propia interfaz de un producto.
Por qué funcionan (en orden de importancia)
- Caras reales, en movimiento. El cambio radical fue animar las fotos de perfil del equipo. Las fotos fijas sacaban sonrisas; las mismas personas levantándose las gafas de aviador o brindando con ponche provocaban risas. El reconocimiento es el motor. Ver
people.md. - Chistes internos reales. Las frases encontradas en los canales del propio equipo vencen a cualquier chiste escrito: el eslogan de un compañero, la función que alguien no para de meter, lo que alguien ha estado diciendo todo el tiempo. La pasada de contexto vale más que pulir el guion. Ver
context.md. - Un género cuyos latidos encajan en el evento. El público ya conoce la estructura (tres reglas que se rompen; fantasmas del pasado, presente y futuro; el equipo reuniéndose), así que el video solo rellena los latidos. Cuanto más ajustado el mapeo, menos tiene que explicar el guion. Ver
genres.md. - Permiso para exagerar. Esto no son notas de lanzamiento. Una vez que la persona que pide el video dice que los datos no importan, los números se pueden inflar y las líneas de tiempo inventar. Pregúntalo una vez, al principio; luego deja de verificar los chistes.
- El cariño es el límite. Todos son el héroe de un chiste o están en el ajo, nunca su víctima. Eso lo mantiene cálido y también es la regla de seguridad (abajo).
- Un aspecto y sonido por género. Sus propias fuentes, superposición y granulado (seguimiento VHS, grano de película y bandas negras, luz de velas), una canción o banda sonora original, algunos efectos de sonido, como máximo una línea de narrador en un anuncio. Nada debe parecer una plantilla del kit.
- Cortos. Un anuncio dura 60-90 s. Una "intro de serie" puede durar 2 min. Pasados ~2:30 el medio decae; corta ahí primero.
- Elegir cada clip. Aproximadamente uno de cada tres clips de LTX corta para un desconocido. Una cara equivocada rompe el hechizo, así que revisa cada clip en hoja de contactos y repítelo.
Dos tipos de reparto
- Personas reales (las fotos del propio grupo): las risas más fuertes, para un público que las conoce. Por defecto interno; solo público con el permiso por escrito de cada persona.
- Reparto inventado (retratos FLUX o personajes no humanos): para un video público o un tema compartido donde la audiencia reconoce la situación más que las personas (videollamadas, la cocina de la oficina). El reconocimiento pasa de las caras a la situación, así que la situación debe ser universal y específica: "estás en silencio", la hoja de cálculo con 412 pestañas, la chaqueta en el puesto libre. Ver
people.mdpaso 0. - Reparto único, úsalo en todas partes. Genera el reparto inventado una vez en una carpeta compartida y dale a cada video sus propios disfraces y clips con las mismas caras. Dos videos con las mismas cuatro personas parecen una serie, y un guiño entre ellos (la última línea del video 2 es la primera del video 1) es una risa gratis.
Reglas que no son opcionales
- Todo afectuoso. Nadie en el grupo es el blanco de una broma que le importaría. Nada de rendimiento, salud, vida personal ni nada dicho en confianza. Ante la duda, corta la línea.
- Las personas reales se quedan internas. Su imagen les pertenece. Hazlo para el grupo, compártelo solo con enlace y pregunta antes de publicar en cualquier sitio público. Cualquiera que aparezca y pida ser excluido, queda excluido.
- Nada sensible en pantalla. Sin nombres de clientes o socios, sin nombres de host, sin valores secretos (un secreto es una barra difuminada o
••••), sin URLs internas. Renombra sistemas reales ("RELAY ONE"). - Palabras y música originales. Toma prestada la forma de un género, nunca los personajes, nombres, líneas, diseños o sintonía de una obra. Una historia de dominio público (Dickens, Grimm, Shakespeare) se puede usar directamente; una película o programa de TV no, aunque se renombre. Escribe letras originales para cualquier canción (habilidad
acestep). - Cita solo donde la audiencia podría haberlo leído. Canales públicos del equipo, sí. MDs, no. Ver
context.md.
Antes de empezar
- Puntos finales GPU (Modal, una vez):
uv sync --extra modal && uv run modal setup, luegouv run tools/modal_setup.py flux2 image_edit ltx2 qwen3_tts. LTX está restringido: necesita un secreto de Modal con tu token de Hugging Face (docs/modal-setup.md). Música: unACEMUSIC_API_KEYgratuito en.env(habilidadacestep). - El proyecto es un proyecto Remotion normal en
projects/<nombre>/; no encaja ninguna plantilla, ya que nada aquí debe parecerse a una. Copiapackage.jsonyremotion.config.tsde cualquier plantilla (la configuración hace que se resuelvan las importaciones delib/), mantén una composición por corte ensrc/Root.tsx, y pon los clips del reparto enpublic/people/. Un plano es un<Sequence>en fotogramas absolutos con la persona:
import { LivingPhoto } from '../../../lib/components/LivingPhoto';
// reproduce el clip una vez y mantiene su último fotograma bueno; fit ralentiza un clip ligeramente corto para llenar el plano
<Sequence from={120} durationInFrames={180}>
<LivingPhoto src="people/sam-xmas.mp4" hold={140} fit={180} pos="center 30%" style={{ inset: 0 }} />
</Sequence>
Flujo de trabajo
| Paso | Qué | Leer |
|---|---|---|
| 1. Brief | Evento, audiencia, reparto (3-6 personas), género, duración, "¿importan los datos?" | este archivo |
| 2. Contexto | Minar los canales y herramientas del grupo; escribir public/bible.md | context.md |
| 3. Mapa | Latidos del género sobre el evento; un latido por persona; elegir frases de la biblia | genres.md |
| 4. Reparto | Fotos o un reparto inventado, disfraz con image_edit, animar con LTX, hoja de contactos | people.md |
| 5. Mundo | Fondos FLUX (sin texto), efectos de sonido, música o una canción con letra original | acestep, elevenlabs |
| 6. Construir | Planos en Remotion sobre fotogramas absolutos; LivingPhoto para el reparto; superposición de género | people.md, video-design |
| 7. Revisar | Hoja de contactos del renderizado, qc.py --render --fix, sync_check.py --cues, luego las reglas de seguridad otra vez | video-design/critique.md, CLAUDE.md |
| 8. Cortes | Vertical, y una edición de marca si se desea: nuevas distribuciones sobre los mismos activos | formats.md |
Planos, no escenas. Se editan como anuncios: una lista fija de planos con rangos de fotogramas absolutos, una disolución de 10-20 fotogramas entre planos, la canción o partitura debajo de todo. Si hay narración, genérala primero y ancla a ella (CLAUDE.md, Líneas de Tiempo Ancladas a Audio); un anuncio con una línea final de narrador puede guiarse por la música.
Sonido en un movimiento: mide, no calcules a ojo. Un estornudo, una chaqueta que cae, un tintineo de placa: coloca cada sonido con tools/sync_check.py --clip (donde su pico coincide con el movimiento), enuméralo en el archivo sync-cues.json del proyecto y ejecuta sync_check.py --video ... --cues en cada renderizado antes de mostrarlo. Un estornudo colocado manualmente estaba medio segundo antes; otros tres avisos estaban 0.8-1.0 s desviados. Si un clip se congela o corta, termina su sonido allí también.
El texto es el portador del remate. Burbujas de diálogo, un sello, una tarjeta de baile, una lápida, una etiqueta escrita. Remotion renderiza todo (FLUX y LTX distorsionan el texto). Dale a cada gag en pantalla una pista de fotograma y un sonido.
Voces. Para un narrador que nadie posee, diseña uno con Qwen VoiceDesign a partir de un brief escrito ("una mujer británica cálida de mediana edad narrando un documental de naturaleza, en voz baja, a un ritmo lento y pausado"; "un locutor de tráiler de cine grave y áspero"): qwen3_tts.py --design-instruct "..." --text "<un párrafo semilla de 20 s en el género, no el guion>" --format wav. VoiceDesign crea una voz nueva en cada llamada, así que diseña una vez, luego clona esa referencia para cada frase (tres tomas, pick_takes.py). Describe un género, nunca una persona real; elegir un narrador que no sea la voz famosa del género (una mujer para una película de naturaleza) lo mantiene claramente original.
Cortes. Planifica el corte vertical y cualquier edición de marca desde el principio; reutilizan todos los activos generados y solo cuestan un renderizado cada uno. Ver formats.md.
Reutilización entre géneros. Un reparto animado una vez se puede redisfrazar para la siguiente festividad: las fotos, los recortes y la biblia de contexto se transfieren, y solo cambian los disfraces, clips y mundo.
Coste (Modal, 2026-11)
LTX ~$0.08 por clip de 5 s, image_edit ~$0.01 por edición en caliente (un arranque en frío es ~10 min; envía una edición primero y espera), FLUX ~$0.01 por fondo o retrato, canción ACE-Step unos pocos céntimos. Un anuncio de 90 s con cinco miembros del reparto y repeticiones cuesta unos $2. Dos cortos de 80-100 s que comparten un reparto inventado (9 ediciones de disfraces, 16 clips, 2 voces diseñadas) salieron por unos $2.50 en total. La API de acemusic puede devolver 502 a mitad de lote; una toma fallida se omite, así que vuelve a ejecutarla para obtener más.
Relacionados
context.md, genres.md, people.md, formats.md aquí; habilidades ltx2, qwen-edit, acestep, elevenlabs, video-design, remotion; lib/components/LivingPhoto.tsx.