Communitygithub.com

digitalsamba/parody-short

Court métrage humoristique sur la vie d'un groupe – lancement d'équipe, fin de trimestre, déménagement de bureau ou pot de départ ; saison d'un club ; année de classe ; Noël en famille – ou sur un sujet partagé que tout le monde reconnaît (visioconférences, retour au bureau), raconté dans un genre emprunté (générique d'action 80s, film de créature, pub de Noël à la Dickens, braquage, documentaire animalier) et mettant en scène les vraies photos animées du groupe ou un casting inventé. Couvre la récupération du contexte propre au groupe pour des private jokes (chat, emails, calendriers…).

Qu'est-ce que parody-short ?

Parody shorts est un skill de création de vidéos humoristiques ultra-personnalisées, conçu pour des audiences qui reconnaissent les personnes ou les situations qui y sont dépeintes. Il fonctionne en empruntant la forme d'un genre connu (générique de série d'action 80s, bande-annonce d'horreur, documentaire animalier) pour raconter une histoire vraie vécue par le groupe. La force comique repose sur trois piliers : les visages (photos réelles du groupe ou casting inventé une fois et réutilisé), les private jokes (issues des canaux de communication réels), et le respect strict de règles éthiques (bienveillance, pas de données sensibles à l'écran, originalité des paroles et de la musique). Le skill est conçu pour fonctionner avec l'outil Modal sur GPU et le framework Remotion, et s'accompagne de nombreux sous-skills pour la génération d'images, de vidéos, de voix et de musique (LTX, FLUX, Qwen TTS, ACE Music, etc.). Le workflow est découpé en huit étapes clés : brief, contexte, mapping genre/événement, casting, univers, construction, vérification et montage. Le coût indicatif pour une vidéo de 90s avec cinq membres du casting est d'environ 2$.

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

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Parody shorts

Une comédie courte pour un public qui connaît les personnes qui y figurent, ou la situation : la grande soirée d'une équipe racontée comme un générique de série d'action des années 80, un film de créature d'Halloween, une pub de Noël façon télé. Le groupe peut être n'importe quel groupe (une équipe commerciale, une salle des profs, un club de foot à cinq, une famille) et le sujet tout ce qu'ils ont vécu ensemble. Elles font plus d'effet que tout ce que la boîte à outils peut produire, parce que le public rit de choses qu'il reconnaît. Ce skill explique comment en créer intentionnellement.

Construit et appris sur trois vidéos pour une même équipe en novembre 2026 (un générique d'action d'un lancement, sa version coupée Halloween, une pub de Noël d'Un chant de Noël). Elles ne sont pas dans examples/ parce qu'elles mettent en scène de vrais collègues. Puis sur deux courts métrages publics avec un casting inventé (une bande-annonce horrifique sur une visioconférence qui n'en finit pas, un documentaire animalier sur le retour au bureau), chacun en 16:9 et vertical, plus une édition de marque dans l'interface utilisateur propre d'un produit.

Pourquoi ça marche (par ordre d'importance)

  1. De vrais visages, qui bougent. Le changement décisif a été d'animer les photos de profil de l'équipe. Les photos statiques obtenaient des sourires ; les mêmes personnes qui mettent des aviateurs ou trinquent au punch ont décroché des rires. La reconnaissance est le moteur. Voir people.md.
  2. De vraies private jokes. Les répliques trouvées dans les canaux de l'équipe battent n'importe quelle blague écrite : le tic de langage d'un collègue, la fonctionnalité que quelqu'un n'arrête pas d'ajouter, la chose que quelqu'un répète depuis le début. L'analyse du contexte vaut plus que le polissage du scénario. Voir context.md.
  3. Un genre dont les jalons correspondent à l'événement. Le public connaît déjà la structure (trois règles qui sont enfreintes ; les fantômes du passé, du présent et du futur ; l'équipe qui se rassemble), donc la vidéo ne fait que remplir les jalons. Plus la correspondance est serrée, moins le scénario a besoin d'expliquer. Voir genres.md.
  4. La permission d'exagérer. Ce ne sont pas des notes de version. Dès que la personne qui demande dit que les faits n'ont pas d'importance, les chiffres peuvent être gonflés et les chronologies inventées. Demandez une fois, tôt ; puis cessez de vérifier les blagues.
  5. L'affection est la limite. Tout le monde est le héros d'une blague ou complice, jamais sa victime. Cela garde l'ambiance chaleureuse, et c'est aussi la règle de sécurité (ci-dessous).
  6. Un look et un son par genre. Ses propres polices, incrustations et étalonnage (distorsion VHS, grain de pellicule et letterbox, lumière de bougie), une chanson ou une musique originale, quelques effets sonores, au plus une ligne de narration dans une pub. Rien ne doit ressembler à un modèle de la boîte à outils.
  7. Court. Une pub dure 60 à 90 s. Un « générique d'émission » peut aller jusqu'à 2 min. Au-delà de ~2:30, le milieu s'essouffle ; coupez là en premier.
  8. Choisir chaque clip. Environ un clip LTX sur trois est coupé parce qu'il ne convient pas. Un seul visage déplacé brise le charme, donc faites une planche contact de chaque clip et relancez si nécessaire.

Deux types de castings

  • De vraies personnes (photos du groupe) : les rires les plus francs, pour un public qui les connaît. Interne par défaut ; public uniquement avec l'accord écrit de chaque personne.
  • Un casting inventé (portraits FLUX, ou personnages non humains) : pour une vidéo publique, ou un sujet partagé où le public reconnaît la situation plutôt que les personnes (visioconférences, la cuisine du bureau). La reconnaissance passe des visages à la situation, donc la situation doit être à la fois universelle et spécifique : « t'es en sourdine », le tableur avec 412 onglets, la veste sur le bureau partagé. Voir people.md étape 0.
  • Castings une fois, utilisation partout. Générez le casting inventé une fois dans un dossier partagé et donnez à chaque vidéo ses propres costumes et clips à partir des mêmes visages. Deux vidéos avec les quatre mêmes personnes donnent l'impression d'une série, et un rappel entre elles (la dernière ligne de la vidéo 2 est la première de la vidéo 1) est un rire gratuit.

Règnes non négociables

  • Tout est affectueux. Personne dans le groupe n'est la cible d'une blague qu'il ou elle pourrait regretter. Pas de performance, de santé, de vie privée ou de propos tenus en confidence. En cas de doute, supprimez la réplique.
  • Les vraies personnes restent en interne. Leur image leur appartient. Créez la vidéo pour le groupe, partagez-la par lien uniquement, et demandez avant de la poster en public. Toute personne qui demande à être retirée l'est.
  • Rien de sensible à l'écran. Pas de noms de clients ou partenaires, pas de noms d'hôtes, pas de valeurs secrètes (un secret est une barre floutée ou ••••), pas d'URL internes. Renommez les systèmes réels (« RELAY ONE »).
  • Paroles et musique originales. Empruntez la forme d'un genre, jamais les personnages, noms, répliques, designs ou générique d'une œuvre. Une histoire du domaine public (Dickens, Grimm, Shakespeare) peut être utilisée directement ; un film ou une série télé, non, qu'il soit renommé ou pas. Écrivez des paroles originales pour toute chanson (skill acestep).
  • Ne citez que ce que le public aurait pu lire. Les canaux d'équipe publics, oui. Les messages privés, non. Voir context.md.

Avant de commencer

  • Endpoints GPU (Modal, une fois) : uv sync --extra modal && uv run modal setup, puis uv run tools/modal_setup.py flux2 image_edit ltx2 qwen3_tts. LTX est verrouillé : il nécessite un secret Modal avec votre token Hugging Face (docs/modal-setup.md). Musique : une ACEMUSIC_API_KEY gratuite dans .env (skill acestep).
  • Le projet est un simple projet Remotion dans projects/<nom>/ ; aucun modèle ne convient, puisque rien ici ne doit en ressembler un. Copiez package.json et remotion.config.ts d'un modèle (la configuration fait que les imports lib/ résolvent), gardez une composition par coupure dans src/Root.tsx, et placez les clips du casting dans public/people/. Un plan est une <Sequence> sur des trames absolues avec la personne dedans :
import { LivingPhoto } from '../../../lib/components/LivingPhoto';
// joue le clip une fois et conserve sa dernière bonne trame ; fit ralentit un clip légèrement trop court pour remplir le plan
<Sequence from={120} durationInFrames={180}>
  <LivingPhoto src="people/sam-xmas.mp4" hold={140} fit={180} pos="center 30%" style={{ inset: 0 }} />
</Sequence>

Flux de travail

ÉtapeQuoiLire
1. BriefÉvénement, public, casting (3-6 personnes), genre, durée, « les faits comptent-ils ? »ce fichier
2. ContexteExploiter les canaux et outils du groupe ; écrire public/bible.mdcontext.md
3. MappingFaire correspondre les jalons du genre à l'événement ; un jalon par personne ; choisir des répliques dans la biblegenres.md
4. CastingPhotos ou casting inventé, costume avec image_edit, animer avec LTX, planche contactpeople.md
5. UniversArrière-plans FLUX (sans texte), effets sonores, musique ou chanson avec paroles originalesacestep, elevenlabs
6. ConstructionPlans Remotion sur trames absolues ; LivingPhoto pour le casting ; incrustation du genrepeople.md, video-design
7. VérificationPlanche contact du rendu, qc.py --render --fix, sync_check.py --cues, puis les règles de sécurité à nouveauvideo-design/critique.md, CLAUDE.md
8. MontagesVersion verticale, et édition de marque si souhaitée : nouvelles mises en page sur les mêmes assetsformats.md

Des plans, pas des scènes. Ces vidéos sont montées comme des pubs : une liste fixe de plans avec des plages de trames absolues, un fondu de 10 à 20 trames entre les plans, la chanson ou la musique sous tout. S'il y a une narration, générez-la d'abord et ancrez-vous dessus (CLAUDE.md, Chronologies ancrées à l'audio) ; une pub avec une seule ligne de narration en fin peut être dirigée par la musique.

Son sur un mouvement : mesurer, ne pas évaluer à l'œil. Un éternuement, une veste qui se pose, un tintement de badge : placez chaque son avec tools/sync_check.py --clip (là où son pic rencontre le mouvement), listez-le dans le fichier sync-cues.json du projet, et exécutez sync_check.py --video ... --cues sur chaque rendu avant de le montrer. Un éternuement placé à la main était une demi-seconde trop tôt ; trois autres repères étaient décalés de 0,8 à 1,0 s. Si un clip se fige ou coupe, terminez son son également.

Le texte est le vecteur de la chute. Bulles de dialogue, tampon, carte de danse, pierre tombale, étiquette tapée. Remotion rend tout cela (FLUX et LTX déforment le texte). Donnez à chaque gag à l'écran un repère de trame et un son.

Voix. Pour un narrateur qui n'appartient à personne, concevez-en une avec Qwen VoiceDesign à partir d'un brief écrit (« une narratrice britannique chaleureuse d'âge moyen racontant un documentaire animalier, à voix basse, rythme lent et mesuré » ; « un annonceur de bande-annonce de film grave et rocailleux ») : qwen3_tts.py --design-instruct "..." --text "<un paragraphe de 20 s dans le genre, pas le script>" --format wav. VoiceDesign crée une nouvelle voix à chaque appel, donc concevez une fois, puis clonez cette référence pour chaque phrase (trois prises, pick_takes.py). Décrivez un genre, jamais une personne réelle ; choisir un narrateur qui n'est pas la voix célèbre du genre (une femme pour un film animalier) garantit l'originalité.

Montages. Planifiez la version verticale et toute édition de marque dès le début ; elles réutilisent tous les assets générés et ne coûtent qu'un rendu chacune. Voir formats.md.

Réutilisation entre genres. Un casting animé une fois peut être recostumé pour la fête suivante : les photos, les cadrages et la bible de contexte sont réutilisables, seuls les costumes, les clips et l'univers changent.

Coût (Modal, novembre 2026)

LTX ~0,08 $ par clip de 5 s, image_edit ~0,01 $ par édition à chaud (un démarrage à froid prend ~10 min ; envoyez d'abord une édition et attendez), FLUX ~0,01 $ pour un arrière-plan ou un portrait, chanson ACE-Step quelques centimes. Une pub de 90 s avec cinq membres du casting et des relances coûte environ 2 $. Deux courts métrages de 80 à 100 s partageant un même casting inventé (9 éditions de costumes, 16 clips, 2 voix conçues) ont coûté environ 2,50 $ ensemble. L'API acemusic peut renvoyer des erreurs 502 en cours de traitement ; une prise défaillante est ignorée, relancez pour en obtenir plus.

Liens connexes

context.md, genres.md, people.md, formats.md ici ; skills 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 associés