Communitygithub.com

Duo sketch reel (Nerd + Claude)

Crée un sketch comique 9:16 (30-45 s, anglais) avec deux personnages 3D – le Nerd (cheveux hérissés, lunettes, hoodie) et Claude, le petit robot orange low-poly sur son bureau – rendu dans Blender à partir d'un seul fichier storyboard.json.

Qu'est-ce que Duo sketch reel (Nerd + Claude) ?

Cette compétence génère un sketch comique complet au format 9:16, mettant en scène deux personnages 3D : le Nerd (un développeur en proie à une vraie difficulté liée à l'IA) et Claude, un petit robot orange low-poly posé sur son bureau. L'utilisateur fournit un seul fichier JSON de storyboard, et le pipeline construit procéduralement le décor, les animations, les lumières, les caméras, les dialogues (via ElevenLabs ou des enregistrements personnels), la musique, les effets sonores et le rendu final dans Blender (EEVEE). L'agent réalise d'abord une recherche sourcée, génère un script, une maquette audio avec la commande macOS `say`, des images clés pour valider le cadrage, puis intègre les voix, effectue une vérification de transcription avec Whisper, et lance le rendu final, la couverture et un rapport qualité. La compétence est idéale pour créer des vidéos humoristiques courtes de type 'Nerd + Claude' : un problème de dev/AI, une réponse laconique de Claude avec une astuce vérifiée, un twist final et un retour à l'image de départ.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/NaxFur/reel-studio/tree/main/skills/duo-sketch-reel

Demander à votre IA préférée

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

Documentation

Que fait Duo sketch reel (Nerd + Claude) ?

Un sketch 3D où le Nerd panique et Claude (le robot orange) répond avec un ton laconique. Tout est procédural dans Blender : le décor, les deux rigs, le jeu d'acteur, les lumières, les caméras, les moniteurs, les superpositions, la musique et les effets sonores sont construits à partir d'un seul fichier par épisode, storyboard.json. Un nouvel épisode est des données, pas du code. Aucune génération d'image ou de vidéo n'est utilisée.

Un épisode est un dossier : <n'importe_quoi>/<AAAA-MM-JJ>_<slug>/ contenant storyboard.json et research.md. Le pipeline écrit tout le reste dedans (assets/, project/, renders/, final.mp4, cover.png, qa/). Deux épisodes terminés se trouvent dans examples/ du dépôt : copiez-en un pour commencer.

Workflow (dans l'ordre, ne sautez pas)

  1. Sujet (5 min). Une difficulté relatable du quotidien d'un développeur avec l'IA et UNE astuce qu'un développeur peut utiliser aujourd'hui. L'humour porte sur ce que le spectateur fait avec son IA, pas sur un outil. Règles et banque d'idées : references/retention.md.
  2. Recherche → research.md : chaque fait à l'écran / dans la voix / légende avec URL + date vérifiées, sources primaires (docs officielles, README, code source). Une section « Fiction » séparée pour les éléments inventés du sketch (temps, nombres, noms). Abandonnez ce que vous ne pouvez pas vérifier et mentionnez-le.
  3. Script + storyboard → storyboard.json (copiez un exemple et réécrivez-le). Schéma et vocabulaire : references/storyboard.md. Durée cible 30-40 s, 10-14 lignes, premier mot ≤ 0,5 s, un plan toutes les 1,5-3 s, le Nerd ouvre, Claude ferme, la dernière image renvoie à la première.
  4. Maquette libre (macOS) : pipeline.sh <episode> --say stills (voix système, sans crédits). Regardez renders/stills/sheet.jpg (une image par fin de mesure). Corrigez les collisions de cadrage/superposition, relancez. Pas sur macOS ? Ignorez --say : enregistrez ou générez les prises d'abord (étape 5), puis lancez stills.
  5. Voix. Un fichier audio par ligne dans assets/audio/dialogue_raw/<id de la mesure>.mp3 (L01.mp3, ...). Les épisodes de référence utilisent ElevenLabs eleven_v4 avec deux voix de bibliothèque – Nerd = "Quinn - Soft Nerd Boy", Claude = "Sarcastic Nigel" – et des balises audio dans chaque mesure tts (p. ex. [deadpan] It was ugly.). Avec le connecteur ElevenLabs dans Claude : estimez d'abord une ligne (≈ 1 crédit par caractère, balises incluses), puis une génération par ligne, et téléchargez chaque prise depuis son content_url. Un épisode de 11 à 14 lignes représente ≈ 700 à 900 crédits. Vos propres enregistrements fonctionnent aussi : mêmes noms de fichiers.
  6. Construction réelle + images clés : pipeline.sh <episode> stills. project/whisper_check.txt liste le script vs l'audible par ligne (ratio < 0,8 = écoutez-la). Les prises sont plus longues que la maquette say : vérifiez à nouveau la feuille.
  7. Final : pipeline.sh <episode> final (16 échantillons, 3 workers ≈ 3 s par image sur un Mac M-series : un sketch de 38 s ≈ 1 h ; lancez-le en arrière-plan). Il rend final.mp4, la variante B-hook final_b.mp4, cover.png, et exécute qa.py → qa/report.md (doit indiquer Bloquant : aucun).

Règles strictes

  • Personnages : ne pas redessiner le Nerd ou Claude (engine/scene/nerd.py, mascot.py). Claude n'a pas de bouche : il « parle » par compression du corps, rebonds, yeux et bras.
  • Un sketch peut inventer son histoire (c'est de la comédie), jamais une fonctionnalité de produit, un nombre, un benchmark ou une citation.
  • Les effets (tampons, clés, coches) apparaissent 0,2-0,3 s avant le mot qu'ils illustrent, jamais sur le dernier mot.
  • Maquette libre avant les voix payantes ; images clés avant le rendu final.

Fichiers

  • pipeline.sh <episode> [--say] [build|stills|draft|final]
  • engine/scene/ côté Blender : build_scene.py (entrée), animate.py (jeu/lumières/caméras depuis le storyboard), env.py décor, nerd.py, mascot.py, lights.py, tl.py (ancres, partagées avec les scripts).
  • engine/scripts/ : build_timeline.py (prises → timeline + mots whisper + lipsync), make_screens.py (modèles de moniteurs), make_overlay.py (accroche, sous-titres, éléments, carton titre, captions.srt), make_audio.py + synth.py (musique/effets sonores), master_audio.py (-14 LUFS), stills.py, draft.sh, render_final.sh, encode.sh, make_cover.py, cover_title.py, qa.py, make_textures.py.
  • Outils et chemins (variables d'environnement, macOS par défaut) : BLENDER (binaire Blender 5.x), DUO_PYTHON (un Python avec numpy, scipy, soundfile, pillow ; par défaut ~/.venvs/duo-reel/bin/python), WHISPER_MODEL (modèle whisper.cpp, par défaut ~/whisper-models/ggml-medium.en.bin), whisper-cli et ffmpeg dans le PATH, polices DUO_FONT_DISPLAY / DUO_FONT_MONO / DUO_FONT_SANS / DUO_FONT_EMOJI.
  • references/storyboard.md (schéma, chaque préréglage), references/retention.md (accroche/structure/sujets), references/lessons.md (choses qui ont mal tourné une fois).

Skills associés