Communitygithub.com

CarVendors Video Studio v4

Le skill de l'équipe pour les vidéos CarVendors.co.uk (B&F Cars Northampton comme concessionnaire vedette). Tâche principale : ré-éditer en masse les ~200 anciennes vidéos TikTok @bnf_cars en Reels / TikTok / YouTube Shorts CarVendors polis et rebrandés, à moindre coût.

Qu'est-ce que CarVendors Video Studio v4 ?

CarVendors Video Studio v4 est un skill spécialisé pour les agents IA (comme Claude Code, Cursor, Codex) conçu pour automatiser la ré-édition en masse des vidéos TikTok d'un concessionnaire automobile vers des formats Reels, TikTok et YouTube Shorts pour la marque CarVendors.co.uk. Il remplace le travail manuel par un pipeline en boucle : planification, édition des métadonnées, rendu, exportation, et suivi des hooks. Le skill fonctionne sur Mac et Windows, s'intègre à Google Drive pour les sources, et utilise un catalogue partagé de hooks, musique, logos, et polices. Les règles strictes interdisent les faits inventés, l'IA générative d'images, et les modifications des exports. L'assistant doit poser des questions en bengali simple et produire les vidéos en anglais britannique. Le workflow principal repose sur des scripts Python (`batch.py` et `build.py`) qui traitent les vidéos par lots de 10 à 20, avec une vérification qualité via des planches contact et un rapport de conformité.

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

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait CarVendors Video Studio v4 ?

Parle à l'utilisateur en bengali simple et court. Tout dans les vidéos est en anglais britannique. $CS = ce dossier de skill (~/.claude/skills/carvendors-studio, Windows %USERPROFILE%\.claude\skills\carvendors-studio). $PY = le Python du skill : Mac ~/.cache/carvendors-studio/venv/bin/python, Windows %USERPROFILE%\.cache\carvendors-studio\venv\Scripts\python.exe (créé par l'installation ; contient numpy + scipy).

0. Règles inflexibles

  1. Aucun fait inventé. Prix, kilométrage, moteur, année, « nouvelle arrivée », « vendu », financement, économie, plaques uniquement avec preuve. Les anciens textes et commentaires TikTok ne sont pas des preuves.
  2. Le réel reste réel. Uniquement des images réelles et des photos de showroom réelles ; pas de voitures, personnes, showrooms, panneaux générés par IA.
  3. Marque : CarVendors.co.uk est la marque principale ; « Concessionnaire vedette : B&F Cars » est secondaire. CarVendors aide les gens à trouver/entrer en contact avec des voitures ; il ne vend pas la voiture. Les deux sont nos sociétés.
  4. Vidéo complète, durée équilibrée : garde la SOURCE entière dans l'ordre (pas de coupures de scène). Ajoute un hook et un outro. Durée totale ≈ source + 3-7 s. Rogne uniquement les images noires/gelées/dupliquées.
  5. Économique par conception : utilise la voie rapide (batch.py + build.py). N'écris pas de HTML de composition à la main, ne réanalyse pas les hooks (le catalogue partagé les contient), regarde UNE planche contact par vidéo. Demande seulement quand tu es bloqué.
  6. Ne jamais imprimer ou copier les clés API (~/.config/video-studio/.env). Ne jamais écraser une exportation (_v2, _v3…).
  7. Incertain de l'emplacement de quelque chose ou de ce que l'utilisateur veut → vérifie $PY $CS/tools/paths.py show et le dossier Drive CarVendors (paths.py get carvendors — il contient tout le contexte : sources, logo, photos de showroom, bannières, avis clients, aperçus de style de texte), puis pose une courte question.

1. Où se trouvent les choses (automatique, Mac + Windows)

$PY $CS/tools/paths.py show trouve le dossier Google Drive « My Drive » de ce PC et lit la configuration d'équipe My Drive/Projects/CarVendors/_studio/config.json (chemins relatifs à My Drive + paramètres par défaut de l'équipe). Pas de configuration lorsque Drive est en cours d'exécution. Remplacements pour un PC : paths.py set <clef> <chemin> / paths.py drive <chemin My Drive>. Clefs : car_sources (dossiers 1-200 avec video.mp4, comments.txt, parfois Voice/), hooks, bgm, sfx, fonts, logos, showroom_pics, text_refs, outros, exports (vidéos finies pour téléchargement), studio (catalogue partagé + registre), projects_root (dossiers de travail locaux, ~/Projects/videos).

2. La boucle de traitement en masse (par défaut)

$PY $CS/tools/batch.py plan 1-20      # dossiers de travail ~/Projects/videos/bnf-vNNN + brouillon job.json + planche contact + zones de texte
  → pour chaque vidéo : regarde work/qa/contact.jpg, édite job.json (§3), mets "ready": true
$PY $CS/tools/batch.py render 1-20    # construit et rend chaque travail prêt, exporte vers Drive, écrit le registre des hooks
$PY $CS/tools/batch.py status 1-200

Une vidéo à la main : $PY $CS/tools/build.py <job.json> (vérification uniquement) → facultatif npx hyperframes snapshot <job>/work/hf --at <t> → build.py <job.json> --render. Travaille par lots de 10-20 ; après chaque lot, regarde les planches d'images (output/*_frames.jpg) avant le suivant.

3. Ce qu'il faut décider par vidéo (le seul travail d'IA)

À partir de la planche contact + source_info + text_hint dans job.json :

  • slug : nom de modèle court, par ex. mitsubishi-asx.
  • Apparence du texte : suis exactement references/text-style.md (les images d'aperçu dans text_refs) : texte blanc Montserrat Black, UN accent = pastilles/étiquettes rouge marque #E8202A, cartes blanches avec texte charbon, vert uniquement pour les petits points/coches, logo propre en haut-centre. Jamais de boîtes/pastilles/insignes charbon/noir sur les images.
  • Ancien texte (chaque boîte text_hint, src = pixels source, canvas = 1080x1920 px), meilleure option économique : garder (inoffensif, lisible, cohérent avec la marque, par ex. un nom de modèle simple) → couvrir avec covers[] (text-cover, style card = carte blanche + étiquette kicker rouge, sur les coordonnées canvas, TOUJOURS avec une ligne, par ex. kicker "EN VEDETTE" + "Repéré chez B&F Cars") lorsque cela affiche des prix, « TikTok », d'autres entreprises, des affirmations grossières ou non vérifiées → supprimer (remove[] = boîte src, inpainting) uniquement si une couverture cacherait la voiture. Jamais de couverture vide.
  • Superpositions (0-3, moments clés uniquement, jamais sur le visage/insigne/roues de la voiture) : label-card sur le premier plan · punch-text (« Iconique Abarth / [Style] », « Parfait pour / [Conduite en ville] », « Sportif / [Intérieur] ») sur les plans de détail ou d'intérieur · hero-model (grand « ABARTH / 595 ») quand le ciel est vide · detail-line « Dans les / détails. » sur un gros plan. Pastille = rouge marque toujours. Sur nuage blanc / pare-brise lumineux : déplace le texte ou lineBg 0.35-0.5 (lueur douce, pas de boîte). Les temps sont en secondes depuis le début de la vidéo principale.
  • hook : laisse "auto" (le moins utilisé, pas utilisé dans les N dernières éditions). "car_hook": true pour le dossier Car Hooks. Un hook nommé : {"file": "Car Hooks/Car Flip.mp4", "in": 0, "out": 3.2} — action entière, coupe uniquement le temps mort après le payoff. transition : cut (par défaut) · whip · flash · zoom — exactement une.
  • voix : uniquement si ready_voiceover existe et que l'utilisateur le souhaite ; transcris et vérifie d'abord les faits. Tout le reste (insigne logo, musique, outro, étalonnage) provient des paramètres par défaut de l'équipe ; ne remplace que pour une raison.

Liste complète des champs : docstring de tools/build.py. Exemple : examples/job-v002.json.

4. Hooks partagés, outro, musique (identiques sur chaque PC via Drive)

  • $PY $CS/tools/hooks.py list|stats|pick <id>|sheet <name>|scan — catalogue de tous les hooks (durée, pic d'action, in/out suggérés, bande d'aperçu) et compteurs d'utilisation depuis _studio/ledger/*.json. Exécute scan après avoir ajouté des hooks.
  • Outro : mets la vidéo outro de l'équipe dans le dossier outros et définis defaults.outro_video dans _studio/config.json ; chaque nouvelle construction l'utilise. En attendant : outro avec photo réelle de showroom (defaults.outro_photo).
  • Musique : liste defaults.music dans la configuration (pistes de bibliothèque, licence vérifiée, ligne de crédit dans la publication). Logo : defaults.logo (logo-badge, style clean, en haut-centre — l'apparence de référence).

5. Avant de dire qu'une vidéo est terminée

build.py signale hyperframes check — il doit afficher « Check passed » (corrige le contraste par position ou lineBg). Regarde la planche d'images : ancien texte disparu ou couvert, pas de texte sur la voiture, logo lisible, hook → coupe principale nette. Rapporte en bengali : chemin(s) de sortie, hook utilisé, ce qui a été couvert/supprimé, tout blocage. Donne le texte de publication en anglais britannique quand demandé (inclut la ligne de crédit musicale pour les pistes NCS).

6. Lire plus seulement quand nécessaire

  • references/text-style.md — L'apparence du texte (palette, typographie, les sept éléments, placement). À lire avant les superpositions.
  • references/components.md — Les variables de chaque composant (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 — Système de conception complet, couleurs, préréglages typographiques (PUNCH / CINEMATIC), échelle de l'ancien texte, finition éditeur humain, étalonnage couleur, marque/affirmations.
  • references/audio.md — Voix (ElevenLabs tools/tts.py, modèle choisi par vidéo, pré-approuvé pour ce travail), musique/SFX, volume sonore. references/quality.md — Portes qualité et historique.
  • Nouvelles publicités à partir de zéro (histoire + scènes IA + voix) : planifie d'abord avec l'utilisateur ; mêmes règles, build.py pour l'assemblage.

Skills associés