广告品牌重塑 (Ad Rebrand) 是做什么的?
将一批现有广告转换为新品牌:每个口头提及都用原始说话者的克隆人声重新配音,每条字幕都用视频原字体重新排版,每个屏幕内的 Logo/标签/标牌都重新贴标或干净地抹除——广告的其他部分(相同帧、节奏、背景音乐)保持不变。
使用子Agent进行并行化(Agent 工具,run_in_background: true,一条消息即可启动所有独立 Agent)。提示模板:references/agent-prompts.md。开始前请阅读 references/lessons.md——它记录了上次出错的地方。
首先要确认的输入
- 旧名称(产品和品牌)与新名称——以及 Whisper 可能听错旧名称的方式(例如 "physio rest"、"artivate")。
- 文件(视频、图片)。在一个用户可保留的项目文件夹中工作(例如 ~/Downloads/<品牌> 视频编辑);切勿编辑原始文件。
工作流程
-
设置。
scripts/setup_jobs.sh PROJECT START_N video1 video2 …→job-NN/{assets/source.mp4,analysis,project,renders}。将图片复制到PROJECT/images/source/。运行环境:通过 Homebrew 安装的 ffmpeg/whisper-cli,Python 虚拟环境~/.cache/video-studio-venv(numpy、opencv-contrib、pillow、soundfile、demucs、torch;pyworld 用于歌唱词汇),Whisper 模型~/.cache/whisper/ggml-small.en.bin。如果缺少则安装(Homebrew 需要在终端标签页中输入用户密码)。 -
分类(并行,每个视频一个Agent)。模板§1。每个Agent写入
analysis/triage.json|md,包含精细化的语音片段、说话者 + 干净的克隆参考范围、每个视觉/字幕出现位置及其帧范围,以及异常情况。自行检查图片(以全分辨率放大标签/标牌查看)——许多图片可能不需要修改。 -
汇总并询问一次(AskUserQuestion):
- 语音使用权:列出每个必须克隆的不同声音(将共享旁白的视频分组——比较人声主干的包络线;比较中位基频以区分说话者)。每个声音的克隆需要用户明确同意。
- 任何并非旧品牌但看起来有问题的内容:产品上的其他品牌标识、零售/代言场景(店员、商店Logo)、不一致的声明、因更名导致的脚本冗余。第三方水印:标记出来,切勿移除。
- 歌唱提及:解释需要重新调音,并需要人工监听。
-
立即启动视觉团队(模板§2)——它不依赖语音。将同一编辑版本的视频分组到一个Agent中。图片Agent:模板§5。
-
语音。从每个任务的人声主干中导出克隆参考(25–35秒,不含品牌名称)到
PROJECT/voice_refs/。优先使用 Fish API(examples/voice-splice/fish_tts_api.py,密钥位于~/.config/video-studio/.env),如果 API 有额度;否则在用户 Chrome 浏览器的 Fish Web 应用中创建私有克隆——references/fish-audio-web.md。在一个脚本中生成每个声音的所有台词,两个版本,保存到voice_refs/takes/。 -
音频团队(并行,每个声音/任务组一个Agent)。语音使用模板§3,歌唱词汇使用模板§4。输出:每个任务的
analysis/stems/vocals_nookwave.wav,通过转写验证。 -
一旦某个任务的画面和语音都就绪,立即组装:
scripts/mux_final.py JOB OUT_NAME.mp4(重塑后的画面 + 新语音 + 原始背景音乐主干)。如果视觉Agent交回的结果未完成,自行运行其project/rebrand_job.py。 -
亲自QC每个最终文件——Agent的报告只是声明,不是证据:
scripts/check_final.py source.mp4 final.mp4 --old "physio|fisio|artuvate|artivate" --new "nook" --frames <每个修改项一帧>→ 帧数匹配、干净的解码、与源文件的响度对比、零个口头旧名称,以及一个你必须查看的源|最终对照表。如果总数看起来不对,在每次提及前后各取5秒窗口进行局部转写(全文件Whisper会合并句子)。对于歌唱台词,预期Whisper在原始音频上也会识别困难。 -
交付。最终文件放在项目根目录,使用描述性名称,如果要求则打包成一个zip文件(
zip -0,视频已经过压缩),并附上一份摘要:每个文件更改了哪些内容、哪些需要人工监听(歌唱词汇、更短名称后的停顿时长)、已知存在缺陷的帧,以及标记的非品牌问题。
可选:增强版剪辑
对于在品牌重塑基础上提出“使其更具吸引力”请求的情况,examples/engagement-edit/ 包含了计划构建器(基于句子级别的保留列表,对齐到安静点、标注、拉近镜头)和渲染器(跳切时缩放交替、品牌化标注、进度条、合成音效、剪切处字幕保持修正、响度标准化至 −14 LUFS)。建议复用而非重写。
捆绑文件
scripts/setup_jobs.sh、scripts/mux_final.py、scripts/check_final.py——通用脚本。examples/——可工作的、针对第一次运行的任务特定代码(路径和帧号已硬编码;需适配,不要盲目运行):caption-and-tag-library/——字幕重绘、旋转皮革标签、曲面铭牌、袋子擦除、多尺度追踪(rebrand_job01.py);字形剪裁字幕、蚀刻/压印标签、追踪袋子重印(caption_lib.py、text_lib.py、track_lib.py、rebrand_job05.py)。web-and-sign-library/——自字形字幕(captions.py)、建筑标牌面板、网页内容重排、标签按压、手控翻滚袋子(rbk.py、rebrand_job02.py)、笔记本电脑屏幕页面(rebrand_job06_laptop.py)、评价页面滚动、片尾卡Logo、第三方压印移除(rebrand_job07.py)、QC检查表(visual_qc.py)。voice-splice/——基于测量时长的词语替换,支持替换版本覆盖;Fish API客户端。sung-word/——基于WORLD声码器的重新演唱,保持原始旋律。still-image/——对包装进行单应性文字替换。