CarVendors Video Studio v4
与用户用简短、简单的孟加拉语交流。视频中的所有内容均为英国英语。
$CS = 此技能文件夹(Mac:~/.claude/skills/carvendors-studio,Windows:%USERPROFILE%\.claude\skills\carvendors-studio)。
$PY = 技能的 Python 解释器:Mac ~/.cache/carvendors-studio/venv/bin/python,Windows
%USERPROFILE%\.cache\carvendors-studio\venv\Scripts\python.exe(由安装程序创建;包含 numpy + scipy)。
0. 永不妥协的规则
- 没有捏造的事实。 价格、里程数、发动机、年份、“新车到店”、“已售出”、金融、经济性、车牌必须有证据。旧的 TikTok 文字和评论不是证据。
- 真实即真实。 仅使用真实素材和真实展厅照片;不得使用 AI 生成的汽车、人物、展厅、标志。
- 品牌: CarVendors.co.uk 是主品牌;“特色经销商:B&F Cars”是次要的。CarVendors 帮助人们查找/联系汽车;它不销售汽车。两者都是我们的公司。
- 完整视频,长度均衡: 按顺序保留整个源视频(无场景剪切)。添加一个钩子和一个片尾。总长度 ≈ 源视频 + 3-7 秒。仅修剪黑色/冻结/重复帧。
- 设计上追求低成本: 使用快速通道(
batch.py+build.py)。不要手写合成 HTML,不要重新分析钩子(共享目录已有),每个视频只看一张联系表。仅在受阻时提问。 - 切勿打印或复制 API 密钥(
~/.config/video-studio/.env)。切勿覆盖导出文件(_v2、_v3……)。 - 不确定某物位置或用户意图 → 检查
$PY $CS/tools/paths.py show和 CarVendors Drive 文件夹(paths.py get carvendors— 它包含所有上下文:源文件、徽标、展厅照片、横幅、客户评价、文本样式预览),然后提出 一个 简短问题。
1. 文件位置(自动,Mac + Windows)
$PY $CS/tools/paths.py show 查找本机的 Google Drive“我的云端硬盘”并读取团队配置
My Drive/Projects/CarVendors/_studio/config.json(路径相对于“我的云端硬盘”+团队默认值)。Drive 运行时无需设置。单机覆盖:paths.py set <key> <path> / paths.py drive <My Drive path>。
键:car_sources(文件夹 1-200,包含 video.mp4、comments.txt,有时有 Voice/)、hooks、bgm、sfx、
fonts、logos、showroom_pics、text_refs、outros、exports(已完成的上传视频)、studio
(共享目录 + 台账)、projects_root(本地作业文件夹,~/Projects/videos)。
2. 批量循环(默认)
$PY $CS/tools/batch.py plan 1-20 # 作业目录 ~/Projects/videos/bnf-vNNN + 草稿 job.json + 联系表 + 文本框
→ 对于每个视频:查看 work/qa/contact.jpg,编辑 job.json(§3),设置 "ready": true
$PY $CS/tools/batch.py render 1-20 # 构建并渲染每个就绪的作业,导出到 Drive,写入钩子台账
$PY $CS/tools/batch.py status 1-200
手动处理一个视频:$PY $CS/tools/build.py <job.json>(仅检查)→ 可选
npx hyperframes snapshot <job>/work/hf --at <t> → build.py <job.json> --render。
按 10-20 个批次工作;在每个批次之后,先查看帧表(output/*_frames.jpg),再进行下一个批次。
3. 每个视频需决定的内容(唯一的 AI 工作)
根据联系表 + job.json 中的 source_info + text_hint:
- slug:简短的车型名称,例如
mitsubishi-asx。 - 文本外观:严格遵循
references/text-style.md(text_refs中的预览图像):白色 Montserrat Black 文本,一个强调色 = 品牌红色#E8202A药丸/标签,白色卡片配炭灰色文本,绿色仅用于小点/勾选标记,徽标清晰居中顶部。切勿在素材上使用炭灰/黑色框、药丸或徽章。 - 旧文本(每个
text_hint框,src= 源像素坐标,canvas= 1080x1920 px),最廉价的优选选项: 保留(无害、可读、符合品牌,例如简单的车型名称)→ 覆盖 使用covers[](text-cover,样式为card= 白色卡片 + 红色踢脚标签,位于canvas坐标上,始终带一行文字,例如踢脚“特色” + “在 B&F Cars 发现”)当它显示价格、“TikTok”、其他商家、无礼或未经证实的声明时 → 移除(remove[]=src框,修复)仅当覆盖会遮挡汽车时。切勿使用空的覆盖。 - 叠加层(0-3 个,仅在关键节拍处,切勿覆盖汽车的脸部/徽标/车轮):在第一个镜头上使用
label-card· 在细节或内部镜头上使用punch-text(“标志性 Abarth / [风格]”、“完美适合 / [城市驾驶]”、“运动 / [内饰]”)· 当天空空旷时使用hero-model(大号“ABARTH / 595”)· 在特写镜头上使用detail-line“细节 / 之中。”。药丸始终为品牌红色。在白色云朵/明亮挡风玻璃上:移动文本或将lineBg设置为 0.35-0.5(柔和发光,无框)。时间以秒为单位,从主视频开始算起。 - 钩子:保留
"auto"(使用最少,在最近 N 次编辑中未使用)。"car_hook": true用于 Car Hooks 文件夹。命名钩子:{"file": "Car Hooks/Car Flip.mp4", "in": 0, "out": 3.2}— 整个动作,仅剪切效果之后的死时间。transition:cut(默认)·whip·flash·zoom— 恰好一个。 - 语音:仅当
ready_voiceover存在且用户需要时才使用;先转录并检查事实。 其他所有内容(徽标徽章、音乐、片尾、色调)来自团队默认值;仅在有理由时覆盖。
完整字段列表:tools/build.py 的文档字符串。示例:examples/job-v002.json。
4. 共享钩子、片尾、音乐(每台 PC 通过 Drive 通用)
$PY $CS/tools/hooks.py list|stats|pick <id>|sheet <name>|scan— 所有钩子的目录(长度、动作峰值、建议的入/出点、预览条)以及来自_studio/ledger/*.json的使用计数。添加钩子后运行scan。- 片尾:将团队片尾视频放入
outros文件夹,并在_studio/config.json中设置defaults.outro_video;每个新构建都会使用它。在此之前:使用真实展厅照片片尾(defaults.outro_photo)。 - 音乐:配置中的
defaults.music列表(库曲目,许可证已检查,帖子中的信用行)。 徽标:defaults.logo(logo-badge,clean样式,居中顶部 — 参考外观)。
5. 在视频完成之前
build.py 报告 hyperframes check — 必须报告“检查通过”(通过位置或 lineBg 修复对比度)。查看帧表:旧文本已移除或覆盖,汽车上无文本,徽标可读,钩子 → 主视频剪切干净。用孟加拉语报告:输出路径、使用的钩子、覆盖/移除的内容、任何阻碍。当被要求时,提供英国英语的帖子文案(对于 NCS 曲目,包括音乐信用行)。
6. 仅在需要时阅读更多
references/text-style.md— THE 文本外观(调色板、字体、七个元素、位置)。在叠加之前阅读。references/components.md— 每个组件的变量(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— 完整设计系统、颜色、字体预设(PUNCH / CINEMATIC)、旧文本阶梯、 人工编辑修饰、色彩分级、品牌/声明。references/audio.md— 语音(ElevenLabstools/tts.py,每个视频选择的模型,已预先批准用于此工作)、 音乐/SFX、响度。references/quality.md— 质量门和历史。- 从头开始的新广告(故事 + AI 场景 + 语音):先与用户规划;相同规则,使用
build.py进行组装。