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
-
Configuração.
scripts/setup_jobs.sh PROJETO INICIO_N video1 video2 …→job-NN/{assets/source.mp4,analysis,project,renders}. Copie imagens paraPROJETO/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). -
Triagem (paralelo, um agente por vídeo). Modelo §1. Cada um escreve
analysis/triage.json|mdcom 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. -
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.
-
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.
-
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 emvoice_refs/takes/. -
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.wavpor job, verificado por transcrição. -
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ê mesmoproject/rebrand_job.py. -
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. -
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.