Communitygithub.com

Ad Rebrand - Troca de Nome em Anúncios

Atualiza anúncios em vídeo e imagens após uma renomeação de produto ou marca — substituindo todas as menções faladas, legendadas e visuais do nome antigo pelo novo, usando vozes clonadas para fala e uma equipe de subagentes.

O que é Ad Rebrand - Troca de Nome em Anúncios?

Esta skill (Ad Rebrand) é projetada para automatizar a rebranding de anúncios em vídeo e imagens existentes, substituindo todas as menções ao nome antigo (falado, legendado, logotipos, etiquetas, embalagens, capturas de tela, etc.) pelo novo nome, mantendo o restante do anúncio intacto (mesmos quadros, tempo e música). Ela usa clonagem de voz para substituir a fala, redesenho de legendas na mesma fonte do vídeo, e uma equipe de subagentes que trabalham em paralelo para acelerar o processo (vídeos, imagens e áudio simultaneamente). A skill suporta apenas macOS (via Homebrew) e requer ferramentas como ffmpeg, whisper-cli e uma venv Python com OpenCV, Pillow, torch, dentre outros. O fluxo de trabalho inclui etapas como triagem de cada vídeo (paralelo), consolidação e aprovação do usuário para clonagem de voz, execução das substituições visuais e de áudio, montagem final, verificação de qualidade (QC) com scripts dedicados e entrega dos resultados. Funcionalidades opcionais incluem cortes de engajamento (zoom, chamadas, barra de progresso, efeitos sonoros sintetizados). O usuário deve ler o arquivo references/lessons.md antes de começar para evitar erros conhecidos.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/BiggFig/ad-rebrand/tree/main

Perguntar na sua IA favorita

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

Documentação

O que Ad Rebrand - Troca de Nome em Anúncios faz?

Transforme um lote de anúncios existentes para a nova marca: toda menção falada regravada na voz clonada do locutor original, toda legenda reescrita na fonte de legenda do próprio vídeo, todo logotipo/etiqueta/rótulo na tela reescrito ou limpo — mantendo o resto de cada anúncio intacto (mesmos quadros, ritmo, música).

Paralelize com subagentes (ferramenta Agent, run_in_background: true, uma mensagem lançando todos os agentes independentes). Modelos de prompt: references/agent-prompts.md. Leia references/lessons.md antes de começar — ele registra o que deu errado na última vez.

Entradas a definir primeiro

  • Nomes antigos (produto e marca) e o novo nome — e como o whisper pode ouvir errado os antigos (ex.: "physio rest", "artivate").
  • Os arquivos (vídeos, imagens). Trabalhe em uma pasta de projeto que o usuário possa manter (ex.: ~/Downloads/ Edições de Vídeo); nunca edite os originais.

Fluxo de trabalho

  1. Configuração. scripts/setup_jobs.sh PROJETO INICIO_N video1 video2 … → job-NN/{assets/source.mp4,analysis,project,renders}. Copie imagens para PROJETO/images/source/. Ambiente: ffmpeg/whisper-cli via Homebrew, venv Python ~/.cache/video-studio-venv (numpy, opencv-contrib, pillow, soundfile, demucs, torch; pyworld para palavras cantadas), modelo whisper ~/.cache/whisper/ggml-small.en.bin. Se estiver faltando, instale (Homebrew precisa da senha do usuário em uma aba do terminal).

  2. Triagem (paralelo, um agente por vídeo). Modelo §1. Cada um escreve analysis/triage.json|md com intervalos de fala refinados, locutores + intervalos de referência limpa para clonagem, cada ocorrência visual/legenda com intervalos de quadro e peculiaridades. Verifique você mesmo as imagens (aplique zoom em etiquetas/rótulos na resolução máxima) — muitas não precisam de nada.

  3. Consolidar e perguntar uma vez (AskUserQuestion):

    • Direitos de voz: liste cada voz distinta que precisa ser clonada (agrupe vídeos que compartilham narração — compare envelopes de stem vocal; compare mediana F0 para distinguir locutores). A clonagem exige um sim explícito do usuário por voz.
    • Qualquer coisa que não seja a marca antiga mas pareça um problema: marcas de outros produtos no produto, configurações de varejo/endosso (funcionários de loja, logotipos de loja), alegações inconsistentes, redundância de roteiro devido à renomeação. Marcas d'água de terceiros: sinalize, nunca remova.
    • Menções cantadas: explique que precisam de reajuste de tom e exigirão uma audição humana.
  4. Inicie a equipe visual imediatamente (modelo §2) — ela não depende das vozes. Agrupe vídeos que são a mesma edição em um agente. Agente de imagens: modelo §5.

  5. Vozes. Exporte referências de clonagem do stem vocal de cada job (25–35 s, sem nomes de marca) para PROJETO/voice_refs/. Prefira a API Fish (examples/voice-splice/fish_tts_api.py, chave em ~/.config/video-studio/.env) se tiver crédito de API; caso contrário, crie clones privados no aplicativo web Fish no Chrome do usuário — references/fish-audio-web.md. Gere as falas de cada voz em um único script, ambas as takes, salvas em voice_refs/takes/.

  6. Equipe de áudio (paralelo, um agente por voz/grupo de job). Modelo §3 para fala, §4 para palavras cantadas. Saída: analysis/stems/vocals_nookwave.wav por job, verificado por transcrição.

  7. Monte cada job assim que sua imagem e voz estiverem prontas: scripts/mux_final.py JOB SAIDA_NOME.mp4 (imagem rebranded + novos vocais + trilha musical original). Se um agente visual retornar algo inacabado, execute você mesmo project/rebrand_job.py.

  8. Faça o controle de qualidade de cada final você mesmo — os relatórios dos agentes são alegações, não provas: scripts/check_final.py source.mp4 final.mp4 --old "physio|fisio|artuvate|artivate" --new "nook" --frames <um quadro por item corrigido> → correspondência de contagem de quadros, decodificação limpa, loudness vs. fonte, zero nomes antigos falados e uma planilha fonte|final que você deve examinar. Faça transcrição localizada de janelas de 5 s ao redor de cada menção se os totais parecerem estranhos (whisper de arquivo inteiro mescla frases). Para linhas cantadas, espere que o whisper tenha dificuldade também no original.

  9. Entrega. Finais na raiz do projeto com nomes descritivos, um zip se solicitado (zip -0, vídeos já estão comprimidos), e um resumo: o que mudou por arquivo, o que precisa de audição humana (palavras cantadas, pausas após um nome mais curto), quadros imperfeitos conhecidos e as questões não relacionadas à marca sinalizadas.

Opcional: cortes de engajamento

Para solicitações "tornar mais envolvente" além da rebranding, examples/engagement-edit/ contém o construtor de plano (listas de manutenção no nível da frase ajustadas a pontos de silêncio, chamadas, zoom) e o renderizador (alternância de zoom em cortes abruptos, chamadas com a marca, barra de progresso, SFX sintetizado, correções de retenção de legenda nos cortes, loudnorm −14 LUFS). Reutilize em vez de reescrever.

Arquivos incluídos

  • scripts/setup_jobs.sh, scripts/mux_final.py, scripts/check_final.py — genéricos.
  • examples/ — código funcional e específico para jobs da primeira execução (caminhos e números de quadro estão codificados; adapte, não execute cegamente):
    • caption-and-tag-library/ — redesenho de legendas, etiquetas de couro giratórias, placas curvas, apagador de sacolas, rastreamento multiescala (rebrand_job01.py); legendas com glifos recortados, etiquetas gravadas/em relevo, reimpressão de sacola rastreada (caption_lib.py, text_lib.py, track_lib.py, rebrand_job05.py).
    • web-and-sign-library/ — legendas com glifos próprios (captions.py), placa de sinalização de edifício, redefinição de texto de página web, prensagem de etiqueta, sacola giratória com animação manual (rbk.py, rebrand_job02.py), página de tela de laptop (rebrand_job06_laptop.py), rolagem de página de avaliação, logotipo de placa final, remoção de relevo de terceiros (rebrand_job07.py), folhas de QC (visual_qc.py).
    • voice-splice/ — substituição de palavras com intervalo medido e substituições de take; cliente da API Fish.
    • sung-word/ — re-canto baseado em WORLD sobre a melodia original.
    • still-image/ — substituição de texto por homografia em embalagens.

Habilidades Relacionadas