Communitygithub.com

Parodia corta

Crea comedias cortas para grupos que se reconocen a sí mismos (equipos, familias, clubes) usando fotos animadas del grupo, chistes internos y un género prestado (introducción ochentera, documental sobre la vuelta a la oficina).

¿Qué es Parodia corta?

Esta habilidad permite crear cortometrajes cómicos diseñados para un público que conoce a las personas o la situación retratada. Funciona especialmente bien para equipos que lanzan un producto, una despedida, un trimestre de cierre o una fiesta familiar, utilizando un género prestado (como un documental de naturaleza sobre la vuelta a la oficina o una parodia de villancico navideño de Dickens). El motor del humor son los chistes internos extraídos de los canales de chat, correos y calendarios del grupo, y las fotos reales de los miembros animadas con movimientos sutiles. La habilidad distingue entre dos tipos de reparto: personas reales (para videos internos, que requieren permiso por escrito) y un reparto inventado con retratos FLUX (para videos públicos donde la audiencia reconoce la situación, no las caras). El flujo de trabajo incluye: minar el contexto del grupo para crear una 'biblia' de chistes, mapear los latidos del género al evento, generar fondos con FLUX y efectos de sonido, animar fotos con LTX, y construir los planos en Remotion. Las reglas clave son: siempre afectuoso (nadie es la víctima de una broma), mantener las caras reales internas, no mostrar información sensible en pantalla, usar palabras y música originales, y citar solo de canales públicos. El costo estimado en Modal para un anuncio de 90 segundos es de unos 2 dólares.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/digitalsamba/claude-code-video-toolkit/tree/HEAD/.claude/skills/parody-short

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿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)

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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).
  6. 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.
  7. Cortos. Un anuncio dura 60-90 s. Una "intro de serie" puede durar 2 min. Pasados ~2:30 el medio decae; corta ahí primero.
  8. 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.md paso 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, luego uv 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: un ACEMUSIC_API_KEY gratuito en .env (habilidad acestep).
  • El proyecto es un proyecto Remotion normal en projects/<nombre>/; no encaja ninguna plantilla, ya que nada aquí debe parecerse a una. Copia package.json y remotion.config.ts de cualquier plantilla (la configuración hace que se resuelvan las importaciones de lib/), mantén una composición por corte en src/Root.tsx, y pon los clips del reparto en public/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

PasoQuéLeer
1. BriefEvento, audiencia, reparto (3-6 personas), género, duración, "¿importan los datos?"este archivo
2. ContextoMinar los canales y herramientas del grupo; escribir public/bible.mdcontext.md
3. MapaLatidos del género sobre el evento; un latido por persona; elegir frases de la bibliagenres.md
4. RepartoFotos o un reparto inventado, disfraz con image_edit, animar con LTX, hoja de contactospeople.md
5. MundoFondos FLUX (sin texto), efectos de sonido, música o una canción con letra originalacestep, elevenlabs
6. ConstruirPlanos en Remotion sobre fotogramas absolutos; LivingPhoto para el reparto; superposición de géneropeople.md, video-design
7. RevisarHoja de contactos del renderizado, qc.py --render --fix, sync_check.py --cues, luego las reglas de seguridad otra vezvideo-design/critique.md, CLAUDE.md
8. CortesVertical, y una edición de marca si se desea: nuevas distribuciones sobre los mismos activosformats.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.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

digitalsamba/claude-code-video-toolkit

Python video composition with moviepy 2.x — overlaying deterministic text on AI-generated video (LTX-2, SadTalker), compositing clips, single-file build.py video projects. Use when adding labels/captions/lower-thirds to LTX-2 or SadTalker outputs, building short ad-style spots in pure Python without Remotion, or doing programmatic video composition. Triggers include text overlay on video, label LTX-2 clip, caption SadTalker output, lower third, build.py video, moviepy, Python video composition, sub-30s ad spot.

digitalsamba/claude-code-video-toolkit

Video and audio processing with FFmpeg. Use for format conversion, resizing, compression, audio extraction, and preparing assets for Remotion. Triggers include converting GIF to MP4, resizing video, extracting audio, compressing files, or any media transformation task.

digitalsamba/ideogram4

Prompting patterns for Ideogram 4 text-to-image — best-in-class in-image text rendering and exact color/layout control via structured JSON captions. Use when generating images that need legible on-image text (title cards, thumbnails, logos, signage, CTAs), precise brand colors, or controlled spatial layout. Triggers include title slide image, thumbnail with text, on-image text, legible text in image, brand color palette image, bounding-box layout, Ideogram.

digitalsamba/synthetic-ui-demo

Product demo and release-notes videos with no screen recording. Rebuild the app's screens as static React from its source code, then drive them in Remotion with a scripted cursor and camera (lib/components Stage + Cursor). Use when making a product walkthrough, feature demo, release-notes or changelog video for an app whose source you can read, or when a Playwright recording would be flaky, need test data, or go stale. Triggers include synthetic demo, rebuild the UI, release video, feature...

Skills relacionados