Communitygithub.com

digitalsamba/parody-short

Curtas de comédia sobre a própria vida de um grupo – lançamento de equipe, fechamento de trimestre, mudança de escritório ou festa de despedida; a temporada de um clube; o ano de uma turma; o Natal de uma família – ou sobre um tópico compartilhado que todos reconhecem (videochamadas, retorno ao escritório), contado em um gênero emprestado (abertura de ação dos anos 80, filme de criatura, anúncio de Natal Dickens, assalto, documentário da natureza) e estrelado pelas fotos animadas reais do grupo ou um elenco inventado. Abrange a mineração do próprio contexto do grupo para piadas internas (chat, e-mail, calendários…).

O que é parody-short?

Esta skill, **Parody Shorts**, é uma ferramenta especializada para criar curtas-metragens de comédia altamente personalizados para audiências que conhecem as pessoas ou situações retratadas. Diferente de vídeos genéricos, o humor aqui vem do reconhecimento: rostos reais do grupo são animados em gêneros emprestados (como abertura de ação dos anos 80, documentário da natureza ou anúncio de Natal), e as piadas são extraídas do contexto real do grupo (canais de chat, e-mails, calendários). A skill foi projetada e refinada a partir de vídeos reais para uma equipe em novembro de 2026, e posteriormente aplicada em curtas públicos com elenco inventado para tópicos universais, como videochamadas intermináveis. O fluxo de trabalho é meticuloso e bem documentado, guiando o usuário por oito etapas: desde a definição do briefing e mineração de contexto, passando pelo mapeamento do gênero, criação de elenco (real ou inventado), produção de assets visuais e sonoros (com Remotion, FLUX, LTX, Qwen TTS e ACE-Step), até a verificação final de qualidade e segurança. As regras de segurança e afeto são inegociáveis: todas as piadas devem ser carinhosas, rostos reais nunca devem ser usados publicamente sem permissão, informações sensíveis devem ser ocultadas, e a forma do gênero deve ser emprestada sem copiar obras protegidas por direitos autorais. O resultado são vídeos curtos (60-90 segundos para anúncios, até 2 minutos para aberturas) que geram risadas mais fortes do que qualquer outra ferramenta no kit, pois a audiência ri de coisas que reconhece.

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

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Curtas de paródia

Uma comédia curta para uma audiência que conhece as pessoas nela, ou a situação: a grande noite de uma equipe contada como uma abertura de programa de ação dos anos 80, um filme de criatura de Halloween, um anúncio de TV de Natal. O grupo pode ser qualquer grupo (uma equipe de vendas, uma sala de professores, um clube de futebol de cinco, uma família) e o assunto qualquer coisa que viveram juntos. Eles acertam mais forte do que qualquer outra coisa que o kit de ferramentas produz, porque a audiência está rindo de coisas que reconhece. Esta skill é sobre como fazer um de propósito.

Construída e aprendida em três vídeos para uma equipe em novembro de 2026 (uma abertura de ação de um lançamento, sua versão irmã de Halloween, um anúncio de Natal de Um Conto de Natal). Eles não estão em examples/ porque estrelam colegas reais. Depois, em dois curtas públicos com elenco inventado (um trailer de terror sobre a videochamada que nunca acaba, um documentário da natureza sobre o retorno ao escritório), cada um em 16:9 e vertical, além de uma edição de marca na própria IU de um produto.

Por que funcionam (em ordem de peso)

  1. Rostos reais, em movimento. A mudança de nível foi animar as fotos de perfil da equipe. Fotos paradas renderam sorrisos; as mesmas pessoas levantando óculos de aviador ou brindando com ponche renderam risadas. O reconhecimento é o motor. Veja people.md.
  2. Piadas internas reais. Frases encontradas nos próprios canais da equipe superam qualquer piada escrita: um bordão de um colega, a funcionalidade que alguém insiste em incluir, a coisa que alguém vem dizendo há tempos. A passagem de contexto vale mais do que o polimento do roteiro. Veja context.md.
  3. Um gênero cujos batidas se encaixam no evento. A audiência já conhece a forma (três regras que são quebradas; fantasmas do passado, presente e futuro; a equipe se reunindo), então o vídeo apenas preenche as batidas. Quanto mais apertado o mapeamento, menos o roteiro precisa explicar. Veja genres.md.
  4. Permissão para exagerar. Estes não são notas de lançamento. Quando a pessoa que pede diz que os fatos não importam, números podem ser inflados e cronogramas inventados. Pergunte uma vez, cedo; depois pare de verificar piadas.
  5. Afeição é o limite. Todos são heróis de uma piada ou estão incluídos, nunca vítimas. Isso mantém o tom caloroso, e também é a regra de segurança (abaixo).
  6. Uma aparência e som por gênero. Suas próprias fontes, sobreposição e gradação (rastreamento VHS, grão de filme e letterbox, luz de velas), uma música ou trilha sonora original, alguns efeitos sonoros, no máximo uma linha de narrador em um anúncio. Nada deve parecer um modelo do kit de ferramentas.
  7. Curto. Um anúncio tem 60-90 s. Uma "abertura de programa" pode durar 2 min. Após ~2:30 o meio perde força; corte aí primeiro.
  8. Escolher cada clipe. Cerca de um em três clipes LTX corta para um estranho. Um rosto errado quebra o feitiço, então faça uma folha de contato de cada clipe e regere.

Dois tipos de elenco

  • Pessoas reais (as próprias fotos do grupo): as risadas mais fortes, para uma audiência que as conhece. Interno por padrão; público apenas com a permissão por escrito de cada pessoa.
  • Um elenco inventado (retratos FLUX ou personagens não humanos): para um vídeo público, ou um tópico compartilhado onde a audiência reconhece a situação em vez das pessoas (videochamadas, a cozinha do escritório). O reconhecimento move-se dos rostos para a situação, então a situação tem que ser universal e específica: "você está mudo", a planilha com 412 guias, a jaqueta na mesa quente. Veja people.md passo 0.
  • Elenco uma vez, use em todos os lugares. Gere o elenco inventado uma vez em uma pasta compartilhada e dê a cada vídeo seus próprios figurinos e clipes dos mesmos rostos. Dois vídeos com as mesmas quatro pessoas parecem uma série, e uma referência entre eles (a última linha do vídeo 2 é a primeira do vídeo 1) é uma risada grátis.

Regras que não são opcionais

  • Totalmente carinhoso. Ninguém no grupo é o alvo de uma piada que não gostaria. Sem desempenho, saúde, vida pessoal ou qualquer coisa dita em confiança. Em caso de dúvida, corte a linha.
  • Pessoas reais permanecem internas. A semelhança delas pertence a elas. Faça para o grupo, compartilhe apenas com link e peça antes de publicar em qualquer lugar público. Qualquer pessoa que pedir para ser excluída é excluída.
  • Nada sensível na tela. Sem nomes de clientes ou parceiros, sem nomes de host, sem valores secretos (um segredo é uma barra borrada ou ••••), sem URLs internas. Renomeie sistemas reais ("RELAY ONE").
  • Palavras e música originais. Empreste a forma de um gênero, nunca os personagens, nomes, falas, designs ou tema musical de uma obra. Uma história de domínio público (Dickens, Grimm, Shakespeare) pode ser usada diretamente; um filme ou programa de TV não pode, renomeado ou não. Escreva letras originais para qualquer música (skill acestep).
  • Cite apenas onde a audiência poderia ter lido. Canais públicos da equipe, sim. DMs, não. Veja context.md.

Antes de começar

  • Endpoints GPU (Modal, uma vez): uv sync --extra modal && uv run modal setup, depois uv run tools/modal_setup.py flux2 image_edit ltx2 qwen3_tts. LTX é restrito: precisa de um segredo Modal com seu token Hugging Face (docs/modal-setup.md). Música: uma ACEMUSIC_API_KEY gratuita em .env (skill acestep).
  • O projeto é um projeto Remotion simples em projects/<nome>/; nenhum modelo serve, já que nada aqui deve se parecer com um. Copie package.json e remotion.config.ts de qualquer template (a configuração faz com que as importações de lib/ resolvam), mantenha uma composição por corte em src/Root.tsx, e coloque os clipes do elenco em public/people/. Uma cena é uma <Sequence> em quadros absolutos com a pessoa nela:
import { LivingPhoto } from '../../../lib/components/LivingPhoto';
// reproduz o clipe uma vez e mantém seu último quadro bom; fit desacelera um clipe ligeiramente curto para preencher a cena
<Sequence from={120} durationInFrames={180}>
  <LivingPhoto src="people/sam-xmas.mp4" hold={140} fit={180} pos="center 30%" style={{ inset: 0 }} />
</Sequence>

Fluxo de trabalho

EtapaO quêLeia
1. BriefingEvento, audiência, elenco (3-6 pessoas), gênero, duração, "os fatos importam?"este arquivo
2. ContextoMinerar os canais e ferramentas do grupo; escrever public/bible.mdcontext.md
3. MapearBatidas do gênero no evento; uma batida por pessoa; escolher falas da bíbliagenres.md
4. ElencoFotos ou um elenco inventado, figurino com image_edit, animar com LTX, folha de contatopeople.md
5. MundoFundos FLUX (sem texto), Efeitos Sonoros, música ou uma canção com letras originaisacestep, elevenlabs
6. ConstruirCenas Remotion em quadros absolutos; LivingPhoto para o elenco; sobreposição de gêneropeople.md, video-design
7. VerificarFolha de contato da renderização, qc.py --render --fix, sync_check.py --cues, então as regras de segurança novamentevideo-design/critique.md, CLAUDE.md
8. CortesVertical, e uma edição de marca se desejado: novos layouts sobre os mesmos assetsformats.md

Cenas, não planos. Estes são editados como anúncios: uma lista fixa de cenas com intervalos de quadros absolutos, uma dissolução de 10-20 quadros entre cenas, a música ou trilha sonora sob tudo. Se houver narração, gere-a primeiro e ancore-se nela (CLAUDE.md, Linhas do Tempo Âncora de Áudio); um anúncio com uma linha final de narrador pode ser liderado pela música.

Som em um movimento: meça, não estime. Um espirro, uma jaqueta caindo, um tilintar de crachá: coloque cada som com tools/sync_check.py --clip (onde seu pico encontra o movimento), liste-o no sync-cues.json do projeto, e execute sync_check.py --video ... --cues em toda renderização antes de mostrá-la. Um espirro colocado manualmente estava meio segundo adiantado; outras três dicas estavam 0,8-1,0 s atrasadas. Se um clipe congelar ou cortar, termine seu som ali também.

Texto é o portador da piada. Balões de fala, um carimbo, um cartão de dança, uma lápide, uma etiqueta digitada. Remotion renderiza tudo (FLUX e LTX distorcem texto). Dê a cada piada na tela uma dica de quadro e um som.

Vozes. Para um narrador que ninguém possui, projete um com Qwen VoiceDesign a partir de um breve resumo escrito ("uma narradora britânica de meia-idade e calorosa narrando um documentário da natureza, sussurrada, um ritmo lento e medido"; "um locutor de trailer de cinema profundo e grave"): qwen3_tts.py --design-instruct "..." --text "<um parágrafo de semente de 20 s no gênero, não o roteiro>" --format wav. VoiceDesign cria uma nova voz a cada chamada, então projete uma vez, depois clone essa referência para cada frase (três takes, pick_takes.py). Descreva um gênero, nunca uma pessoa real; escolher um narrador que a voz famosa do gênero não é (uma mulher para um filme da natureza) mantém claramente original.

Cortes. Planeje o corte vertical e qualquer edição de marca desde o início; eles reutilizam todos os assets gerados e custam apenas uma renderização cada. Veja formats.md.

Reutilização entre gêneros. Um elenco animado uma vez pode ser refigurado para o próximo feriado: as fotos, recortes bíblia de contexto são transportados, e apenas os figurinos, clipes e mundo mudam.

Custo (Modal, 2026-11)

LTX ~$0.08 por clipe de 5 s, image_edit ~$0.01 por edição quente (um início frio leva ~10 min; envie uma edição primeiro e espere), FLUX ~$0.01 por fundo ou retrato, música ACE-Step alguns centavos. Um anúncio de 90 s com cinco membros do elenco e re-rolls custa cerca de $2. Dois curtas de 80-100 s compartilhando um elenco inventado (9 edições de figurino, 16 clipes, 2 vozes projetadas) custaram cerca de $2.50 juntos. A API acemusic pode retornar 502s no meio do lote; um take com falha é ignorado, então execute novamente para obter mais.

Relacionados

context.md, genres.md, people.md, formats.md aqui; 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...

Habilidades Relacionadas