关于 vox-explainer
Advibly Vox Explainer 是一项技能,可将品牌角度转化为配音纸艺拼贴风格的解释型广告。它指导从确认分镜到生成图像、视频并合成为成片的流程,同时让产品照片保持真实质感。
主要功能
- 01规划叙事结构与镜头节拍
- 02生成拼贴海报图像
- 03为分层海报作品添加动画
- 04保持产品照片的真实质感
- 05生成配音与音乐
- 06合成片段、旁白和音乐
适用场景
- 01制作简短的产品说明广告
- 02将品牌主张转化为配音短片
- 03制作带真实产品照片的拼贴风格画面
MCP 相关
该工作流使用 Advibly MCP 工具生成图像、视频、配音和音乐,并处理素材及最终合成。使用前通过工具搜索加载对应的工具定义。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ advibly/ skills --skill vox-explainer安装后在 Claude Code 中输入/vox-explainer确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/beat-layer.mdmodels-and-gotchas.mdmotion-collage.mdprompt-guide.md详细介绍
Advibly Vox 解说广告
将一个品牌角度变成完整的 Vox 风格剪纸拼贴解说广告:一支大胆有力、带旁白的短片,每个节拍都是一张活起来的撕纸拼贴海报,每 4 到 6 秒切换一次,真实产品照片以照片级写实效果融入纸艺世界。一切都在 Advibly MCP 上生成并组装。
这种风格是 Vox 解说视频以及 Stav Zilber 和 rom1trs 等创作者推广的现代编辑风格纸艺拼贴:手工剪裁的纸片、撕裂边缘、胶带、半色调圆点、报纸剪贴、每个节拍使用鲜明的纯色,以及融入图像的大型剪纸标题。
使用用户的语言。输出中绝不使用破折号;请改用句号或换行。 除非用户另有要求,否则标签和屏幕文案不得包含表情符号。
核心理念(请先阅读)
拼贴的视觉效果和拼贴的动态效果是两个不同的步骤:
- 视觉效果在图像步骤中诞生。 每个镜头都是由图像模型制作完成的一张拼贴海报。所有拼贴特征(撕纸、剪纸、半色调效果、鲜明的纯色、标题文字)都存在于图像中。如果海报不是层次丰富的拼贴,后续步骤就无法补救。宁可在这里低成本地重新生成,也不要为动画化一张效果欠佳的图像买单。
- 动态效果在之后添加。 视频模型将整张海报制作成“动态拼贴”:各层产生视差,元素上下浮动并散开,边缘轻轻摆动。海报的分层越清晰(剪纸轮廓分明、边缘可见、自带投影),视频模型就越能制作出层次丰富的动态效果。扁平融合的图像只能作为一个平面平移。
- Advibly 的独特之处:产品保持照片级写实。 画面中的所有内容都是印刷纸张,唯独真实产品照片除外,它会以未经改动的状态合成进去。真实产品置身手工艺世界,才能让它像一则广告。这是唯一绝不能做风格化处理的元素。
所有内容都由两个层面驱动,各自都有对应的参考文件。在编写节拍图或任何提示词之前,请先阅读这两份文件:
- 故事层:
references/beat-layer.md。叙事弧线、钩子模式、节拍数量、镜头景别、镜头运动、元素动态以及避免单调的规则。 - 视觉层:
references/prompt-guide.md。图像和视频提示词结构、用于填充提示词的词汇库,以及主题预设。
严格默认设置(不得偏离)
- 图像模型: 使用
advibly_generate_image,参数为model: "nano-banana-2"、resolution: "2K"。 Vox 的整体质感全靠纸张颗粒感,而 nano-banana-2 最能保留这种颗粒感,同时还能清晰渲染烘焙在图像中的标题文字,并将产品照片作为参考。它是默认选择。若某张海报的标题持续失真(它最擅长处理密集的烘焙文字),或产品参考图编辑与拼贴效果冲突,则改用备用方案gpt-image-2(quality: "high");文字排版密集的海报则可选seedream-5-pro。第三阶段的对比测试会通过目测选出胜者,整支广告都由该模型生成。如果生成结果呈现出数字化的平滑塑料质感,说明模型抹平了纸张质感:先用 nano-banana-2 重新生成,再考虑修改提示词。同一支广告中绝不混用图像模型。 - 视频模型: 使用
advibly_generate_video,参数为model: "gemini-omni-flash"。Omni Flash 支持 4 到 10 秒时长(符合每个镜头 4 到 6 秒的节奏),最能稳定保留烘焙文字,并能为平面美术作品生成最佳的分层视差效果。它仅支持 9:16 和 16:9,没有结束帧,且提示词必须只用正向描述。若需要通过end_image_url精确落在揭示画面、使用 1:1 或其他非竖版/横版比例,或镜头时长超过 10 秒,则改用备用方案seedance-2.0(mode: "fast",支持任意 4 到 15 秒时长和所有宽高比)。若广告中包含真人或第三方品牌 Logo,则改用kling-v3(3 到 15 秒,支持原生音频):Omni Flash 和 Seedance 会在内容过滤层面屏蔽可识别的名人和商标。每支交付的广告只使用一种视频模型。 - 片段中的音频仅限音效,不得包含口语。 使用纸张拟音(撕裂、沙沙声、呼啸声、落定的闷响)和轻柔的室内环境音。在每条动态提示词中明确禁止旁白、对话和歌词:第七阶段会将配音混入音轨,片段中的任何语音都会与其冲突。
- 配音和音乐在平台内生成。
advibly_generate_voiceover为脚本配音(xAI TTS:可选声音 eve / ara / rex / sal / leo,支持 20 多种语言,每 1000 个字符约需 0.03 个额度);advibly_generate_music生成伴奏(MiniMax Music 2.6,每首曲目需 0.3 个额度)。第七阶段通过一次免费的advibly_render_composition调用,将配音、静态音乐伴奏和轻柔的片段音效合成为一体。 - 忠实呈现主题,不要重染品牌色: 每次生成都传入
on_brand: false。主题调色板是重点;品牌套件素材板会改变主题的颜色。每次调用仍必须提供brand_id,运行时的project_id也必须在每次调用中提供(两者会将作品归入用户素材库中的同一个项目卡片);但on_brand为 false 时,两者都不会影响输出风格。品牌元素应通过真实产品照片、标题文案和一种点缀色体现,绝不能通过盖章式 Logo 体现。 - 不要使用文字叠加工具。 每个标题都必须在生成图像时直接烘焙进去。如果标题失真,可使用
num_images重新生成(最多 4 张)、缩短文字,或为那张海报尝试seedream-5-pro。绝不要计划事后叠加文字。 - 格式: 开始前指定 9:16 竖版或 16:9 横版(如有要求,Seedance 和 Kling 也支持 1:1)。所有镜头必须保持相同的宽高比。
- 提示词最长为 2000 个字符,适用于这两种生成工具。风格描述和场景描述必须控制在此限额内;精简词汇,不要删减分层描述。
- 工具需延迟加载。 每次会话首次调用前,先通过工具搜索加载准确的 Advibly 工具架构(搜索 "advibly generate image"、"advibly generate video"、"advibly generate voiceover"、"advibly generate music"、"advibly stitch videos"、"advibly get products"、"advibly upload asset"、"advibly add subtitles"、"advibly create project"、"advibly update project")。请根据加载的架构确认参数名称和支持的时长,不要想当然。
Advibly 素材工作流(请牢记)
advibly_generate_image 返回的图像会带有一个公开的 url,可直接传给下一次调用中的
start_image_url 或 reference_image_urls。无需重新上传。如果调用返回
status: pending,媒体仍会在聊天中渲染;只有在后续步骤需要已完成的 URL 时,才调用 advibly_get_generation
(wait: true)(如果关键帧要用于生成动态效果,则始终需要这样做)。
导入用户拥有的文件:使用 advibly_upload_asset,提供 source_url(公开链接)或
data_base64(较小的本地文件),以及 brand_id。返回的 url 可重复使用。
整支广告中始终使用的唯一参考素材是产品照片:
- 店铺品牌(
brand_type: "ecom_store"):调用advibly_get_products,与用户一起挑选产品,并记下其图片 URL。其他品牌:从advibly_get_assets获取产品照片,或上传一张。每张展示产品的海报都要在reference_image_urls中传入此 URL,并将其描述为 “真实产品照片,保持原样且具有照片级真实感,合成到拼贴画中”。不要将product_id传给生成工具:用于图像调用时,它会强制进入基于原始照片的编辑模式,与拼贴画创作相冲突;用于视频调用时,它会替换起始帧。 - 揭晓产品之前的镜头和不展示产品的镜头,不要添加产品参考图。 尚不应展示产品的开场海报或问题海报不得携带产品照片参考,否则模型可能会提前泄露产品。
徽标:默认保持画面角落干净。 不要添加角落徽标贴片,也不要将徽标传入 reference_image_urls(这会让模型生成水印)。保持风格一致应依靠统一主题:相同的风格描述、配色变化和字体处理。如果用户明确要求加入品牌标志,只在他们指定的镜头中放置,通常是收尾镜头,而不是每个镜头都放。
阶段 1:收集信息
只需一条消息,只询问尚缺的信息:
- 品牌:调用
advibly_list_brands。只有一个品牌:直接使用。多个:询问用户。没有:引导用户前往 advibly.com/onboarding(此技能会读取品牌,但无法创建品牌)。 - 产品:要展示的产品及其照片 URL(参见上面的素材工作流)。纯品牌故事解说视频可以不展示主打产品;跳过照片和产品揭晓镜头。
- 格式:9:16 或 16:9(询问用户;不设默认值)。
- 核心主张:这支广告要表达什么观点(例如“肌酸并非都一样”“让发票自动追款”)。如果没有角度,就根据品牌简介提出 2 或 3 个选项,让用户挑选。
- 时长:默认约 32 秒(6 到 8 个镜头)。上限为 60 秒:拼接器最多处理 12 个片段,也就是 12 个镜头,每个约 5 秒。
确定品牌后,使用 advibly_create_project 创建本次运行的项目(传入 brand_id,并采用类似“Acme Vox 解说视频”这样体现交付内容的名称),然后在流水线的每次生成调用中都传入返回的 project_id(包括筛选海报、关键帧、片段、配音、音乐和最终合成),确保本次运行作为一个条目保存在用户的素材库中。如果用户要继续之前的运行,请使用 advibly_list_projects 查找其项目,不要重复创建。
阶段 2:节拍图(唯一必须通过的审批关卡)
先阅读 references/beat-layer.md。选择适合该主张的叙事弧线(广告用 pas/bab/aida,产品说明用 how_it_works,历史主题用 timeline,纠正错误观念用 myth_buster,转变主题用 man_in_hole)。然后起草完整的节拍图,并在生成任何内容之前提交审批。
让节拍图更出色的规则(详情和词汇见参考文档):
- 节拍 1 是一个能在 3 秒内抓住注意力的钩子,标题要承载所承诺的收益。绝不要把节拍 1 用于铺垫。选择一种钩子模式(
surprising_stat、mistake_callout等)。 - 每个节拍包含 2 个镜头:先是带标题的宽景建立画面海报,然后是没有标题的细节切入镜头。旁白横跨两个镜头;画面在句子中途切换。每个镜头时长为 4 到 6 秒,绝不超过 7 秒。
- 产品广告要把产品揭晓节拍放在叙事弧线转折处(
pas中的 Solve,bab中的 Bridge):真实照片伴随爆发效果、汇聚箭头或光晕出现。 - 镜头运动要多样化:相邻节拍不能使用相同的运动方式;
static仅用于收益呈现节拍。每个镜头的element_motion都要根据场景重新撰写,内容丰富,包含多个运动元素。 - **所有旁白台词组合起来就是广告脚本。**将它们写成一段连贯、有说服力的内容;每个节拍内的语速约为每秒 2.5 到 3 个词。
将节拍图以 JSON 格式交付,方便用户逐字段编辑:
{
"project": "acme-creatine-vox",
"topic": "not all creatine is equal",
"brand_id": "<id>", "product": "Acme Creatine", "product_photo_url": "<url>",
"aspect": "9:16", "language": "en",
"arc": "pas", "theme": "<set in Phase 3>", "image_model": "<set in Phase 3, nano-banana-2 default>",
"video_model": "gemini-omni-flash", "motion_style": "punchy", "constraints": "strict",
"voice": "leo", "music": "driving cinematic percussion build, warm resolve, modern ad underscore",
"beats": [
{
"id": 1, "role": "hook", "title": "NOT ALL EQUAL",
"bg": "bold red", "feel": "urgent, confrontational", "hook": "mistake_callout",
"product": false,
"narration": "Most creatine on that shelf is not what the label says it is.",
"shots": [
{"id": "a", "dur": 5, "title": true, "shot_size": "WIDE", "camera_move": "push_in",
"scene": "a wall of near-identical grey paper supplement pouches, one torn-open gap in the grid, question-mark scraps",
"element_motion": "the grid of pouches shivers in place, one pouch peels off the wall and tumbles, halftone dots pulse"},
{"id": "b", "dur": 4, "title": false, "shot_size": "CLOSE", "camera_move": "parallax",
"scene": "close cut-in of one grey pouch with a magnifying glass cut-out over its label, torn newspaper scraps behind",
"element_motion": "the magnifying glass slides across the label, scraps drift at different depths"}
]
}
]
}
每个节拍中的 product: true 用于标记哪些海报要合成真实照片。voice 用于选择旁白者(eve:活力十足/ara:温暖/rex:自信/sal:流畅/leo:权威),music 用于描述配乐;二者都将在阶段 7 生成。询问:“批准这份节拍图,还是要编辑任何字段?”只有得到肯定答复后才能继续。
阶段 3:主题 + 模型(用户凭视觉选择)
不要让所有品牌都套用同一种固定风格。阅读 references/prompt-guide.md §5,并选择3 或 4 个主题预设,使其符合主张的时代、文化和语气(american-retro、swiss-modern、punk-zine、soviet-constructivist、wpa-propaganda、70s-groovy、chinese-ink、atomic-age、paper-craft-cream);如果都不合适,则从各维度选项库中组合自定义主题。要匹配主题和品牌,而不是语言。
然后进行对比测试:针对每个候选主题,分别生成一张节拍 1 的宽景海报(调用 advibly_generate_image 3 或 4 次,每次生成一张图片,使用 model: "nano-banana-2"、on_brand: false),让用户凭视觉选择。AI 提出方案,预设库保障最低质量,人来做决定。
**对比测试也会确定图像模型。**默认使用 nano-banana-2,因为它能保留纸张纹理;如果获胜海报的标题效果较弱,或主题以文字为主,则用 gpt-image-2(或 seedream-5-pro)重新渲染该主题,并排展示,让用户比较纹理与文字效果。锁定胜出的模型,并将其用于每张海报(参见 models-and-gotchas.md)。
如果用户想节省费用,可以描述候选方案并让用户从表格中选择,但要说明对比测试能更好地展示效果。在节拍图中将获胜方案设为 "theme"(并设置所选的 "image_model");从此之后,每条提示词都由其风格配置、调色板、字体和运动幅度决定。
阶段 4:关键帧(拼贴风格)
每个镜头一张海报,按节拍顺序排列。按照 references/prompt-guide.md §1 中的 5 部分结构编写每条提示词:风格区块(每张海报保持一致)、由独立剪贴片段组成的场景、单一醒目的纯色背景、仅在 "title": true 的镜头中嵌入标题,以及画幅和分辨率。
advibly_generate_image
prompt: <5-part collage prompt>
brand_id: <brand id>
project_id: <project id>
model: <the bake-off winner, "nano-banana-2" by default>
resolution: "2K" # add quality: "high" only if the model is gpt-image-2
on_brand: false
aspect_ratio: <9:16 or 16:9>
reference_image_urls: [<product photo URL>] # only on beats with "product": true
- 动画制作前,确认每张海报都是真正的分层拼贴:片段彼此独立、撕裂边缘清晰可见、投影明显、标题清晰利落。此时重新生成;与视频片段相比,图像成本很低。
- 产品海报:使用照片参考,并加上“保持原样且具有照片级真实感”的措辞。检查产品是否被重新绘制成纸张;这是最常见的问题。
- 每张海报的风格区块都必须逐字一致;只改变场景、背景色和标题。这能让 12 个镜头像同一部影片。
- 展示整组海报,询问“保留还是修改?”,只重新生成不满意的部分。
阶段 5:动态效果(灵动拼贴)
使用 references/prompt-guide.md §2 中的 5 轴运动提示词为每张获批海报添加动画:目标、镜头(节拍图中的 camera_move,每次只用一种运镜)、元素运动(使用节拍图中的 element_motion,写得丰富)、保持美学风格、氛围与色彩,最后加入稳定性约束。
advibly_generate_video
prompt: <5-axis motion prompt, SFX-only audio direction, no spoken words>
brand_id: <brand id>
project_id: <project id>
model: "gemini-omni-flash"
aspect_ratio: <9:16 or 16:9>
duration: <the shot's dur, 4 to 10>
start_image_url: <that shot's poster URL>
- 节拍图中的
constraints: "strict"表示每条提示词都保留缺陷防护要求(扁平 2D、单一连续运镜、不变形、文字固定)。"loose"则表示在适合大胆运镜(环绕、希区柯克变焦、甩镜)的节拍中移除这些要求;预计需要重新生成。 - Omni Flash 只接受正向措辞:将每个“不要做 X”改写为正向表述(“镜头保持锁定”“字样与印刷内容完全一致”)。参见提示词指南 §2。
- 戏剧性效果靠的是运动提示词,而非单独的引擎。 片段从空白画面组装而成、彩纸和纸片散落、撞击震动、甩镜:都可以通过强化元素运动描述,并使用适合模型的措辞来实现。配方和措辞库见
references/motion-collage.md。只用于适合增强冲击力的节拍(钩子、产品亮相、高潮、结尾),不要每个镜头都用。 - 精准定格揭晓画面和从空白画面组装成片: 如果某个节拍必须以精准的揭晓画面结束,或你想要真正从空白画面逐步构建出完整海报,就需要使用
end_image_url,而这只有 Seedance 支持;此时请用seedance-2.0(mode: "fast")制作整支广告,并在整支广告中使用同一个模型。参见motion-collage.md§1。 - 每条提示词都要说明音频方向:仅纸张拟音,无旁白、无口语、无歌词音乐。
- 展示每个视频片段:选择保留、重新编辑(海报不变,只调整运动提示词)或重新生成。
阶段 6:配音 + 音乐 + 最终合成
- 配音。 将各节拍的旁白句子合并成一段连贯的文案并生成:
如果朗读时长超过场景总时长,就精简文案并重新生成;切勿拉伸时长。advibly_generate_voiceover brand_id: <brand id> project_id: <project id> text: <the full narration, beats joined in order; use [pause] between beats when a beat's line lands short of its window> voice: <the beat map's voice: eve / ara / rex / sal / leo> language: <only when auto-detection would get it wrong> - 音乐。 根据节拍图中的
music描述生成背景音乐:
音轨可以比广告更长;合成时会自动裁剪并淡出结尾。保持纯音乐:歌词会干扰旁白。advibly_generate_music brand_id: <brand id> project_id: <project id> prompt: <the beat map's music description + tempo + "modern ad underscore"> instrumental: true - 仅合成一次。 调用
advibly_render_composition,将排序后的片段作为scenes(每个片段的volume: 0.3),将voiceovers: [{source: <VO generation id>}]、音乐生成结果作为music、 所选的aspect_ratio、本次运行的project_id,以及keep_scene_audio: true传入。默认的静态音乐音量已 适配旁白。该工具会返回status: pending、generation_id和edit_url; 让聊天小组件轮询渲染状态。 - 字幕(可选,仅在合成后添加)。 仅在此处使用
advibly_get_generation并设置wait: true以获取已完成的渲染结果,然后调用advibly_add_subtitles并使用动态预设 (glide、fusion、glass)。切勿为纯 SFX 片段添加字幕:没有内容需要转录。将品牌词添加到vocabulary,以确保转录器正确拼写。 - 交付结果,并告知用户
edit_url,方便他们在 Advibly 视频编辑器中微调广告。 - 设置项目封面。 调用
advibly_update_project,传入{ project_id, cover_generation_id: <the final composition's generation id> },让项目卡片展示 完成的广告。
阶段 8:可选发布
如果用户想要发布:先调用 advibly_social_list_accounts,然后调用 advibly_social_create_post
并附上最终视频。只有在用户看过完成的广告后才提供此选项。
备注与规则
- 开始任何生成前,必须先批准节拍图。 故事才是产品;拼贴画负责呈现故事。
- 真实产品必须保持照片级写实;其他内容都使用印刷纸张质感。 在产品节拍中传入照片 参考,在揭晓前的节拍中禁止使用它,并且每次都要用文字注明“保持不变且照片级写实”。
- 每 4 到 6 秒切换一次镜头。 每个节拍两个镜头,一个广角镜头加一个细节镜头,旁白贯穿 两个镜头。每个节拍都用一张静态长海报会显得沉闷。
- 相邻节拍不能使用相同的镜头运动;
static是高潮效果。 除海报本身外,避免单调是最重要的质量提升手段。 - 画面动感来自元素的运动。 为每个镜头描述丰富的运动,让多个元素动起来。英雄元素飞越画面是偶尔制造冲击的手法,不应成为固定套路。
- 每支交付的广告只使用一个图像模型和一个视频模型。 要么整体替换,要么不替换。 Omni Flash 是默认的运动模型;只有在需要尾帧揭晓、非 9:16/16:9 宽高比或超过 10 秒的镜头时,才将广告改用 Seedance;真人镜头则使用 Kling。
- 仅含 SFX 的片段。 配音和音乐在阶段 7 生成并混入;切勿让片段开口说话。
- 始终设置
on_brand: false、brand_id和project_id;默认不添加 Logo 水印。 - 提示词必须自成一体。 生成器不会记得之前的调用;每条图像提示词都必须原样包含风格说明。
- 失败时:
content_rejected表示提示词被策略拦截;请改写措辞。如果触发原因是真人或第三方标记,则将广告改用kling-v3。insufficient_credits:调用advibly_buy_credits并分享结账链接。揭晓效果始终不理想时,将该节拍改用 Seedance 的起始帧加结束帧方案。 - 起草任何文案、标签或旁白时,不要使用破折号,尽量少用表情符号。
参考文件
references/beat-layer.md:STORY 层。叙事弧库、钩子模式、各时长对应的节拍数、镜头景别、适合平面画面的运镜词汇、元素运动,以及避免单调的运镜节奏预设。编写任何节拍图前都要阅读。references/prompt-guide.md:LOOK 层。图像提示词的 5 部分结构、维度词汇库、带稳定性锚点的 5 轴视频提示词、高级运动词汇,以及主题预设和对比评测流程。编写任何提示词前都要阅读。references/motion-collage.md:戏剧化效果(元素从空白画面中组装、主体横穿画面、彩纸和散落效果、冲击抖动、鞭甩),以及图像模型去背景的配方,全部通过 MCP 完成,无需本地脚本。需要比动态海报效果更有冲击力的表现前要阅读。references/models-and-gotchas.md:图像和视频模型选择、内容屏蔽、正向措辞规则、素材工作流,以及最终合成规范(静态低音量背景音乐、尾部保护、旁白超时修复、鞭甩镜头组接)。调试效果不佳的渲染结果或音频混音前要阅读。