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
- 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.
- Real permanece real. Apenas filmagens reais e fotos reais do showroom; sem carros, pessoas, showrooms ou placas feitos por IA.
- 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.
- 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.
- 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. - Nunca imprima ou copie chaves de API (
~/.config/video-studio/.env). Nunca sobrescreva uma exportação (_v2,_v3…). - Não tem certeza onde algo está ou o que o usuário quer → verifique
$PY $CS/tools/paths.py showe 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.mdexatamente (as imagens de prévia emtext_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 comcovers[](text-cover, estilocard= cartão branco + etiqueta kicker vermelha, em coordenadascanvas, 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[]= caixasrc, 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-cardno 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 oulineBg0.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": truepara 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_voiceoverexistir 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. Executescanapós adicionar ganchos.- Vinheta final: coloque o vídeo de vinheta final da equipe na pasta
outrose definadefaults.outro_videoem_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.musicna configuração (faixas da biblioteca, licença verificada, linha de crédito na postagem). Logo:defaults.logo(logo-badge, estiloclean, 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 (ElevenLabstools/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.pypara montagem.