Communitygithub.com

CarVendors Video Studio v4

Skill para reedição em massa de vídeos curtos do CarVendors.co.uk (TikTok, Reels, YouTube Shorts) com gancho, transição, texto premium e música, no Mac e Windows.

O que é CarVendors Video Studio v4?

O CarVendors Video Studio v4 é uma skill especializada para agentes de IA (como Claude Code, Cursor ou Codex) que automatiza a reedição de centenas de vídeos curtos do CarVendors.co.uk e B&F Cars Northampton. Seu principal objetivo é pegar os ~200 vídeos antigos do TikTok (@bnf_cars) armazenados no Google Drive e transformá-los em Reels, TikToks e Shorts rebrandados, de forma barata e em lote. O fluxo de trabalho é simples: a IA escolhe um gancho de atenção (hooks) do catálogo compartilhado, insere uma transição (corte, chicote, flash ou zoom), mantém o vídeo original completo, adiciona uma vinheta final, um selo de logo fixo, textos premium nos momentos-chave, música e normalização de loudness. A skill gerencia um livro-razão de ganchos usados para evitar repetições. Suporta Mac e Windows, e lida com decisões de cobertura/remoção de textos antigos. O usuário interage com comandos como "edit video 7", "plan 1-20" ou "render the ready ones".

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/delwerhossain/carvendors-video-studio/tree/HEAD/skills/carvendors-studio

Perguntar na sua IA favorita

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

Documentação

O que CarVendors Video Studio v4 faz?

Fale com o usuário em Bangla curto e simples. Tudo nos vídeos está em inglês do Reino Unido. $CS = esta pasta da skill (~/.claude/skills/carvendors-studio, Windows %USERPROFILE%\.claude\skills\carvendors-studio). $PY = o Python da skill: Mac ~/.cache/carvendors-studio/venv/bin/python, Windows %USERPROFILE%\.cache\carvendors-studio\venv\Scripts\python.exe (criado pela instalação; tem numpy + scipy).

0. Regras que nunca se quebram

  1. Sem fatos inventados. Preço, quilometragem, motor, ano, "nova chegada", "vendido", financiamento, economia, placas apenas com evidência. Texto e comentários antigos do TikTok não são evidência.
  2. Real permanece real. Apenas filmagens reais e fotos reais do showroom; sem carros, pessoas, showrooms ou placas feitos por IA.
  3. Marca: CarVendors.co.uk é a marca principal; "Revendedor em destaque: B&F Cars" é secundário. CarVendors ajuda pessoas a encontrar/conectar com carros; não vende o carro. Ambas são nossas empresas.
  4. Vídeo completo, duração equilibrada: mantenha a FONTE inteira em ordem (sem cortes de cena). Adicione um gancho e uma vinheta final. Total ≈ fonte + 3–7 s. Corte apenas quadros pretos/congelados/duplicados.
  5. Barato por design: use a via rápida (batch.py + build.py). Não escreva HTML de composição manualmente, não reanalise ganchos (o catálogo compartilhado já os tem), olhe para UMA folha de contato por vídeo. Pergunte apenas quando estiver travado.
  6. Nunca imprima ou copie chaves de API (~/.config/video-studio/.env). Nunca sobrescreva uma exportação (_v2, _v3…).
  7. Não tem certeza onde algo está ou o que o usuário quer → verifique $PY $CS/tools/paths.py show e a pasta CarVendors Drive (paths.py get carvendors — ela contém todo o contexto: fontes, logo, fotos do showroom, banners, avaliações de clientes, prévias de estilo de texto), depois faça uma pergunta curta.

1. Onde as coisas estão (automático, Mac + Windows)

$PY $CS/tools/paths.py show encontra o "My Drive" do Google Drive deste PC e lê a configuração da equipe My Drive/Projects/CarVendors/_studio/config.json (caminhos relativos ao My Drive + padrões da equipe). Nenhuma configuração quando o Drive está rodando. Substituições para um PC: paths.py set <chave> <caminho> / paths.py drive <caminho do My Drive>. Chaves: car_sources (pastas 1-200 com video.mp4, comments.txt, às vezes Voice/), hooks, bgm, sfx, fonts, logos, showroom_pics, text_refs, outros, exports (vídeos finalizados para upload), studio (catálogo compartilhado + livro-razão), projects_root (pastas de trabalho locais, ~/Projects/videos).

2. O loop em lote (padrão)

$PY $CS/tools/batch.py plan 1-20      # diretórios de trabalho ~/Projects/videos/bnf-vNNN + rascunho job.json + folha de contato + caixas de texto
  → para cada vídeo: olhe para work/qa/contact.jpg, edite job.json (§3), defina "ready": true
$PY $CS/tools/batch.py render 1-20    # constrói e renderiza cada trabalho pronto, exporta para o Drive, escreve o livro-razão de ganchos
$PY $CS/tools/batch.py status 1-200

Um vídeo manualmente: $PY $CS/tools/build.py <job.json> (apenas verificação) → opcional npx hyperframes snapshot <job>/work/hf --at <t> → build.py <job.json> --render. Trabalhe em lotes de 10-20; após cada lote, olhe as folhas de quadro (output/*_frames.jpg) antes do próximo.

3. O que decidir por vídeo (o único trabalho de IA)

A partir da folha de contato + source_info + text_hint no job.json:

  • slug: nome curto do modelo, ex. mitsubishi-asx.
  • Aparência do texto: siga references/text-style.md exatamente (as imagens de prévia em text_refs): texto branco Montserrat Black, UM destaque = pílulas/etiquetas vermelho da marca #E8202A, cartões brancos com texto carvão, verde apenas para pequenos pontos/marcas, logo limpo no centro-superior. Nunca caixas, pílulas ou distintivos carvão/preto sobre a filmagem.
  • Texto antigo (cada caixa text_hint, src = pixels da fonte, canvas = 1080x1920 px), melhor opção barata: manter (inofensivo, legível, alinhado à marca, ex. um nome de modelo simples) → cobrir com covers[] (text-cover, estilo card = cartão branco + etiqueta kicker vermelha, em coordenadas canvas, SEMPRE com uma linha, ex. kicker "EM DESTAQUE" + "Visto na B&F Cars") quando mostra preços, "TikTok", outros negócios, afirmações rudes ou não verificadas → remover (remove[] = caixa src, inpaint) apenas se uma cobertura esconder o carro. Nunca uma cobertura vazia.
  • Sobreposições (0-3, apenas nos momentos-chave, nunca sobre o rosto/distintivo/rodas do carro): label-card no primeiro plano · punch-text ("Abarth Icônico / [Estilo]", "Perfeito para / [Dirigir na Cidade]", "Esportivo / [Interior]") em detalhes ou planos internos · hero-model (grande "ABARTH / 595") quando o céu está vazio · detail-line "Nos / detalhes." em um close-up. Pílula = vermelho da marca sempre. Em nuvem branca / para-brisas claros: mova o texto ou lineBg 0.35-0.5 (brilho suave, sem caixa). Os tempos são em segundos a partir do início do vídeo principal.
  • gancho: deixe "auto" (menos usado, não usado nas últimas N edições). "car_hook": true para a pasta Car Hooks. Um gancho nomeado: {"file": "Car Hooks/Car Flip.mp4", "in": 0, "out": 3.2} — ação completa, corte apenas o tempo morto após o payoff. transition: cut (padrão) · whip · flash · zoom — exatamente um.
  • voz: apenas se ready_voiceover existir e o usuário quiser; transcreva e verifique os fatos primeiro. Todo o resto (distintivo do logo, música, vinheta final, gradação) vem dos padrões da equipe; substitua apenas por um motivo.

Lista completa de campos: docstring de tools/build.py. Exemplo: examples/job-v002.json.

4. Ganchos, vinheta final, música compartilhados (mesmo em todos os PCs via Drive)

  • $PY $CS/tools/hooks.py list|stats|pick <id>|sheet <nome>|scan — catálogo de todos os ganchos (duração, pico de ação, in/out sugeridos, tira de prévia) e contagens de uso em _studio/ledger/*.json. Execute scan após adicionar ganchos.
  • Vinheta final: coloque o vídeo de vinheta final da equipe na pasta outros e defina defaults.outro_video em _studio/config.json; toda nova construção o usará. Até lá: vinheta final com foto real do showroom (defaults.outro_photo).
  • Música: lista defaults.music na configuração (faixas da biblioteca, licença verificada, linha de crédito na postagem). Logo: defaults.logo (logo-badge, estilo clean, centro-superior — a aparência de referência).

5. Antes de dizer que um vídeo está pronto

build.py relata hyperframes check — deve dizer "Check passed" (corrija o contraste por posição ou lineBg). Olhe a folha de quadro: texto antigo removido ou coberto, nenhum texto sobre o carro, logo legível, corte gancho → principal limpo. Relate em Bangla: caminho(s) de saída, gancho usado, o que foi coberto/removido, qualquer bloqueio. Forneça texto da postagem em inglês do Reino Unido quando solicitado (inclua a linha de crédito da música para faixas NCS).

6. Leia mais apenas quando necessário

  • references/text-style.md — A aparência do texto (paleta, tipo, os sete elementos, posicionamento). Leia antes das sobreposições.
  • references/components.md — variáveis de cada componente (label-card, punch-text, text-cover, logo-badge, hero-model, detail-line, shape-text, verified-feature, caption-line, localized-contrast, outro-real-showroom).
  • references/design.md — sistema de design completo, cor, predefinições de tipo (PUNCH / CINEMATIC), escada de texto antigo, acabamento de editor humano, gradação de cor, marca/afirmações.
  • references/audio.md — voz (ElevenLabs tools/tts.py, modelo escolhido por vídeo, pré-aprovado para este trabalho), música/SFX, loudness. references/quality.md — portões de qualidade e histórico.
  • Novos anúncios do zero (história + cenas de IA + voz): Planeje primeiro com o usuário; mesmas regras, build.py para montagem.

Habilidades Relacionadas